diff --git a/CHANGELOG.md b/CHANGELOG.md index dbb71e237a1..a8892d28fd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,9 @@ Updates: ([#1339](https://github.com/open-telemetry/opentelemetry-specification/pull/1339)) - Trace Exporters: Fix TODOs in Jaeger exporter spec ([#1374](https://github.com/open-telemetry/opentelemetry-specification/pull/1374)) +- Clarify that Jaeger/Zipkin exporters must rely on the default Resource to + get service.name if none was specified. + ([#1386](https://github.com/open-telemetry/opentelemetry-specification/pull/1386)) ## v0.7.0 (11-18-2020) diff --git a/specification/trace/sdk_exporters/jaeger.md b/specification/trace/sdk_exporters/jaeger.md index e9a95cabcd2..11755ecb27e 100644 --- a/specification/trace/sdk_exporters/jaeger.md +++ b/specification/trace/sdk_exporters/jaeger.md @@ -43,6 +43,8 @@ single process and exporters need to handle this case accordingly. Critically, Jaeger backend depends on `Span.Process.ServiceName` to identify the service that produced the spans. That field MUST be populated from the `service.name` attribute of the [`service` resource](../../resource/semantic_conventions/README.md#service). +If no `service.name` is contained in a Span's Resource, that field MUST be populated from the +[default](../../resource/sdk.md#sdk-provided-resource-attributes) `Resource`. ### InstrumentationLibrary diff --git a/specification/trace/sdk_exporters/zipkin.md b/specification/trace/sdk_exporters/zipkin.md index b6189dab7a9..e29b9055dc8 100644 --- a/specification/trace/sdk_exporters/zipkin.md +++ b/specification/trace/sdk_exporters/zipkin.md @@ -53,7 +53,9 @@ and Zipkin. Zipkin service name MUST be set to the value of the [resource attribute](../../resource/semantic_conventions/README.md): -`service.name`. In Zipkin it is important that the service name is consistent +`service.name`. If no `service.name` is contained in a Span's Resource, it MUST be populated from the +[default](../../resource/sdk.md#sdk-provided-resource-attributes) `Resource`. +In Zipkin it is important that the service name is consistent for all spans in a local root. Otherwise service graph and aggregations would not work properly. OpenTelemetry doesn't provide this consistency guarantee. Exporter may chose to override the value for service name based on a local root @@ -62,9 +64,6 @@ span to improve Zipkin user experience. *Note*, the attribute `service.namespace` must not be used for the Zipkin service name and should be sent as a Zipkin tag. -*Note*, exporter to Zipkin MUST allow to configure the default "fall back" name -to use as a Zipkin service name. - ### SpanKind The following table lists all the `SpanKind` mappings between OpenTelemetry and