Telemetry

Telemetry Attributes

This document defines attributes for telemetry SDK.

Attributes:

KeyStabilityValue TypeDescriptionExample Values
telemetry.distro.nameDevelopmentstringThe name of the auto instrumentation agent or distribution, if used. [1]parts-unlimited-java
telemetry.distro.versionDevelopmentstringThe version string of the auto instrumentation agent or distribution, if used.1.2.3
telemetry.sdk.languageStablestringThe language of the telemetry SDK.cpp; dotnet; erlang
telemetry.sdk.nameStablestringThe name of the telemetry SDK as defined above. [2]opentelemetry
telemetry.sdk.versionStablestringThe version string of the telemetry SDK.1.2.3

[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