Telemetry SDK

Telemetry SDK Attributes

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

[1]: 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.

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

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