agent-substrate / agent-substrate/substrate

[benchmarking] Expose Prometheus pull metrics endpoint on telemetry-meter

Open
#1,589 0 comments 0 reactions 0 assignees View on GitHub
area/benchmarking area/observability kind/feature
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.