Add Metrics API: declare/list params and metrics, query bucket values (ticket 004)

Exposes param/metric declarations and derived bucket data over HTTP:
POST /api/params and POST /api/metrics validate and declare against the
engine, persisting into the active profile (if any) so declarations survive
a restart; GET /api/metrics lists declarations; GET /api/metrics/:name
queries bucket values with label, time-range, sequence, and limit filters.
Adds a new EngineQuery::BucketValues variant that layers this filtering on
top of ticket 003's bucket_values helper.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XFUNZwCvz3kcod3352ZR2o
This commit is contained in:
Hugh Kaznowski
2026-09-05 13:05:00 +01:00
co-authored by Claude Sonnet 5
parent f0348589f5
commit 49e8590cf3
7 changed files with 554 additions and 10 deletions
Generated
+2
View File
@@ -601,6 +601,7 @@ dependencies = [
"chrono",
"clap",
"directories",
"http-body-util",
"humantime",
"pest",
"pest_derive",
@@ -609,6 +610,7 @@ dependencies = [
"serde_json",
"tempfile",
"tokio",
"tower",
"tower-http",
]