mirror of
https://github.com/quickwit-oss/quickwit.git
synced 2026-10-28 18:59:44 +08:00
* ci: track metrics inventory and warn on removed metrics - Generate the metrics inventory as YAML (module -> metric -> kind, description) and commit it in quickwit-metrics-inventory/metrics.yaml. - Build the inventory with --all-features so feature-gated metrics (e.g. PostgreSQL metastore) are included. - Add 'make metrics-inventory' to regenerate the inventory. - Add an advisory CI workflow that diffs the generated inventory against the committed one and warns about metrics removed relative to the base revision. It never fails the build. * ci: fail when the metrics inventory is out of date Make the metrics inventory check blocking: the job fails if the generated inventory differs from the committed one, asks to run 'make metrics-inventory', and lists removed metrics with a reminder to identify their users, assess impact, and communicate the removal. Paths are filtered at the step level so the job always reports a status and can be used as a required check. * ci: classify metrics inventory changes Move the inventory comparison to scripts/check.sh and classify changes: added metrics and description changes only require regenerating the inventory, while removed or renamed metrics, label changes, and type changes are listed as requiring attention (identify users, assess impact, communicate the change). * ci: simplify metrics inventory check Parse the inventory with yq instead of regexes, and flag any committed (kind, name+labels) pair that is no longer generated: this covers removed, renamed, relabeled, and retyped metrics, while additions and description changes only require regenerating the inventory. * ci: always print the metrics inventory report to stdout * metrics-inventory: key the inventory by metric name Sort metrics alphabetically by name, record the declaring module in a module field, and list static labels in a separate labels field. Generation fails if a metric name is declared more than once, instead of silently dropping one of the declarations. * ci: always check the metrics inventory on manual runs On the default branch, paths-filter only looks at the last commit, so a manual run could skip every step and pass without checking anything. * metrics-inventory: address review feedback