<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OpenTelemetry</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/</link><description>Recent content on OpenTelemetry</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://deploy-preview-9173--opentelemetry.netlify.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Configure OBI export modes</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/configure/export-modes/</link><pubDate>Fri, 27 Feb 2026 08:18:31 -0800</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/configure/export-modes/</guid><description>&lt;p&gt;In Direct mode OBI pushes metrics and traces directly to a remote endpoint using
the OpenTelemetry protocol (OTLP).&lt;/p&gt;
&lt;p&gt;OBI can also expose a Prometheus HTTP endpoint ready to scrape, for example in
&lt;strong&gt;pull&lt;/strong&gt; mode.&lt;/p&gt;
&lt;p&gt;To use Direct mode requires configuration with authentication credentials. Set
the OTLP endpoint authentication credentials with these environment variables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_HEADERS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To run in Direct mode using the Prometheus scrape endpoint, see the
&lt;a href="../options/"&gt;configuration documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="configure-and-run-obi"&gt;Configure and run OBI&lt;a class="td-heading-self-link" href="#configure-and-run-obi" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This tutorial assumes OBI and OTel Collector are running natively on the same
host, so there is no need to secure the traffic nor provide authentication in
the OTel Collector OTLP receiver.&lt;/p&gt;</description></item><item><title>Quick start</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/collector/quick-start/</link><pubDate>Sat, 21 Feb 2026 17:26:02 -0500</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/collector/quick-start/</guid><description>&lt;!-- markdownlint-disable ol-prefix blanks-around-fences --&gt;
&lt;p&gt;The OpenTelemetry Collector receives &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/signals/traces/"&gt;traces&lt;/a&gt;,
&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/signals/metrics/"&gt;metrics&lt;/a&gt;, and
&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/signals/logs/"&gt;logs&lt;/a&gt;, processes the telemetry, and exports it to
a wide variety of observability backends using its components. For a conceptual
overview of the Collector, see &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/collector/"&gt;Collector&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You are going to learn to do the following in less than five minutes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up and run the OpenTelemetry Collector.&lt;/li&gt;
&lt;li&gt;Send telemetry and see it processed by the Collector.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Make sure that your developer environment has the following. This page assumes
that you&amp;rsquo;re using &lt;code&gt;bash&lt;/code&gt;. Adapt configuration and commands as necessary for your
preferred shell.&lt;/p&gt;</description></item><item><title>Getting started</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/java/agent/getting-started/</link><pubDate>Thu, 29 Jan 2026 05:41:57 -0500</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/java/agent/getting-started/</guid><description>&lt;h2 id="setup"&gt;Setup&lt;a class="td-heading-self-link" href="#setup" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Download &lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar" target="_blank" rel="noopener" class="external-link"&gt;opentelemetry-javaagent.jar&lt;/a&gt; from &lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases" target="_blank" rel="noopener" class="external-link"&gt;Releases&lt;/a&gt; of the
&lt;code&gt;opentelemetry-java-instrumentation&lt;/code&gt; repository and place the JAR in your
preferred directory. The JAR file contains the agent and instrumentation
libraries.&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;-javaagent:path/to/opentelemetry-javaagent.jar&lt;/code&gt; and other config to
your JVM startup arguments and launch your app:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Directly on the startup command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java -javaagent:path/to/opentelemetry-javaagent.jar -Dotel.service.name&lt;span class="o"&gt;=&lt;/span&gt;your-service-name -jar myapp.jar
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Via the &lt;code&gt;JAVA_TOOL_OPTIONS&lt;/code&gt; and other environment variables:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;JAVA_TOOL_OPTIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;-javaagent:path/to/opentelemetry-javaagent.jar&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;OTEL_SERVICE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;your-service-name&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java -jar myapp.jar
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="declarative-configuration"&gt;Declarative configuration&lt;a class="td-heading-self-link" href="#declarative-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Declarative configuration uses a YAML file instead of environment variables or
system properties. This is useful when you have many configuration options to
set, or if you want to use configuration options that are not available as
environment variables or system properties.&lt;/p&gt;</description></item><item><title>Traces</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/signals/traces/</link><pubDate>Wed, 14 Jan 2026 07:44:34 -0500</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/signals/traces/</guid><description>&lt;p&gt;&lt;strong&gt;Traces&lt;/strong&gt; give us the big picture of what happens when a request is made to an
application. Whether your application is a monolith with a single database or a
sophisticated mesh of services, traces are essential to understanding the full
&amp;ldquo;path&amp;rdquo; a request takes in your application.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s explore this with three units of work, represented as &lt;a href="#spans"&gt;Spans&lt;/a&gt;:&lt;/p&gt;
&lt;div class="td-alert td-alert--md alert alert-note" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;Note&lt;/div&gt;
 &lt;div class="td-alert-body"&gt;
 &lt;p&gt;The following JSON examples do not represent a specific format, and especially
