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: 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 Attribute An Attribute is a key-value pair, which MUST have the following properties: The attribute key MUST be a non-null and non-empty string. Case sensitivity of keys is preserved. Keys that differ in casing are treated as distinct keys. The attribute value is either: A primitive type: string, boolean, double precision floating point (IEEE 754-1985) or signed 64 bit integer. An array of primitive type values. The array MUST be homogeneous, i.e., it MUST NOT contain values of...| 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
Previously, in Why Histograms? and Histograms vs Summaries, I went over the basics of histograms and summaries, explaining the tradeoffs, benefits, and limitations of each. Because they’re easy to understand and demonstrate, those posts focused on so-called explicit bucket histograms. The exponential bucket histogram, also referred to as native histogram in Prometheus, is a low-cost, efficient alternative to explicit bucket histograms. In this post, I go through what they are, how they work...| OpenTelemetry