agent-substrate / agent-substrate/substrate
[benchmarking] Expose Prometheus pull metrics endpoint on telemetry-meter
- Dominant language
- Go
- Stars
- 1.8k
- Forks
- 316
- Avg merge
- 2d 43m
- Merged PRs (30d)
- 287
Description
### Background & Problem
`telemetry-meter` receives OTLP metrics from `atelet` and `ateapi` (including snapshot sizes, restore durations, and actor lifecycle states), but only forwards them upstream (e.g. to Google Cloud Monitoring).
In standalone, local, or ephemeral benchmarking environments where cloud monitoring backends are not configured, the in-cluster Prometheus instance has no way to scrape these raw histogram buckets and counter timeseries directly.
### Proposed Changes
Add a Prometheus exporter on port `8889` in `benchmarking/telemetry/meter.yaml`:
1. Add the `prometheus: { endpoint: "0.0.0.0:8889" }` exporter to the OpenTelemetry Collector configuration.
2. Expose port `8889` on the `telemetry-meter` Service.
3. Enable the `metrics` pipeline to export to Prometheus in addition to GCM.
This allows Prometheus to pull raw atelet/ateapi metrics without needing cloud credentials during offline benchmark runs.
### References
- [Substrate Benchmark Telemetry & Metrics Enhancement](https://docs.google.com/document/d/1f9b1mTyxICeLZPojrxCujZ16Elh4IFo3_WmBeNCvk1c/edit?pli=1&tab=t.0)
- [Agent Substrate: Actor Density Benchmark Specs](https://docs.google.com/document/d/1sv5aBXvGOQ69iaqFxdPZ-d6tNbh5AMuwKODDyYjzYQw/edit?tab=t.0)
cc @maxsmythe @roycaihw @aditya-shantanu
Contributor guide
Assessment
This issue has not been assessed yet.