Status: Stable, except where otherwise specified Tracer Provider Tracer Creation It SHOULD only be possible to create Tracer instances through a TracerProvider (see API). The TracerProvider MUST implement the Get a Tracer API. The input provided by the user MUST be used to create an InstrumentationScope instance which is stored on the created Tracer. Status: Development - The TracerProvider MUST compute the relevant TracerConfig using the configured TracerConfigurator, and create a Tracer who...| OpenTelemetry
Status: Stable This document defines the stability guarantees offered by the OpenTelemetry clients, along with the rules and procedures for meeting those guarantees. In this document, the terms “OpenTelemetry” and “language implementations” both specifically refer to the OpenTelemetry clients. These terms do not refer to the specification or the Collector in this document. Each language implementation MUST take these versioning and stability requirements, and produce a language-specif...| OpenTelemetry
Status: Stable Motivation Telemetry sources such as instrumented applications and consumers of telemetry such as observability backends sometimes make implicit assumptions about the emitted telemetry. They assume that the telemetry will contain certain attributes or otherwise have a certain shape and composition of data (this is referred to as “telemetry schema” throughout this document). This makes it difficult or impossible to change the composition of the emitted telemetry data without...| OpenTelemetry
Status: Stable except where otherwise specified A Resource is an immutable representation of the entity producing telemetry as Attributes. For example, a process producing telemetry that is running in a container on Kubernetes has a Pod name, it is in a namespace and possibly is part of a Deployment which also has a name. All three of these attributes can be included in the Resource. Note that there are certain “standard attributes” that have prescribed meanings.| OpenTelemetry
Status: Mixed Users of OpenTelemetry need a way for instrumentation interactions with the OpenTelemetry API to actually produce telemetry. The OpenTelemetry SDK (henceforth referred to as the SDK) is an implementation of the OpenTelemetry API that provides users with this functionally. All language implementations of OpenTelemetry MUST provide an SDK. MeterProvider Status: Stable A MeterProvider MUST provide a way to allow a Resource to be specified. If a Resource is specified, it SHOULD be a...| OpenTelemetry
This document defines some terms that are used across this specification. Some other fundamental terms are documented in the overview document. User Roles Application Owner The maintainer of an application or service, responsible for configuring and managing the lifecycle of the OpenTelemetry SDK. Library Author The maintainer of a shared library which is depended upon by many applications, and targeted by OpenTelemetry instrumentation. Instrumentation Author The maintainer of OpenTelemetry i...| OpenTelemetry
Status: Stable, except where otherwise specified The Tracing API consists of these main components: TracerProvider is the entry point of the API. It provides access to Tracers. Tracer is responsible for creating Spans. Span is the API to trace an operation. Data types While languages and platforms have different ways of representing data, this section defines some generic requirements for this API. Time OpenTelemetry can operate on time values up to nanosecond (ns) precision. The representati...| OpenTelemetry