Join us from October 8-10 in New York City to learn the latest tips, trends, and news about GraphQL federation and API platform engineering.Join us for GraphQL Summit 2024 in NYC
Docs
Start for Free

Apollo Router instruments

Standard metric instruments for the router's request lifecycle


Standard metric instruments

The provides a set of non-configurable metric instruments that expose detailed information about the router's request lifecycle.

These instruments can be consumed by configuring a metrics exporter.

HTTP

  • apollo_router_http_request_duration_seconds_bucket - HTTP request duration
  • apollo_router_http_request_duration_seconds_bucket - HTTP request duration, attributes:
    • subgraph: (Optional) The subgraph being queried
  • apollo_router_http_requests_total - Total number of HTTP requests by HTTP status
  • apollo_router_timeout - Number of triggered timeouts
  • apollo_router_http_request_retry_total - Number of subgraph requests retried, attributes:
    • subgraph: The subgraph being queried
    • status : If the retry was aborted (aborted)

GraphQL

  • apollo_router_graphql_error - counts errors in responses, attributes:
    • code: error code

Session

  • apollo_router_session_count_total - Number of currently connected clients
  • apollo_router_session_count_active - Number of in-flight GraphQL requests

Cache

  • apollo_router_cache_size — Number of entries in the cache
  • apollo_router_cache_hit_count - Number of cache hits
  • apollo_router_cache_miss_count - Number of cache misses
  • apollo_router_cache_hit_time - Time to hit the cache in seconds
  • apollo_router_cache_miss_time - Time to miss the cache in seconds

All cache metrics listed above have the following attributes:

  • kind: the cache being queried (apq, query planner, introspection)
  • storage: The backend storage of the cache (memory, redis)

Coprocessor

  • apollo_router_operations_coprocessor_total - Total with coprocessors enabled.
  • apollo_router_operations_coprocessor.duration - Time spent waiting for the coprocessor to answer, in seconds.

The coprocessor operations metric has the following attributes:

  • coprocessor.stage: string (RouterRequest, RouterResponse, SubgraphRequest, SubgraphResponse)
  • coprocessor.succeeded: bool

Performance

  • apollo_router_processing_time - Time spent processing a request (outside of waiting for external or subgraph requests) in seconds.
  • apollo_router_schema_load_duration - Time spent loading the schema in seconds.

Query planning

  • apollo_router.query_planning.warmup.duration - Time spent warming up the queries in seconds.
  • apollo.router.query_planning.plan.duration - Histogram of plan durations.
  • apollo.router.query_planning.total.duration - Histogram of plan durations including queue time.
  • apollo.router.query_planning.queued - A gauge of the number of queued plans requests.
  • apollo_router_uplink_fetch_duration_seconds_bucket - Uplink request duration, attributes:
    • url: The Uplink URL that was polled
    • query: The that the router sent to Uplink (SupergraphSdl or License)
    • kind: (new, unchanged, http_error, uplink_error)
    • code: The error code depending on type (if an error occurred)
    • error: The error message (if an error occurred)
  • apollo_router_uplink_fetch_count_total
    • status: (success, failure)
    • query: The query that the router sent to Uplink (SupergraphSdl or License)

ⓘ NOTE

The initial call to Uplink during router startup is not reflected in metrics.

Subscriptions

  • apollo_router_opened_subscriptions - Number of different opened (not the number of clients with an opened subscriptions in case it's deduplicated)
  • apollo_router_deduplicated_subscriptions_total - Number of subscriptions that has been deduplicated
  • apollo_router_skipped_event_count - Number of events that has been skipped because too many events have been received from the subgraph but not yet sent to the client.

Batching

  • apollo.router.operations.batching - A counter of the number of query batches received by the router.
  • apollo.router.operations.batching.size - A histogram tracking the number of queries contained within a query batch.

GraphOS Studio

  • apollo.router.telemetry.studio.reports - The number of reports submitted to by the .
    • report.type: The type of report submitted: "traces" or "metrics"
    • report.protocol: Either "apollo" or "otlp", depending on the experimental_otlp_tracing_sampler configuration.

Deprecated

The following metrics have been deprecated and should not be used.

  • apollo_router_span - Deprecated—use apollo_router_processing_time instead.
Previous
Standard Attributes
Next
Overview
Rate articleRateEdit on GitHubEditForumsDiscord

© 2024 Apollo Graph Inc.

Privacy Policy

Company