Skip to content

feat: record a component aggregation set from sli_aggregations

Bob Van Landuyt requested to merge bvl/configurable-recording-rule-registry into master

feat: generate the component aggregation in Mimir

This is the first iteration of generating a component aggregationset in Mimir. This should start populating the operation rates so they would become visible on dashboards.

To achieve this, while keeping the existing implementation in Prometheus and Thanos intact, we allow overriding the recording rule configuration for Mimir. While keeping the defaults in the get-hybrid and the current recording rule configuration. The global default configuration lives in gitlabMetricsConfig.recordingRuleRegistry and we default to the selectiveRegistry.

The selectiveRegistry is the recording rule registry that only adds recording rules for metrics specified in a recordingRuleMetrics stanza on a service.

In mimir-rules-jsonnet/mimir-aggregations.jsonnet, the file responsible for generating recording rules from source metrics into an aggregation set. We specify the new unifiedRegistry.

The unifiedRegistry adds recording rules for all metrics used in SLIs of a service, and it records this per service. This was added in !6711 (merged) and slightly refactored here to make it usable in the same way as the old selectiveRegistry. The recording rules for the selectiveRegistry aren't adjusted in this MR. We're only adding new ones for the component aggregation.

Missing in this MR:

This is part of gitlab-com/gl-infra/scalability#2475 (closed)

feat: add the monitor: 'global' static label to mimir

This is a bit of a hack to have the same label on our aggregations in mimir so we don't need to change the config of our dashboards when we switch datasources.

Edited by Bob Van Landuyt

Merge request reports