Skip to content

[dxm-132] update docs for histogram buckets and timeout settings#8783

Merged
mabuyo merged 11 commits intodevfrom
gigi/dxm-132-update-docs-on-timeout-settings-and-prometheus-metrics
Jan 15, 2026
Merged

[dxm-132] update docs for histogram buckets and timeout settings#8783
mabuyo merged 11 commits intodevfrom
gigi/dxm-132-update-docs-on-timeout-settings-and-prometheus-metrics

Conversation

@the-gigi-apollo
Copy link
Contributor

[dxm-132] update docs for histogram buckets and timeout settings

@the-gigi-apollo the-gigi-apollo requested a review from a team as a code owner December 24, 2025 00:27
@github-actions

This comment has been minimized.

@apollo-librarian
Copy link

apollo-librarian bot commented Dec 24, 2025

✅ Docs preview ready

The preview is ready to be viewed. View the preview

File Changes

0 new, 4 changed, 0 removed
* graphos/routing/(latest)/license.mdx
* graphos/routing/(latest)/configuration/envvars.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/telemetry-pipelines/metrics-exporters/overview.mdx
* graphos/routing/(latest)/self-hosted/index.mdx

Build ID: d82dddb977301ef0094180de
Build Logs: View logs

URL: https://www.apollographql.com/docs/deploy-preview/d82dddb977301ef0094180de

@the-gigi-apollo the-gigi-apollo force-pushed the gigi/dxm-132-update-docs-on-timeout-settings-and-prometheus-metrics branch from 24263c9 to 2b1d87b Compare December 24, 2025 01:26
mabuyo and others added 6 commits January 7, 2026 17:09
…try-pipelines/metrics-exporters/overview.mdx

Co-authored-by: Michelle Mabuyo <michelle@apollographql.com>
…try-pipelines/metrics-exporters/overview.mdx

Co-authored-by: Michelle Mabuyo <michelle@apollographql.com>
…try-pipelines/metrics-exporters/overview.mdx

Co-authored-by: Michelle Mabuyo <michelle@apollographql.com>
@the-gigi-apollo the-gigi-apollo requested a review from mabuyo January 8, 2026 06:23

These defaults work well for most applications where the majority of requests complete in under ten seconds.

Histogram metrics cap values at the highest bucket boundary. With the default buckets, any request taking longer than ten seconds appears in the `10.0+` bucket. This makes it appear as though timeouts are not respected in your metrics if you configure timeouts greater than ten seconds.
Copy link
Contributor

@bonnici bonnici Jan 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor correction here, the bucket values are correct (see https://github.com/apollographql/router/blob/dev/apollo-router/src/plugins/telemetry/metrics/apollo/mod.rs#L40-L44) but buckets are represented in the metrics as "less than or equal to" the specified bucket boundaries. Values higher than the largest bucket will be put into a "less than or equal to infinity" bucket. As a sample here are some prometheus metrics I just saw when I was doing some testing:

http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.001"} 0
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.005"} 0
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.015"} 1
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.05"} 1
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.1"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.2"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.3"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.4"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="0.5"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="1"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="5"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="10"} 2
http_server_request_duration_seconds_bucket{http_request_method="POST",http_response_status_code="200",server_address="10.89.1.14",server_port="4000",otel_scope_name="apollo/router",le="+Inf"} 2

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bonnici thanks for the explanation and example. I updated the text to reflect your comment.

@mabuyo mabuyo merged commit bc37d3a into dev Jan 15, 2026
15 checks passed
@mabuyo mabuyo deleted the gigi/dxm-132-update-docs-on-timeout-settings-and-prometheus-metrics branch January 15, 2026 16:26
@abernix abernix mentioned this pull request Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants