Skip to content

TODOs: Basic RUM services

ceckoslab edited this page Jan 11, 2021 · 16 revisions

DataFetcher

Readme

  • Explain input data format
  • Explain output data

Data Flavors

  • Add Factory
  • DataRows
  • Histogram
  • Count
  • LandingPageHistogram
  • Percentile
  • BounceRateInMetric
  • Min
  • Max
  • LandingPagePercentile
  • SingleColumnArray

Conditions

Classes:

  • Add Factory
  • Between
  • Contain
  • Equal
  • GreaterThanOrEqual
  • GreaterThan
  • LessThanOrEqual
  • LessThan
  • NoEqual
  • In
  • Not In
  • BeginWith
  • EndsOn
  • Regex

Features

  • Hash prefixes for Condition fields and parameters. As we are using prepared statements we are utilizing kind of named parameters in Doctrine query builder. We are going to have collisions if we use same condition type more than once. We can prefix each condition named param by adding an object hash in condition name.
  • AND, OR rules groups for filters.

Filters

  • Limit Filter
  • Primary / Flat Table Filter
  • Linked filters
  • Linked filters - Cover cases when a linked filer returns empty result and but we have to combine the result with IN for the main table
  • Linked filters - Think about cases with NOT IN and empty result ... probably do not add the NOT IN part for the main table

Conventions

  • Think about a naming convention for the linked filter tables

Cleanup

  • Delete old references to DataLayer code

Input Validation

???

DataImporter

ClickHouse oriented setup!

One big flat table with bunch of time series fields and Low Cardinality fields derived device information from UA string.

Device information:

  • Browser Name
  • Browser Version
  • Device Type (desktop, mobile ...)
  • Manufacturer
  • OS name
  • OS version
  • ??? User Agent ???

Schema

??? Add Schema "module" that could be used by DataImporter and DataFetcher


Clone this wiki locally