From 36d050ee56bd1175cd158ed34529464fc60a8b09 Mon Sep 17 00:00:00 2001 From: Zach FettersMoore <4425109+BobaFetters@users.noreply.github.com> Date: Mon, 27 Jul 2026 11:49:02 -0400 Subject: [PATCH 1/5] Enable subgraph metrics and extended error metrics by default Router 3.0 changes the defaults for two Apollo telemetry settings to match the preferred configuration for GraphOS Studio users, and promotes one of them out of preview. --- ...ing_zach_router_1910_telemetry_defaults.md | 24 +++++++++++++ apollo-router/src/configuration/metrics.rs | 4 +-- .../3003-extended-error-metrics.yaml | 5 +++ ..._metrics@apollo_telemetry.router.yaml.snap | 2 +- ...ics@experimental_features.router.yaml.snap | 2 +- ...nfiguration__tests__schema_generation.snap | 4 +-- ...on@apollo_extended_error_metrics.yaml.snap | 9 +++++ ...iguration@apollo_extended_errors.yaml.snap | 2 +- .../metrics/apollo_telemetry.router.yaml | 2 +- .../apollo_extended_error_metrics.yaml | 4 +++ .../connectors/incompatible/telemetry.rs | 8 ++--- apollo-router/src/plugins/telemetry/apollo.rs | 6 ++-- .../plugins/telemetry/error_counter/mod.rs | 4 +-- .../plugins/telemetry/error_counter/tests.rs | 34 +++++++++---------- apollo-router/tests/integration/connectors.rs | 6 ++-- .../telemetry/apollo_otel_metrics.rs | 18 +++++----- docs/shared/config/telemetry.mdx | 4 +-- .../shared/router-config-properties-table.mdx | 2 +- docs/shared/router-yaml-complete.mdx | 2 +- docs/source/routing/configuration/yaml.mdx | 4 +-- .../graphos/graphos-reporting.mdx | 5 ++- 21 files changed, 96 insertions(+), 55 deletions(-) create mode 100644 .changesets/breaking_zach_router_1910_telemetry_defaults.md create mode 100644 apollo-router/src/configuration/migrations/3003-extended-error-metrics.yaml create mode 100644 apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_error_metrics.yaml.snap create mode 100644 apollo-router/src/configuration/testdata/migrations/apollo_extended_error_metrics.yaml diff --git a/.changesets/breaking_zach_router_1910_telemetry_defaults.md b/.changesets/breaking_zach_router_1910_telemetry_defaults.md new file mode 100644 index 0000000000..bd5f064c56 --- /dev/null +++ b/.changesets/breaking_zach_router_1910_telemetry_defaults.md @@ -0,0 +1,24 @@ +### Enable subgraph metrics and extended error metrics by default + +Router 3.0 changes the defaults for two Apollo telemetry settings to match the preferred configuration for GraphOS Studio users, and promotes one of them out of preview. + +**`telemetry.apollo.subgraph_metrics` now defaults to `true`.** Subgraph metrics send additional per-subgraph operation metrics to GraphOS Studio via OTLP, powering subgraph insights. Previously this was opt-in. To restore the previous behavior, set: + +```yaml +telemetry: + apollo: + subgraph_metrics: false +``` + +**`telemetry.apollo.errors.preview_extended_error_metrics` has been renamed to `telemetry.apollo.errors.extended_error_metrics` and now defaults to `enabled`.** Extended error metrics send OTLP error metrics with additional dimensions (`extensions.service`, `extensions.code`), giving Studio richer error attribution out of the box. The `preview_` prefix has been dropped now that the feature is stable. + +Configurations using the old `preview_extended_error_metrics` field name are migrated automatically at startup (with a warning). To restore the previous behavior, set: + +```yaml +telemetry: + apollo: + errors: + extended_error_metrics: disabled +``` + +By [@BobaFetters](https://github.com/BobaFetters) in https://github.com/apollographql/router/pull/ROUTER-1910 diff --git a/apollo-router/src/configuration/metrics.rs b/apollo-router/src/configuration/metrics.rs index 234e964add..e4711ea064 100644 --- a/apollo-router/src/configuration/metrics.rs +++ b/apollo-router/src/configuration/metrics.rs @@ -403,8 +403,8 @@ impl InstrumentData { "$.signature_normalization_algorithm", opt.metrics_reference_mode, "$.metrics_reference_mode", - opt.errors.preview_extended_error_metrics, - "$.errors.preview_extended_error_metrics", + opt.errors.extended_error_metrics, + "$.errors.extended_error_metrics", opt.field_level_instrumentation_sampler, "$.field_level_instrumentation_sampler", opt.tracing.batch_processor.scheduled_delay, diff --git a/apollo-router/src/configuration/migrations/3003-extended-error-metrics.yaml b/apollo-router/src/configuration/migrations/3003-extended-error-metrics.yaml new file mode 100644 index 0000000000..09d978b6d3 --- /dev/null +++ b/apollo-router/src/configuration/migrations/3003-extended-error-metrics.yaml @@ -0,0 +1,5 @@ +description: preview_extended_error_metrics is now extended_error_metrics +actions: + - type: move + from: telemetry.apollo.errors.preview_extended_error_metrics + to: telemetry.apollo.errors.extended_error_metrics diff --git a/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@apollo_telemetry.router.yaml.snap b/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@apollo_telemetry.router.yaml.snap index b1bbaa4b2a..950a65baf9 100644 --- a/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@apollo_telemetry.router.yaml.snap +++ b/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@apollo_telemetry.router.yaml.snap @@ -7,7 +7,7 @@ expression: "& metrics.non_zero()" datapoints: - value: 1 attributes: - opt.errors.preview_extended_error_metrics: enabled + opt.errors.extended_error_metrics: enabled opt.field_level_instrumentation_sampler: 1 opt.metrics.otlp.batch_processor.max_export_timeout: 103s opt.metrics.otlp.batch_processor.scheduled_delay: 5s diff --git a/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@experimental_features.router.yaml.snap b/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@experimental_features.router.yaml.snap index 472ffefe70..82d8592a56 100644 --- a/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@experimental_features.router.yaml.snap +++ b/apollo-router/src/configuration/snapshots/apollo_router__configuration__metrics__test__metrics@experimental_features.router.yaml.snap @@ -7,7 +7,7 @@ expression: "& metrics.non_zero()" datapoints: - value: 1 attributes: - opt.errors.preview_extended_error_metrics: false + opt.errors.extended_error_metrics: false opt.field_level_instrumentation_sampler: false opt.metrics.otlp.batch_processor.max_export_timeout: false opt.metrics.otlp.batch_processor.scheduled_delay: false diff --git a/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__schema_generation.snap b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__schema_generation.snap index e0187cf1b7..24c27d4a6b 100644 --- a/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__schema_generation.snap +++ b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__schema_generation.snap @@ -312,7 +312,7 @@ expression: "&schema" "description": "Set the signature normalization algorithm to use when sending Apollo usage reports." }, "subgraph_metrics": { - "default": false, + "default": true, "description": "Enable sending additional subgraph metrics to Apollo Studio via OTLP", "type": "boolean" }, @@ -3598,7 +3598,7 @@ expression: "&schema" "ErrorsConfiguration": { "additionalProperties": false, "properties": { - "preview_extended_error_metrics": { + "extended_error_metrics": { "allOf": [ { "$ref": "#/definitions/ExtendedErrorMetricsMode" diff --git a/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_error_metrics.yaml.snap b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_error_metrics.yaml.snap new file mode 100644 index 0000000000..dd68f0e39c --- /dev/null +++ b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_error_metrics.yaml.snap @@ -0,0 +1,9 @@ +--- +source: apollo-router/src/configuration/tests.rs +expression: new_config +--- +--- +telemetry: + apollo: + errors: + extended_error_metrics: enabled diff --git a/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_errors.yaml.snap b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_errors.yaml.snap index fce7119e0a..dd68f0e39c 100644 --- a/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_errors.yaml.snap +++ b/apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__upgrade_old_configuration@apollo_extended_errors.yaml.snap @@ -6,4 +6,4 @@ expression: new_config telemetry: apollo: errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled diff --git a/apollo-router/src/configuration/testdata/metrics/apollo_telemetry.router.yaml b/apollo-router/src/configuration/testdata/metrics/apollo_telemetry.router.yaml index 3d54a70db7..62ec9576b0 100644 --- a/apollo-router/src/configuration/testdata/metrics/apollo_telemetry.router.yaml +++ b/apollo-router/src/configuration/testdata/metrics/apollo_telemetry.router.yaml @@ -5,7 +5,7 @@ telemetry: apollo: otlp_tracing_sampler: 1 errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled subgraph: all: send: true diff --git a/apollo-router/src/configuration/testdata/migrations/apollo_extended_error_metrics.yaml b/apollo-router/src/configuration/testdata/migrations/apollo_extended_error_metrics.yaml new file mode 100644 index 0000000000..5320c5126a --- /dev/null +++ b/apollo-router/src/configuration/testdata/migrations/apollo_extended_error_metrics.yaml @@ -0,0 +1,4 @@ +telemetry: + apollo: + errors: + preview_extended_error_metrics: enabled diff --git a/apollo-router/src/plugins/connectors/incompatible/telemetry.rs b/apollo-router/src/plugins/connectors/incompatible/telemetry.rs index 3d42ee4420..43fc6e8814 100644 --- a/apollo-router/src/plugins/connectors/incompatible/telemetry.rs +++ b/apollo-router/src/plugins/connectors/incompatible/telemetry.rs @@ -23,7 +23,7 @@ impl IncompatiblePlugin for TelemetryIncompatPlugin { self.config.subgraph.all.send // When ExtendedErrorMetricsMode is enabled, this plugin supports reporting connector errors && !matches!( - self.config.preview_extended_error_metrics, + self.config.extended_error_metrics, apollo::ExtendedErrorMetricsMode::Enabled ) } @@ -39,7 +39,7 @@ impl IncompatiblePlugin for TelemetryIncompatPlugin { .partition_map(|(name, sub)| { if sub.send && !matches!( - self.config.preview_extended_error_metrics, + self.config.extended_error_metrics, apollo::ExtendedErrorMetricsMode::Enabled ) { @@ -61,13 +61,13 @@ impl IncompatiblePlugin for TelemetryIncompatPlugin { if self.config.subgraph.subgraphs.contains_key(subgraph) { tracing::warn!( subgraph = subgraph, - message = "plugin `telemetry` is explicitly configured to send errors to Apollo studio for connector-enabled subgraph, which is only supported when `preview_extended_error_metrics` is enabled", + message = "plugin `telemetry` is explicitly configured to send errors to Apollo studio for connector-enabled subgraph, which is only supported when `extended_error_metrics` is enabled", see = "https://go.apollo.dev/connectors/incompat", ); } else { tracing::info!( subgraph = subgraph, - message = "plugin `telemetry` is indirectly configured to send errors to Apollo studio for a connector-enabled subgraph, which is only supported when `preview_extended_error_metrics` is enabled", + message = "plugin `telemetry` is indirectly configured to send errors to Apollo studio for a connector-enabled subgraph, which is only supported when `extended_error_metrics` is enabled", see = "https://go.apollo.dev/connectors/incompat", ); } diff --git a/apollo-router/src/plugins/telemetry/apollo.rs b/apollo-router/src/plugins/telemetry/apollo.rs index 07fe1ea50a..c1030261b6 100644 --- a/apollo-router/src/plugins/telemetry/apollo.rs +++ b/apollo-router/src/plugins/telemetry/apollo.rs @@ -283,7 +283,7 @@ pub(crate) struct ErrorsConfiguration { pub(crate) subgraph: SubgraphErrorConfig, /// Send error metrics via OTLP with additional dimensions [`extensions.service`, `extensions.code`] - pub(crate) preview_extended_error_metrics: ExtendedErrorMetricsMode, + pub(crate) extended_error_metrics: ExtendedErrorMetricsMode, } #[derive(Debug, Clone, Deserialize, JsonSchema, Default, PartialEq)] @@ -332,10 +332,10 @@ impl SubgraphErrorConfig { #[serde(deny_unknown_fields, rename_all = "lowercase")] pub(crate) enum ExtendedErrorMetricsMode { /// Do not send extended OTLP error metrics - #[default] Disabled, /// Send extended OTLP error metrics to Apollo Studio with additional dimensions [`extensions.service`, `extensions.code`]. /// If enabled, it's also recommended to enable `redaction_policy: extended` on subgraphs to send the `extensions.code` for subgraph errors. + #[default] Enabled, } @@ -427,7 +427,7 @@ impl Default for Config { signature_normalization_algorithm: ApolloSignatureNormalizationAlgorithm::default(), experimental_local_field_metrics: false, metrics_reference_mode: ApolloMetricsReferenceMode::default(), - subgraph_metrics: false, + subgraph_metrics: true, sampler: None, } } diff --git a/apollo-router/src/plugins/telemetry/error_counter/mod.rs b/apollo-router/src/plugins/telemetry/error_counter/mod.rs index 074295634f..8f9d1c746e 100644 --- a/apollo-router/src/plugins/telemetry/error_counter/mod.rs +++ b/apollo-router/src/plugins/telemetry/error_counter/mod.rs @@ -220,14 +220,14 @@ fn count_operation_errors<'a>( let send_otlp_errors = if service.is_empty() { matches!( - errors_config.preview_extended_error_metrics, + errors_config.extended_error_metrics, ExtendedErrorMetricsMode::Enabled ) } else { let subgraph_error_config = errors_config.subgraph.get_error_config(&service); subgraph_error_config.send && matches!( - errors_config.preview_extended_error_metrics, + errors_config.extended_error_metrics, ExtendedErrorMetricsMode::Enabled ) }; diff --git a/apollo-router/src/plugins/telemetry/error_counter/tests.rs b/apollo-router/src/plugins/telemetry/error_counter/tests.rs index 6767513fa3..d2ee6fc928 100644 --- a/apollo-router/src/plugins/telemetry/error_counter/tests.rs +++ b/apollo-router/src/plugins/telemetry/error_counter/tests.rs @@ -49,7 +49,7 @@ use crate::spec::query::EXTENSIONS_VALUE_COMPLETION_KEY; async fn test_count_supergraph_errors_with_no_previously_counted_errors() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -112,7 +112,7 @@ async fn test_count_supergraph_errors_with_no_previously_counted_errors() { async fn test_count_supergraph_errors_with_previously_counted_errors() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -202,7 +202,7 @@ async fn test_count_supergraph_errors_with_previously_counted_errors() { async fn test_count_subgraph_errors_with_include_subgraphs_enabled() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, subgraph: SubgraphErrorConfig { subgraphs: HashMap::from([( "some-subgraph".to_string(), @@ -276,7 +276,7 @@ async fn test_count_subgraph_errors_with_include_subgraphs_enabled() { async fn test_count_subgraph_errors_with_include_subgraphs_disabled() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, subgraph: SubgraphErrorConfig { subgraphs: HashMap::from([( "some-subgraph".to_string(), @@ -346,7 +346,7 @@ async fn test_count_subgraph_errors_emits_span_event_with_error_code() { let _guard = crate::test_harness::tracing_test::dispatcher_guard(); let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -388,7 +388,7 @@ async fn test_count_subgraph_errors_emits_span_event_with_error_code() { async fn test_count_execution_errors() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -454,7 +454,7 @@ async fn test_count_operation_errors_skips_span_event_when_marker_is_set() { let _guard = crate::test_harness::tracing_test::dispatcher_guard(); let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -512,7 +512,7 @@ async fn test_count_execution_errors_emits_span_event_with_error_code() { let _guard = crate::test_harness::tracing_test::dispatcher_guard(); let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -555,7 +555,7 @@ async fn test_count_execution_errors_emits_span_event_with_error_code() { async fn test_count_router_errors() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -619,7 +619,7 @@ async fn test_count_router_errors() { async fn test_count_operation_errors_with_extended_config_enabled() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -664,7 +664,7 @@ async fn test_count_operation_errors_with_extended_config_enabled() { async fn test_count_operation_errors_with_all_json_types_and_extended_config_enabled() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -759,7 +759,7 @@ async fn test_count_operation_errors_with_all_json_types_and_extended_config_ena async fn test_count_operation_errors_with_duplicate_errors_and_extended_config_enabled() { async { let config = ErrorsConfiguration { - preview_extended_error_metrics: ExtendedErrorMetricsMode::Enabled, + extended_error_metrics: ExtendedErrorMetricsMode::Enabled, ..Default::default() }; @@ -862,7 +862,7 @@ async fn test_subgraph_error_counting() { "telemetry":{ "apollo": { "errors": { - "preview_extended_error_metrics": "enabled", + "extended_error_metrics": "enabled", "subgraph": { "subgraphs": { "myIgnoredSubgraph": { @@ -977,7 +977,7 @@ async fn test_execution_error_counting() { "telemetry":{ "apollo": { "errors": { - "preview_extended_error_metrics": "enabled", + "extended_error_metrics": "enabled", "subgraph": { "subgraphs": { "myIgnoredSubgraph": { @@ -1089,7 +1089,7 @@ async fn test_supergraph_error_counting() { "telemetry":{ "apollo": { "errors": { - "preview_extended_error_metrics": "enabled", + "extended_error_metrics": "enabled", "subgraph": { "subgraphs": { "myIgnoredSubgraph": { @@ -1193,7 +1193,7 @@ async fn test_router_error_counting() { "telemetry":{ "apollo": { "errors": { - "preview_extended_error_metrics": "enabled", + "extended_error_metrics": "enabled", "subgraph": { "subgraphs": { "myIgnoredSubgraph": { @@ -1302,7 +1302,7 @@ async fn test_operation_errors_emitted_when_config_is_enabled() { "telemetry":{ "apollo": { "errors": { - "preview_extended_error_metrics": "enabled", + "extended_error_metrics": "enabled", "subgraph": { "subgraphs": { "myIgnoredSubgraph": { diff --git a/apollo-router/tests/integration/connectors.rs b/apollo-router/tests/integration/connectors.rs index 8f9bb32881..c0787cda84 100644 --- a/apollo-router/tests/integration/connectors.rs +++ b/apollo-router/tests/integration/connectors.rs @@ -765,7 +765,7 @@ mod telemetry { router.start().await; router - .wait_for_log_message(r#""subgraph":"connectors","message":"plugin `telemetry` is indirectly configured to send errors to Apollo studio for a connector-enabled subgraph, which is only supported when `preview_extended_error_metrics` is enabled"#) + .wait_for_log_message(r#""subgraph":"connectors","message":"plugin `telemetry` is indirectly configured to send errors to Apollo studio for a connector-enabled subgraph, which is only supported when `extended_error_metrics` is enabled"#) .await; Ok(()) @@ -805,7 +805,7 @@ mod telemetry { router.start().await; router - .wait_for_log_message(r#""subgraph":"connectors","message":"plugin `telemetry` is explicitly configured to send errors to Apollo studio for connector-enabled subgraph, which is only supported when `preview_extended_error_metrics` is enabled"#) + .wait_for_log_message(r#""subgraph":"connectors","message":"plugin `telemetry` is explicitly configured to send errors to Apollo studio for connector-enabled subgraph, which is only supported when `extended_error_metrics` is enabled"#) .await; Ok(()) @@ -866,7 +866,7 @@ mod telemetry { telemetry: apollo: errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled subgraph: all: send: true diff --git a/apollo-router/tests/integration/telemetry/apollo_otel_metrics.rs b/apollo-router/tests/integration/telemetry/apollo_otel_metrics.rs index 1b7f2dd6b8..34fce723ac 100644 --- a/apollo-router/tests/integration/telemetry/apollo_otel_metrics.rs +++ b/apollo-router/tests/integration/telemetry/apollo_otel_metrics.rs @@ -47,7 +47,7 @@ async fn test_validation_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled "#, ) .responder(ResponseTemplate::new(500).append_header("Content-Type", "application/json")) @@ -103,7 +103,7 @@ async fn test_subgraph_http_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled include_subgraph_errors: all: true "#, @@ -172,7 +172,7 @@ async fn test_subgraph_layer_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled "#, ) .responder( @@ -251,7 +251,7 @@ async fn test_subgraph_layer_entities_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled "#, ) .responder( @@ -331,7 +331,7 @@ async fn test_include_subgraph_error_disabled_does_not_redact_error_metrics() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled include_subgraph_errors: all: false "#, @@ -413,7 +413,7 @@ async fn test_supergraph_layer_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled supergraph: introspection: false "#, @@ -478,7 +478,7 @@ async fn test_execution_layer_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled forbid_mutations: true "#, ) @@ -545,7 +545,7 @@ async fn test_router_layer_error_emits_metric() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled csrf: required_headers: - x-not-matched-header @@ -618,7 +618,7 @@ async fn test_apollo_studio_metrics_not_affected_by_rename() { batch_processor: scheduled_delay: 100ms errors: - preview_extended_error_metrics: enabled + extended_error_metrics: enabled exporters: metrics: common: diff --git a/docs/shared/config/telemetry.mdx b/docs/shared/config/telemetry.mdx index 46f026d859..638cf7dbb4 100644 --- a/docs/shared/config/telemetry.mdx +++ b/docs/shared/config/telemetry.mdx @@ -27,7 +27,7 @@ telemetry: client_version_header: apollographql-client-version endpoint: https://usage-reporting.api.apollographql.com/api/ingress/traces errors: - preview_extended_error_metrics: disabled + extended_error_metrics: enabled subgraph: all: redact: true @@ -711,7 +711,7 @@ telemetry: client_version_header: apollographql-client-version endpoint: https://usage-reporting.api.apollographql.com/api/ingress/traces errors: - preview_extended_error_metrics: disabled + extended_error_metrics: enabled subgraph: all: redact: true diff --git a/docs/shared/router-config-properties-table.mdx b/docs/shared/router-config-properties-table.mdx index 5f85fd7708..fd24e20f04 100644 --- a/docs/shared/router-config-properties-table.mdx +++ b/docs/shared/router-config-properties-table.mdx @@ -736,7 +736,7 @@ telemetry: client_version_header: apollographql-client-version endpoint: https://usage-reporting.api.apollographql.com/api/ingress/traces errors: - preview_extended_error_metrics: disabled + extended_error_metrics: enabled subgraph: all: redact: true diff --git a/docs/shared/router-yaml-complete.mdx b/docs/shared/router-yaml-complete.mdx index ad5b89e29f..3006d1ac95 100644 --- a/docs/shared/router-yaml-complete.mdx +++ b/docs/shared/router-yaml-complete.mdx @@ -347,7 +347,7 @@ telemetry: client_version_header: apollographql-client-version endpoint: https://usage-reporting.api.apollographql.com/api/ingress/traces errors: - preview_extended_error_metrics: disabled + extended_error_metrics: enabled subgraph: all: redact: true diff --git a/docs/source/routing/configuration/yaml.mdx b/docs/source/routing/configuration/yaml.mdx index d663e9f71f..9d2599f422 100644 --- a/docs/source/routing/configuration/yaml.mdx +++ b/docs/source/routing/configuration/yaml.mdx @@ -804,13 +804,13 @@ The router supports extended error reporting in the following versions: You can configure the router to report extended error information for improved diagnostics. Apollo's legacy error reporting doesn't include the service or error code, meaning you can't easily attribute errors to their root cause in GraphOS Studio. -Configure extended reference reporting in `router.yaml` with the `telemetry.apollo.errors.preview_extended_error_metrics` option like so: +Configure extended reference reporting in `router.yaml` with the `telemetry.apollo.errors.extended_error_metrics` option. It is enabled by default; to opt out, set it to `disabled`: ```yaml title="router.yaml" telemetry: apollo: errors: - preview_extended_error_metrics: enabled # Default is disabled + extended_error_metrics: enabled # Default is enabled ``` [Learn more.](/graphos/routing/graphos-reporting#errors) diff --git a/docs/source/routing/observability/graphos/graphos-reporting.mdx b/docs/source/routing/observability/graphos/graphos-reporting.mdx index f7185d2fd1..4b2215e5af 100644 --- a/docs/source/routing/observability/graphos/graphos-reporting.mdx +++ b/docs/source/routing/observability/graphos/graphos-reporting.mdx @@ -440,16 +440,15 @@ telemetry: