Module: Gitlab::Usage::Metrics::Aggregates

Defined in:
lib/gitlab/usage/metrics/aggregates.rb,
lib/gitlab/usage/metrics/aggregates/sources.rb,
lib/gitlab/usage/metrics/aggregates/aggregate.rb,
lib/gitlab/usage/metrics/aggregates/sources/redis_hll.rb,
lib/gitlab/usage/metrics/aggregates/sources/postgres_hll.rb,
lib/gitlab/usage/metrics/aggregates/sources/calculations/intersection.rb

Defined Under Namespace

Modules: Sources Classes: Aggregate

Constant Summary collapse

UNION_OF_AGGREGATED_METRICS =
'OR'
INTERSECTION_OF_AGGREGATED_METRICS =
'AND'
ALLOWED_METRICS_AGGREGATIONS =
[UNION_OF_AGGREGATED_METRICS, INTERSECTION_OF_AGGREGATED_METRICS].freeze
AggregatedMetricError =
Class.new(StandardError)
UnknownAggregationOperator =
Class.new(AggregatedMetricError)
UnknownAggregationSource =
Class.new(AggregatedMetricError)
DisallowedAggregationTimeFrame =
Class.new(AggregatedMetricError)
UndefinedEvents =
Class.new(AggregatedMetricError)
DATABASE_SOURCE =
'database'
REDIS_SOURCE =
'redis_hll'
INTERNAL_EVENTS_SOURCE =
'internal_events'
SOURCES =
{
  DATABASE_SOURCE => Sources::PostgresHll,
  REDIS_SOURCE => Sources::RedisHll,
  # Same strategy as RedisHLL, since they are a part of internal events
  # and should get counted together with other RedisHLL-based aggregations
  INTERNAL_EVENTS_SOURCE => Sources::RedisHll
}.freeze