Telemetry

Telemetry Attributes

This document defines attributes for telemetry SDK.

AttributeTypeDescriptionExamplesStability
telemetry.distro.namestringThe name of the auto instrumentation agent or distribution, if used. [1]parts-unlimited-javaExperimental
telemetry.distro.versionstringThe version string of the auto instrumentation agent or distribution, if used.1.2.3Experimental
telemetry.sdk.languagestringThe language of the telemetry SDK.cpp; dotnet; erlangStable
telemetry.sdk.namestringThe name of the telemetry SDK as defined above. [2]opentelemetryStable
telemetry.sdk.versionstringThe version string of the telemetry SDK.1.2.3Stable

[1] telemetry.distro.name: Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.

[2] telemetry.sdk.name: The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry. If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK’s main entry point or another suitable identifier depending on the language. The identifier opentelemetry is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be stable across different versions of an implementation.


telemetry.sdk.language has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
cppcppStable
dotnetdotnetStable
erlangerlangStable
gogoStable
javajavaStable
nodejsnodejsStable
phpphpStable
pythonpythonStable
rubyrubyStable
rustrustStable
swiftswiftStable
webjswebjsStable