prometheus/rules/fixtures/rules_multiple_dependents_on_base.yaml
Julien Duchesne 8067f27971
RuleConcurrencyController: Add SplitGroupIntoBatches method (#15681)
* `RuleConcurrencyController`: Add `SplitGroupIntoBatches` method
The concurrency implementation can now return a slice of concurrent rule batches
This allows for additional concurrency as opposed to the current interface which is limited by the order in which the rules have been loaded

Also, I removed the `concurrencyController` attribute from the group. That information is duplicated in the opts.RuleConcurrencyController` attribute, leading to some confusing behavior, especially in tests.

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>

* Address PR comments

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>

* Apply suggestions from code review

Co-authored-by: gotjosh <josue.abreu@gmail.com>
Signed-off-by: Julien Duchesne <julienduchesne@live.com>

---------

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>
Signed-off-by: Julien Duchesne <julienduchesne@live.com>
Co-authored-by: gotjosh <josue.abreu@gmail.com>
2025-01-06 18:51:19 +00:00

21 lines
891 B
YAML

groups:
- name: concurrent_dependents
rules:
# 3 dependents on the same base
- record: job:http_requests:rate1m
expr: sum by (job)(rate(http_requests_total[1m]))
- record: job1:http_requests:rate1m
expr: job:http_requests:rate1m{job="job1"}
- record: job2:http_requests:rate1m
expr: job:http_requests:rate1m{job="job2"}
- record: job3:http_requests:rate1m
expr: job:http_requests:rate1m{job="job3"}
# another 3 dependents on the same base
- record: job:http_requests:rate5m
expr: sum by (job)(rate(http_requests_total[5m]))
- record: job1:http_requests:rate5m
expr: job:http_requests:rate5m{job="job1"}
- record: job2:http_requests:rate5m
expr: job:http_requests:rate5m{job="job2"}
- record: job3:http_requests:rate5m
expr: job:http_requests:rate5m{job="job3"}