A complete walkthrough of instrumenting an Erlang service usingDocumentation Index
Fetch the complete documentation index at: https://docs.localops.co/llms.txt
Use this file to discover all available pages before exploring further.
prometheus.erl plus
prometheus_httpd for the metrics endpoint.
See the overview for the general approach.
1. Add the dependencies
Inrebar.config:
2. Register custom metrics and expose /metrics
prometheus_httpd:start/1 exposes /metrics and, with default collectors enabled, includes BEAM VM metrics (memory,
schedulers, processes, atom table, ETS, ports).
3. Declare the metrics endpoint in ops.json
4. Visualize with a community dashboard
| Dashboard | ID | Notes |
|---|---|---|
| Erlang-Memory-Allocators | 18694 | BEAM memory allocator breakdown. |
| Erlang-Distribution | 17907 | Erlang distribution (inter-node) traffic metrics. |
prometheus-erl/beam-dashboards repository — it contains JSON
dashboards covering memory, schedulers, processes, ETS, and more, that you can import directly into Grafana.
To import: in Grafana, go to Dashboards → New → Import, enter the dashboard ID (or upload the JSON), and select
your LocalOps Prometheus data source. You’ll see scheduler utilization, run queues, memory by allocator type, process
counts, and ETS table stats. Your custom application metrics (emails_sent_total, etc.) can be charted alongside.