prometheus/rules
Julien Duchesne 1a27ab29b8
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Rules: Store dependencies instead of boolean (#15689)
* Rules: Store dependencies instead of boolean
To improve https://github.com/prometheus/prometheus/pull/15681 further, we'll need to store the dependencies and dependents of each

Right now, if a rule has both (at least 1) dependents and dependencies, it is not possible to determine the order to run the rules and they must all run sequentially

This PR only changes the dependents and dependencies attributes of rules, it does not implement a new topological sort algorithm

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

* Store a slice of Rule instead

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

* Add `BenchmarkRuleDependencyController_AnalyseRules` for future reference

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

---------

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>
2025-01-06 20:48:38 +00:00
..
fixtures RuleConcurrencyController: Add SplitGroupIntoBatches method (#15681) 2025-01-06 18:51:19 +00:00
alerting.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
alerting_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
group.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
group_test.go rules.NewGroup: Fix when no logger is passed (#15356) 2024-11-21 16:53:06 +01:00
manager.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
manager_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
origin.go Decouple ruler dependency controller from concurrency controller 2024-02-02 10:06:37 +01:00
origin_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
recording.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
recording_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
rule.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00