not &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otlp/#json-protobuf-encoding"&gt;OTLP/JSON&lt;/a&gt;, which is more
verbose.&lt;/p&gt;</description></item><item><title>Measure traffic between Cloud availability zones</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/network/inter-az/</link><pubDate>Wed, 14 Jan 2026 07:44:34 -0500</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/network/inter-az/</guid><description>&lt;div class="td-alert td-alert--md alert alert-note" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;Note&lt;/div&gt;
 &lt;div class="td-alert-body"&gt;
 &lt;p&gt;This feature is currently only available in Kubernetes clusters.&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Traffic between Cloud Availability Zones might incur additional costs. OBI is
able to measure it either by adding &lt;code&gt;src.zone&lt;/code&gt; and &lt;code&gt;dst.zone&lt;/code&gt; attributes to
regular network metrics, or by providing a separate
&lt;code&gt;obi.network.inter.zone.bytes&lt;/code&gt; (OTel) / &lt;code&gt;obi_network_inter_zone_bytes_total&lt;/code&gt;
(Prometheus) metric.&lt;/p&gt;
&lt;h2 id="add-srczone-and-dstzone-attributes-to-regular-network-metrics"&gt;Add &lt;code&gt;src.zone&lt;/code&gt; and &lt;code&gt;dst.zone&lt;/code&gt; attributes to regular network metrics&lt;a class="td-heading-self-link" href="#add-srczone-and-dstzone-attributes-to-regular-network-metrics" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Source and destination availability zone attributes are disabled by default in
OBI. To enable it, explicitly add them to the list of included network
attributes in the OBI YAML configuration:&lt;/p&gt;</description></item><item><title>Getting Started</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/platforms/kubernetes/getting-started/</link><pubDate>Thu, 08 Jan 2026 22:37:28 +0530</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/platforms/kubernetes/getting-started/</guid><description>&lt;p&gt;This page will walk you through the fastest way to get started monitoring your
Kubernetes cluster using OpenTelemetry. It will focus on collecting metrics and
logs for Kubernetes clusters, nodes, pods, and containers, as well as enabling
the cluster to support services emitting OTLP data.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re looking to see OpenTelemetry in action with Kubernetes, the best place
to start is the &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/demo/kubernetes-deployment/"&gt;OpenTelemetry Demo&lt;/a&gt;. The
demo is intended to illustrate the implementation of OpenTelemetry, but it is
not intended to be an example of how to monitor Kubernetes itself. Once you
finish with this walkthrough, it can be a fun experiment to install the demo and
see how all the monitoring responds to an active workload.&lt;/p&gt;</description></item><item><title>OBI network metrics quickstart</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/network/quickstart/</link><pubDate>Tue, 16 Dec 2025 14:16:09 +0100</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/zero-code/obi/network/quickstart/</guid><description>&lt;p&gt;OBI can generate network metrics in any environment (physical host, virtual
host, or container). It&amp;rsquo;s recommended to use a Kubernetes environment, as OBI is
able to decorate each metric with the metadata of the source and destination
Kubernetes entities.&lt;/p&gt;
&lt;p&gt;The instructions in this quickstart guide focus on deploying directly to
Kubernetes with the kubectl command line utility. This tutorial describes how to
deploy OBI in Kubernetes from scratch. To use Helm, consult the
&lt;a href="../../setup/kubernetes-helm/"&gt;Deploy OBI in Kubernetes with Helm&lt;/a&gt;
documentation.&lt;/p&gt;</description></item><item><title>Specification Status Summary</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/status/</link><pubDate>Sun, 19 Oct 2025 10:20:20 +0300</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/status/</guid><description>&lt;p&gt;OpenTelemetry is developed on a signal by signal basis. Tracing, metrics,
baggage, and logging are examples of signals. Signals are built on top of
context propagation, a shared mechanism for correlating data across distributed
systems.&lt;/p&gt;
&lt;p&gt;Each signal consists of four &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/concepts/components/"&gt;core components&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;li&gt;SDKs&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otlp/"&gt;OpenTelemetry Protocol&lt;/a&gt; (OTLP)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/collector/"&gt;Collector&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Signals also have contrib components, an ecosystem of plugins and
instrumentation. All instrumentation shares the same semantic conventions, to
ensure that they produce the same data when observing common operations, such as
HTTP requests.&lt;/p&gt;</description></item><item><title>Prerequisites</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/contributing/prerequisites/</link><pubDate>Tue, 15 Jul 2025 10:17:31 -0300</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/contributing/prerequisites/</guid><description>&lt;p&gt;To contribute to this repository, you need to be familiar with the following
techs and tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/" target="_blank" rel="noopener" class="external-link"&gt;git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/" target="_blank" rel="noopener" class="external-link"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Markdown (&lt;a href="https://commonmark.org/" target="_blank" rel="noopener" class="external-link"&gt;CommonMark&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;YAML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For technical details concerning how the documentation is built and tested
locally, see &lt;a href="../development"&gt;Development&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="cla"&gt;Sign the CNCF CLA&lt;a class="td-heading-self-link" href="#cla" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All OpenTelemetry contributors must sign the Linux Foundation &lt;a href="https://docs.linuxfoundation.org/lfx/easycla/v2-current/contributors" target="_blank" rel="noopener" class="external-link"&gt;Contributor
License Agreement (CLA)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pull requests from contributors who haven&amp;rsquo;t signed the CLA fail the automated
tests. The name and email you provide must match those found in your
&lt;code&gt;git config&lt;/code&gt;, and your git name and email must match those used for the CNCF
CLA.&lt;/p&gt;</description></item><item><title>Metrics Data Model</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/metrics/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/metrics/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Mixed&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The OpenTelemetry data model for metrics consists of a protocol specification
and semantic conventions for delivery of pre-aggregated metric timeseries data.
The data model is designed for importing data from existing systems and
exporting data into existing systems, as well as to support internal
OpenTelemetry use-cases for generating Metrics from streams of Spans or Logs.&lt;/p&gt;
&lt;p&gt;Popular existing metrics data formats can be unambiguously translated into the
OpenTelemetry data model for metrics, without loss of semantics or fidelity.
Translation from the Prometheus and Statsd exposition formats is explicitly
specified.&lt;/p&gt;</description></item><item><title>Logs Data Model</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/logs/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/logs/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;The purpose of the data model is to have a common understanding of what a log
record is, what data needs to be recorded, transferred, stored and interpreted
by a logging system.&lt;/p&gt;</description></item><item><title>Entity Data Model</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/entities/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/entities/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Development&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Entity represents an object of interest associated with produced telemetry:
traces, metrics, profiles, or logs.&lt;/p&gt;
&lt;p&gt;For example, telemetry produced using an OpenTelemetry SDK is normally
associated with a &lt;code&gt;service&lt;/code&gt; entity. Similarly, OpenTelemetry defines system
metrics for a &lt;code&gt;host&lt;/code&gt;. The &lt;code&gt;host&lt;/code&gt; is the entity we want to associate metrics with
in this case.&lt;/p&gt;
&lt;p&gt;Entities may be also associated with produced telemetry indirectly.
For example a service that produces
telemetry is also related to a process in which the service runs, so we say that
the &lt;code&gt;service&lt;/code&gt; entity is related to the &lt;code&gt;process&lt;/code&gt; entity. The process normally
also runs on a host, so we say that the &lt;code&gt;process&lt;/code&gt; entity is related to the
&lt;code&gt;host&lt;/code&gt; entity.&lt;/p&gt;</description></item><item><title>Configuration Data Model</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The OpenTelemetry configuration data model is part of
the &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/#declarative-configuration"&gt;declarative configuration interface&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The data model defines data structures which allow users to specify an intended
configuration of OpenTelemetry SDK components and instrumentation.&lt;/p&gt;
&lt;p&gt;The data model is defined
in &lt;a href="https://github.com/open-telemetry/opentelemetry-configuration" target="_blank" rel="noopener" class="external-link"&gt;opentelemetry-configuration&lt;/a&gt;
using &lt;a href="https://json-schema.org/" target="_blank" rel="noopener" class="external-link"&gt;JSON Schema&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The data model itself is an abstraction with multiple built-in representations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#file-based-configuration-model"&gt;File-based configuration model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/sdk/#in-memory-configuration-model"&gt;SDK in-memory configuration model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="versioning-policy-and-stability-guarantees"&gt;Versioning policy and stability guarantees&lt;a class="td-heading-self-link" href="#versioning-policy-and-stability-guarantees" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;See &lt;code&gt;opentelemetry-configuration&lt;/code&gt; &lt;a href="https://github.com/open-telemetry/opentelemetry-configuration/blob/main/VERSIONING.md" target="_blank" rel="noopener" class="external-link"&gt;versioning policy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Overview</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/overview/</guid><description>&lt;p&gt;This document provides an overview of the OpenTelemetry project and defines important fundamental terms.&lt;/p&gt;
&lt;p&gt;Additional term definitions can be found in the &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/glossary/"&gt;glossary&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="opentelemetry-client-architecture"&gt;OpenTelemetry Client Architecture&lt;a class="td-heading-self-link" href="#opentelemetry-client-architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;img src="https://deploy-preview-9173--opentelemetry.netlify.app/img/architecture.png" alt="Cross cutting concerns"&gt;&lt;p&gt;At the highest architectural level, OpenTelemetry clients are organized into &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/glossary/#signals"&gt;&lt;strong&gt;signals&lt;/strong&gt;&lt;/a&gt;.
Each signal provides a specialized form of observability. For example, tracing, metrics, and baggage are three separate signals.
Signals share a common subsystem – &lt;strong&gt;context propagation&lt;/strong&gt; – but they function independently from each other.&lt;/p&gt;</description></item><item><title>Tracing API</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/trace/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/trace/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;
&lt;p&gt;The Tracing API consists of these main components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#tracerprovider"&gt;&lt;code&gt;TracerProvider&lt;/code&gt;&lt;/a&gt; is the entry point of the API.
It provides access to &lt;code&gt;Tracer&lt;/code&gt;s.&lt;/li&gt;
&lt;li&gt;&lt;a href="#tracer"&gt;&lt;code&gt;Tracer&lt;/code&gt;&lt;/a&gt; is responsible for creating &lt;code&gt;Span&lt;/code&gt;s.&lt;/li&gt;
&lt;li&gt;&lt;a href="#span"&gt;&lt;code&gt;Span&lt;/code&gt;&lt;/a&gt; is the API to trace an operation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="data-types"&gt;Data types&lt;a class="td-heading-self-link" href="#data-types" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While languages and platforms have different ways of representing data,
this section defines some generic requirements for this API.&lt;/p&gt;
&lt;h3 id="time"&gt;Time&lt;a class="td-heading-self-link" href="#time" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;OpenTelemetry can operate on time values up to nanosecond (ns) precision.
The representation of those values is language specific.&lt;/p&gt;</description></item><item><title>Metrics API</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/metrics/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/metrics/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Metrics API consists of these main components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#meterprovider"&gt;MeterProvider&lt;/a&gt; is the entry point of the API. It provides
access to &lt;code&gt;Meters&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="#meter"&gt;Meter&lt;/a&gt; is responsible for creating &lt;code&gt;Instruments&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="#instrument"&gt;Instrument&lt;/a&gt; is responsible for reporting
&lt;a href="#measurement"&gt;Measurements&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example of the object hierarchy inside a process instrumented with
the metrics API:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+-- MeterProvider(default)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- Meter(name=&amp;#39;io.opentelemetry.runtime&amp;#39;, version=&amp;#39;1.0.0&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | +-- Instrument&amp;lt;Asynchronous Gauge, int&amp;gt;(name=&amp;#39;cpython.gc&amp;#39;, attributes=[&amp;#39;generation&amp;#39;], unit=&amp;#39;kB&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | +-- instruments...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- Meter(name=&amp;#39;io.opentelemetry.contrib.mongodb.client&amp;#39;, version=&amp;#39;2.3.0&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- Instrument&amp;lt;Counter, int&amp;gt;(name=&amp;#39;client.exception&amp;#39;, attributes=[&amp;#39;type&amp;#39;], unit=&amp;#39;1&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- Instrument&amp;lt;Histogram, double&amp;gt;(name=&amp;#39;client.duration&amp;#39;, attributes=[&amp;#39;server.address&amp;#39;, &amp;#39;server.port&amp;#39;], unit=&amp;#39;ms&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- instruments...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+-- MeterProvider(custom)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- Meter(name=&amp;#39;bank.payment&amp;#39;, version=&amp;#39;23.3.5&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- instruments...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="meterprovider"&gt;MeterProvider&lt;a class="td-heading-self-link" href="#meterprovider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Meter&lt;/code&gt;s can be accessed with a &lt;code&gt;MeterProvider&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Logs API</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/logs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/logs/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;
&lt;p&gt;The Logs API is provided for logging library authors to build
&lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/logs/supplementary-guidelines/#how-to-create-a-log4j-log-appender"&gt;log appenders&lt;/a&gt;,
which use this API to bridge between existing logging libraries and the
OpenTelemetry log data model.&lt;/p&gt;
&lt;p&gt;The Logs API can also be directly called by instrumentation libraries
as well as instrumented libraries or applications. However, languages are also
free to provide a more &lt;a href="#ergonomic-api"&gt;ergonomic API&lt;/a&gt; for direct usage.&lt;/p&gt;
&lt;p&gt;The Logs API consist of these main components:&lt;/p&gt;</description></item><item><title>Instrumentation Configuration API</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Mixed&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The instrumentation configuration API is part of
the &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/configuration/#declarative-configuration"&gt;declarative configuration interface&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The API allows &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/glossary/#instrumentation-library"&gt;instrumentation libraries&lt;/a&gt;
to consume configuration by reading relevant configuration during
initialization. For example, an instrumentation library for an HTTP client can
read the set of HTTP request and response headers to capture.&lt;/p&gt;
&lt;p&gt;It consists of the following main components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#configprovider"&gt;ConfigProvider&lt;/a&gt; is the entry point of the API.&lt;/li&gt;
&lt;li&gt;&lt;a href="#configproperties"&gt;ConfigProperties&lt;/a&gt; is a programmatic representation of a
configuration mapping node.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="configprovider"&gt;ConfigProvider&lt;a class="td-heading-self-link" href="#configprovider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Development&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Baggage API</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/baggage/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/baggage/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://deploy-preview-9173--opentelemetry.netlify.app/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Baggage&lt;/code&gt; is a set of application-defined properties contextually associated
with a distributed request or workflow execution (see also the &lt;a href="https://www.w3.org/TR/baggage/" target="_blank" rel="noopener" class="external-link"&gt;W3C Baggage
Specification&lt;/a&gt;). Baggage can be used, among other things, to annotate
telemetry, adding contextual information to metrics, traces, and logs.&lt;/p&gt;
&lt;p&gt;In OpenTelemetry &lt;code&gt;Baggage&lt;/code&gt; is represented as a set of name/value pairs
describing user-defined properties. Each name in &lt;code&gt;Baggage&lt;/code&gt; MUST be associated
with &lt;em&gt;exactly one value&lt;/em&gt;. This is more restrictive than the &lt;a href="https://www.w3.org/TR/baggage/#baggage-string" target="_blank" rel="noopener" class="external-link"&gt;W3C Baggage
Specification, § 3.2.1.1&lt;/a&gt;
which allows duplicate entries for a given name.&lt;/p&gt;</description></item><item><title>OpenTelemetry mission, vision, and values</title><link>https://deploy-preview-9173--opentelemetry.netlify.app/community/mission/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-9173--opentelemetry.netlify.app/community/mission/</guid><description>&lt;h2 id="mission"&gt;Mission&lt;a class="td-heading-self-link" href="#mission" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Our overall north star as a community&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;OpenTelemetry&amp;rsquo;s Mission: &lt;strong&gt;to enable effective observability by making
high-quality, portable telemetry ubiquitous.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="vision"&gt;Vision&lt;a class="td-heading-self-link" href="#vision" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The world we imagine for OTel end-users&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Effective observability is powerful because it enables developers to innovate
faster while maintaining high reliability. But effective observability
absolutely requires high-quality telemetry – and the performant, consistent
instrumentation that makes it possible.&lt;/p&gt;
&lt;p&gt;Telemetry in this context is the firehose of raw observational data streaming
out of software applications, and while “high-quality telemetry” may be a
requirement for excellent observability, it’s still unreasonable and unrealistic
to expect developers of application software to add or maintain the necessary
instrumentation on their own. That is a massive undertaking, and in practice
it’s not “just code” – there is also necessary alignment around protocols and
semantic conventions for tags, attributes, and other metadata to consider.&lt;/p&gt;</description></item></channel></rss>