diff --git a/CHANGELOG.md b/CHANGELOG.md index fbdeff5dc98..581642fdd0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ release. - Add `ForceFlush` to `Span Exporter` interface ([#1467](https://github.com/open-telemetry/opentelemetry-specification/pull/1467)) - Clarify the description for the `TraceIdRatioBased` sampler needs to include the sampler's sampling ratio. ([#1536](https://github.com/open-telemetry/opentelemetry-specification/pull/1536)) +- Define the fallback tracer name for invalid values. + ([#1534](https://github.com/open-telemetry/opentelemetry-specification/pull/1534)) ### Metrics diff --git a/specification/trace/api.md b/specification/trace/api.md index 3c66c0b0642..a50a3ccbc58 100644 --- a/specification/trace/api.md +++ b/specification/trace/api.md @@ -109,8 +109,9 @@ This API MUST accept the following parameters: In that scenario, the `name` denotes a module name or component name within that library or application. In case an invalid name (null or empty string) is specified, a working - default Tracer implementation as a fallback is returned rather than returning - null or throwing an exception. + Tracer implementation MUST be returned as a fallback rather than returning + null or throwing an exception, its `name` property SHOULD keep the original invalid value, + and a message reporting that the specified value is invalid SHOULD be logged. A library, implementing the OpenTelemetry API *may* also ignore this name and return a default instance for all calls, if it does not support "named" functionality (e.g. an implementation which is not even observability-related).