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, except where otherwise specified Overview The Metrics API consists of these main components: MeterProvider is the entry point of the API. It provides access to Meters. Meter is responsible for creating Instruments. Instrument is responsible for reporting Measurements. Here is an example of the object hierarchy inside a process instrumented with the metrics API: +-- MeterProvider(default) | +-- Meter(name='io.opentelemetry.runtime', version='1.0.0') | | | +-- Instrument(name='c...| 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
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
I wanted to write some blog posts on using OpenTelemetry (OTel) in Rust. OpenTelemetry will become the dominant player in the telemetry landscape, as it's supported by the majority of the big cloud players and vendors. My personal view is that it's pretty good, albeit (infinitely?) complex. This isn't helped by how new the standard is, as well as the current immaturity of the Rust libraries as the community iterates towards the best way of doing things.| 3tilley.github.io
Status: Stable, except where otherwise specified This is a data model and semantic conventions that allow to represent logs from various sources: application log files, machine generated events, system logs, etc. Existing log formats can be unambiguously mapped to this data model. Reverse mapping from this data model is also possible to the extent that the target log format has equivalent capabilities. The purpose of the data model is to have a common understanding of what a log record is, wh...| OpenTelemetry
Status: Stable except where otherwise specified The goal of this specification is to unify the environment variable names between different OpenTelemetry implementations. Implementations MAY choose to allow configuration via the environment variables in this specification, but are not required to. If they do, they SHOULD use the names listed in this document. Implementation guidelines Environment variables MAY be handled (implemented) directly by a component, in the SDK, or in a separate comp...| OpenTelemetry
This document provides an overview of the OpenTelemetry project and defines important fundamental terms. Additional term definitions can be found in the glossary. OpenTelemetry Client Architecture At the highest architectural level, OpenTelemetry clients are organized into signals. Each signal provides a specialized form of observability. For example, tracing, metrics, and baggage are three separate signals. Signals share a common subsystem – context propagation – but they function indepe...| OpenTelemetry
Definitions and conventions for telemetry terms as used in OpenTelemetry.| OpenTelemetry