The OpenTelemetry project uses terminology you may or may not be familiar with. In addition, the project may define the terminology in a different way than others. This page captures terminology used in the project and what it means.
The process of combining multiple measurements into exact or estimated
statistics about the measurements that took place during an interval of time,
during program execution. Used by the Metric
Data Source
.
Application Programming Interface. In the OpenTelemetry project, used to define
how telemetry data is generated per Data Source
.
One or more Services
designed for end users or other applications.
Application Performance Monitoring is about monitoring software applications, their performance (speed, reliability, availability, etc.) to detect issues, alerting and tooling for finding the root cause.
A key-value pair. Used across telemetry signals - e.g. in Traces
to
attach data to a Span
, or in Metrics
. See attribute
spec.
Refers to telemetry collection methods that do not require the end-user to modify application’s source code. Methods vary by programming language, and examples include bytecode injection or monkey patching.
A mechanism for propagating name/value pairs to help establish a causal relationship between events and services. See baggage spec.
See Instrumented Library
.
A component of an Application
that is not running inside a
private infrastructure and is typically used directly by end-users. Examples of
client-side apps are browser apps, mobile apps, and apps running on IoT devices.
A vendor-agnostic implementation on how to receive, process, and export telemetry data. A single binary that can be deployed as an agent or gateway.
Also known as the OpenTelemetry Collector. More on the Collector here.
Several Instrumentation Libraries
and the
Collector
offer a set of core capabilities as well as a
dedicated contrib repository for non-core capabilities including vendor
Exporters
.
Allows all Data Sources
to share an underlying context
mechanism for storing state and accessing data across the lifespan of a
Transaction
. See context propagation
spec.
See Signal
See Label
.
Tracks the progression of a single Request
, called a
Trace
, as it is handled by Services
that make up an
Application
. A Distributed Trace
transverses process, network and security boundaries.
More on Distributed Tracing here.
Something that happened where representation depends on the
Data Source
. For example, Spans
.
Provides functionality to emit telemetry to consumers. Used by
Instrumentation Libraries
and the
Collector
. Exporters can be push- or
pull-based.
Name/value pairs added to Log Records
(similar to
Attributes
for Spans
and Labels
for
Metrics
). See field spec.
A high-performance, open source universal RPC
framework. More on gRPC
here.
Short for Hypertext Transfer Protocol.
Denotes the Library
for which the telemetry signals
(Traces
, Metrics
, Logs
) are gathered. See
more.
Denotes the Library
that provides the instrumentation for a given
Instrumented Library
.
Instrumented Library
and
Instrumentation Library
may be the same
Library
if it has built-in OpenTelemetry instrumentation. See
more.
Short for JavaScript Object Notation.
See Attribute.
Programming Language.
A language-specific collection of behavior invoked by an interface.
Sometimes used to refer to a collection of Log Records
. May be
ambiguous, since people also sometimes use Log
to refer to a single
Log Record
, thus this term should be used carefully and in the
context where ambiguity is possible additional qualifiers should be used (e.g.
Log Record
). See more.
A recording of an Event
. Typically the record includes a timestamp
indicating when the Event
happened as well as other data that
describes what happened, where it happened, etc. See more.
A name/value pair added to telemetry data. OpenTelemetry calls this
Attributes
on Spans
, Labels
on
Metrics
and Fields
on Logs
.
Records a data point, either raw measurements or predefined aggregation, as
time series with Metadata
. See more.
Short form for OpenCensus
.
A set of libraries for various languages that allow you to collect application metrics and distributed traces, then transfer the data to a backend of your choice in real time. Precursor to OpenTelemetry. See more.
Vendor-neutral APIs and instrumentation for distributed tracing. Precursor to OpenTelemetry. See more.
Short form for OpenTracing
.
Short form for OpenTelemetry.
Short form for OpenTelemetry Collector.
Short for OpenTelemetry Protocol.
Operation performed on data between being received and being exported. For example, batching. Used by ‘Instrumentation Libraries’ and the Collector.
Used to serialize and deserialize specific parts of telemetry data such as span
context and Baggage
in Spans
. See more.
Language independent interface types. See more.
Term used by the Collector
to
define how telemetry data is received. Receivers can be push- or pull-based. See
more.
See Distributed Tracing
.
Captures information about the entity for which telemetry is recorded. 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
and applied to any data source.
Short for Representational State Transfer.
Short for Remote Procedure Call.
A mechanism to control the amount of data exported. Most commonly used with the
Tracing
Data Source
. See more.
Short for Software Development Kit. Refers to a telemetry SDK that denotes a
Library
that implement the OpenTelemetry API
.
Defines standard names and values of Metadata
in order to provide
vendor-agnostic telemetry data.
A component of an Application
. Multiple instances of a
Service
are typically deployed for high availability and
scalability. A Service
may be deployed in multiple locations.
One of Traces
, Metrics
or Logs
. More on
Signals here.
Represents a single operation within a Trace
. See more.
A span link is a link between causally-related spans. For details see Links between spans and Specifying Links.
Describes the cross-language requirements and expectations for all implementations. See more.
The result of the operation. Typically used to indicate whether an error occurred. See more.
See Metadata
.
A DAG
of Spans
, where the edges between Spans
are defined as parent/child. relationship. See more.
Responsible for creating Spans
. See more.
See Distributed Tracing
.
An in-process alternative to external exporters. When included, they collect and aggregate tracing and metrics information in the background; this data is served on web pages when requested. See more.