Conversation
This comment has been minimized.
This comment has been minimized.
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 0 new, 4 changed, 0 removedBuild ID: d82dddb977301ef0094180de URL: https://www.apollographql.com/docs/deploy-preview/d82dddb977301ef0094180de |
24263c9 to
2b1d87b
Compare
…and-prometheus-metrics
...uting/observability/router-telemetry-otel/telemetry-pipelines/metrics-exporters/overview.mdx
Outdated
Show resolved
Hide resolved
...uting/observability/router-telemetry-otel/telemetry-pipelines/metrics-exporters/overview.mdx
Outdated
Show resolved
Hide resolved
...uting/observability/router-telemetry-otel/telemetry-pipelines/metrics-exporters/overview.mdx
Outdated
Show resolved
Hide resolved
…and-prometheus-metrics
…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>
|
|
||
| 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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
@bonnici thanks for the explanation and example. I updated the text to reflect your comment.
[dxm-132] update docs for histogram buckets and timeout settings