Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* General restructring of Otel configuration ```yaml telemetry: apollo: endpoint: apollo_graph_ref: apollo_key: tracing: propagation: # Propagation is automatically enabled for any exporters that are enabled # but you can enable extras. This is mostly to support otlp. zipkin: true datadog: false trace_context: false jaeger: false baggage: false otlp: endpoint: Default protocol: Grpc http: .. grpc: .. zipkin: agent: endpoint: Default jaeger: agent: endpoint: Default datadog: endpoint: Default # Trace config is shared across all exporters trace_config: # Env variables can be used anywhere in any plugin config service_name: "${ENV_VARIABLE}" metrics: .. ``` Each of the exporters has its own source file. Other notes: * Otel provides integration with http for propagation. Removed our custom code and use the library. * Remove our propagation layer, otel provides propagators for each exporter. * Fix header extraction. Spans can now be collated from client to subgraphs. * Update supgergraph demo so that span propagation takes place * Unfied metrics and tracing config * Config enums changes to snake_case There is an issue round sampling that needs to be followed up on. Sampling happens at the pipeline level, so if the user enables sampling then discarded samples will not make it to spaceport. We need to discuss what we are going to do about this. Co-authored-by: bryn <bryn@apollographql.com> Co-authored-by: Geoffroy Couprie <geoffroy@apollographql.com> Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
- Loading branch information