Metrics & Monitoring

The router offers built-in support for Prometheus. Data is exposed at We export the default Go and Process metrics. In addition, we export (R.E.D) metrics related to incoming GraphQL traffic:
  • router_http_requests_total: Total count of incoming requests
  • router_http_response_content_length_total: Total bytes of incoming requests
  • router_http_request_content_length_total: Total bytes of outgoing responses
  • router_http_request_duration_milliseconds: End-to-end duration of incoming requests in (histogram)
  • router_http_requests_in_flight_count: Number of in-flight requests
Prometheus counters MUST have a _total suffix. OTEL metrics are sent without.
All metrics are tracked along the following dimensions:
  • wg_operation_name
  • wg_operation_type
  • wg_federated_graph_name
  • wg_config_version
  • status_code
This enables you to answer the following questions:
  • What is the error/success rate of my router or a specific operation?
  • How is the performance of my router or a specific operation?
  • What is the average request/response size of a specific operation?
  • How much traffic went through a router instance?
  • What's the distribution of Queries / Mutations and Subscription requests?