For the complete documentation index, see llms.txt. This page is also available as Markdown.

Grafana

Grafana dashboards for RoadRunner installations, including Temporal. The available metrics are described in Metrics.

Each dashboard is a Grafana export with a DS_PROMETHEUS datasource input. Import the JSON in Grafana and select the Prometheus datasource that scrapes the metrics.address endpoint of the metrics plugin. The uptime, heap, and goroutine panels use the process_* and go_* runtime metrics.

Each dashboard has a "Workers over time" panel with the total, ready, and working worker counts. With automatic scaling, the total count rises above num_workers during scale-up and returns to it after the idle timeout.

gRPC dashboard

This dashboard contains gRPC plugin metrics: gRPC dashboard JSON

HTTP dashboard

This dashboard contains http plugin metrics: HTTP dashboard JSON

The request, latency, queue, and "No free workers" panels need the http_metrics middleware in http.middleware. See HTTP Metrics.

JOBS dashboard

This dashboard contains jobs plugin metrics: JOBS dashboard JSON

The rate panels use the v6 counters rr_jobs_jobs_ok, rr_jobs_jobs_err, rr_jobs_jobs_requeue, and rr_jobs_push_err. See JOBS Metrics.

Temporal dashboard

This dashboard contains the RoadRunner part of the Temporal plugin metrics: Temporal dashboard JSON. It covers the activity worker pool and the rr_activities_pool_queue_size and rr_workflows_pool_queue_size gauges. The queue size gauges are served on temporal.metrics.prometheus.address, not on metrics.address. Add that endpoint as a scrape target of the same Prometheus datasource. The panel queries use the gauge names without a prefix.

Temporal publishes SDK dashboards in the temporalio/dashboards repository. RoadRunner emits SDK metrics through Tally, so the matching file is sdk/temporal-go-java-sdks-tally.json. The file does not match the RoadRunner v6 metrics without changes:

  • Its queries use the Prometheus naming convention with _total and _seconds suffixes, for example temporal_request_total and temporal_request_latency_seconds_bucket. RoadRunner emits temporal_request and temporal_request_latency. Remove the suffixes from the queries.

  • Its latency panels use histogram_quantile() on _bucket series. Set temporal.metrics.prometheus.type: histogram to export them. The default summary type exports quantile series instead. See Temporal Metrics.

Last updated

Was this helpful?