<?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://opentelemetry.io/</link><description>Recent content on OpenTelemetry</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://opentelemetry.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Quick start</title><link>https://opentelemetry.io/docs/collector/quick-start/</link><pubDate>Thu, 27 Aug 2026 05:31:10 +0000</pubDate><guid>https://opentelemetry.io/docs/collector/quick-start/</guid><description>&lt;!-- markdownlint-disable ol-prefix blanks-around-fences --&gt;&#10;&lt;p&gt;The OpenTelemetry Collector receives telemetry such as&#10;&lt;a href="https://opentelemetry.io/docs/concepts/signals/traces/"&gt;traces&lt;/a&gt;,&#10;&lt;a href="https://opentelemetry.io/docs/concepts/signals/metrics/"&gt;metrics&lt;/a&gt;, and&#10;&lt;a href="https://opentelemetry.io/docs/concepts/signals/logs/"&gt;logs&lt;/a&gt;, processes it, and forwards it to one or&#10;more observability backends through its component pipeline.&lt;/p&gt;&#10;&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;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;This quick start demo creates a basic local setup. The goal is to show you how&#10;the Collector works, not to set up a production-ready environment.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;In this guide, you will:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Start a local instance of the OpenTelemetry Collector&lt;/li&gt;&#10;&lt;li&gt;Generate trace data and send it to the Collector&lt;/li&gt;&#10;&lt;li&gt;Check that the Collector receives and processes the data&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;By the end, you will have a simple pipeline running on your machine and a&#10;clearer idea of how the Collector fits into an observability stack. If you want&#10;more context before getting started, see the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;Collector&lt;/a&gt;&#10;overview.&lt;/p&gt;</description></item><item><title>Configure OBI export modes</title><link>https://opentelemetry.io/docs/zero-code/obi/configure/export-modes/</link><pubDate>Mon, 24 Aug 2026 20:08:18 +0000</pubDate><guid>https://opentelemetry.io/docs/zero-code/obi/configure/export-modes/</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;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;This page uses Config v1 field names and examples. For Config v2, see the&#10;&lt;a href="../config-v2/"&gt;Config v2 reference&lt;/a&gt;. To convert an existing file, use the&#10;&lt;a href="../migrate-to-config-v2/"&gt;migration guide&lt;/a&gt;.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;In Direct mode OBI pushes metrics and traces directly to a remote endpoint using&#10;the OpenTelemetry protocol (OTLP).&lt;/p&gt;&#10;&lt;p&gt;OBI can also expose a Prometheus HTTP endpoint ready to scrape, for example in&#10;&lt;strong&gt;pull&lt;/strong&gt; mode.&lt;/p&gt;&#10;&lt;p&gt;To use Direct mode requires configuration with authentication credentials. Set&#10;the OTLP endpoint authentication credentials with these environment variables:&lt;/p&gt;</description></item><item><title>Set Up OpenTelemetry PHP Distro</title><link>https://opentelemetry.io/docs/zero-code/php/distro/getting-started/setup/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://opentelemetry.io/docs/zero-code/php/distro/getting-started/setup/</guid><description>&lt;p&gt;Learn how to instrument your PHP application with OpenTelemetry PHP Distro and&#10;send telemetry data to an OTLP-compatible backend.&lt;/p&gt;&#10;&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;&#10;&lt;ul&gt;&#10;&lt;li&gt;Have a destination for telemetry data (OTLP endpoint).&lt;/li&gt;&#10;&lt;li&gt;Use a supported Linux distribution and PHP version.&lt;/li&gt;&#10;&lt;li&gt;Do not run another PHP APM or OpenTelemetry agent in the same process.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;For supported operating systems and PHP versions, see&#10;&lt;a href="https://opentelemetry.io/docs/zero-code/php/distro/reference/supported-technologies/"&gt;Supported technologies&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="limitations"&gt;Limitations&lt;a class="td-heading-self-link" href="#limitations" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Known runtime and compatibility limitations are described in&#10;&lt;a href="https://opentelemetry.io/docs/zero-code/php/distro/getting-started/limitations/"&gt;Limitations&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Configuration</title><link>https://opentelemetry.io/docs/zero-code/php/distro/reference/configuration/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://opentelemetry.io/docs/zero-code/php/distro/reference/configuration/</guid><description>&lt;p&gt;OpenTelemetry PHP Distro supports standard OpenTelemetry SDK configuration and&#10;distro-specific options.&lt;/p&gt;&#10;&lt;h2 id="configuration-method"&gt;Configuration method&lt;a class="td-heading-self-link" href="#configuration-method" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Configure via environment variables available to PHP processes:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;OTEL_*&lt;/code&gt; for OpenTelemetry standard options&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;OTEL_PHP_*&lt;/code&gt; for distro-specific options&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Example:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&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_EXPORTER_OTLP_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://your-endpoint:443/&amp;#34;&lt;/span&gt;&#10;&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_EXPORTER_OTLP_HEADERS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Authorization=Bearer &amp;lt;token&amp;gt;&amp;#34;&lt;/span&gt;&#10;&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_PHP_LOG_LEVEL_STDERR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;INFO&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="opentelemetry-options"&gt;OpenTelemetry options&lt;a class="td-heading-self-link" href="#opentelemetry-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The distro supports standard OpenTelemetry PHP SDK options.&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Accepted values&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;http://localhost:4318&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;URL&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;OTLP endpoint URL&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_HEADERS&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;key=value,key2=value2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;OTLP request headers&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_INSECURE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Disable TLS verification (testing only)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_CERTIFICATE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Filesystem path (PEM)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CA certificate path for OTLP TLS&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Filesystem path (PEM)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Client certificate for OTLP mTLS&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_CLIENT_KEY&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Filesystem path (PEM)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Client key for OTLP mTLS&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_EXPORTER_OTLP_CLIENT_KEYPASS&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;String&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Passphrase for encrypted OTLP client key&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_SERVICE_NAME&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;unknown_service&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;String&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Value of &lt;code&gt;service.name&lt;/code&gt; resource attribute&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_RESOURCE_ATTRIBUTES&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;key=value,key2=value2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Resource attributes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_TRACES_SAMPLER&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;parentbased_always_on&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Sampler name&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Trace sampler&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_TRACES_SAMPLER_ARG&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;(empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;String/number&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Sampler argument&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;OTEL_LOG_LEVEL&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;info&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;error&lt;/code&gt;, &lt;code&gt;warn&lt;/code&gt;, &lt;code&gt;info&lt;/code&gt;, &lt;code&gt;debug&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SDK internal log level&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="distro-specific-options-otel_php_"&gt;Distro-specific options (&lt;code&gt;OTEL_PHP_*&lt;/code&gt;)&lt;a class="td-heading-self-link" href="#distro-specific-options-otel_php_" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;All &lt;code&gt;OTEL_PHP_*&lt;/code&gt; options can be set as environment variables or in &lt;code&gt;php.ini&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Getting started</title><link>https://opentelemetry.io/docs/zero-code/java/agent/getting-started/</link><pubDate>Thu, 29 Jan 2026 05:41:57 -0500</pubDate><guid>https://opentelemetry.io/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;&#10;&lt;ol&gt;&#10;&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&#10;&lt;code&gt;opentelemetry-java-instrumentation&lt;/code&gt; repository and place the JAR in your&#10;preferred directory. The JAR file contains the agent and instrumentation&#10;libraries.&lt;/li&gt;&#10;&lt;li&gt;Add &lt;code&gt;-javaagent:path/to/opentelemetry-javaagent.jar&lt;/code&gt; and other config to&#10;your JVM startup arguments and launch your app:&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Directly on the startup command:&lt;/p&gt;&#10;&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&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Via the &lt;code&gt;JAVA_TOOL_OPTIONS&lt;/code&gt; and other environment variables:&lt;/p&gt;&#10;&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;&#10;&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;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java -jar myapp.jar&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&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;&#10;&lt;p&gt;Declarative configuration uses a YAML file instead of environment variables or&#10;system properties. This is useful when you have many configuration options to&#10;set, or if you want to use configuration options that are not available as&#10;environment variables or system properties.&lt;/p&gt;</description></item><item><title>Traces</title><link>https://opentelemetry.io/docs/concepts/signals/traces/</link><pubDate>Wed, 14 Jan 2026 07:44:34 -0500</pubDate><guid>https://opentelemetry.io/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&#10;application. Whether your application is a monolith with a single database or a&#10;sophisticated mesh of services, traces are essential to understanding the full&#10;&amp;ldquo;path&amp;rdquo; a request takes in your application.&lt;/p&gt;&#10;&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;&#10;&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;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;The following JSON examples do not represent a specific format, and especially&#10;not &lt;a href="https://opentelemetry.io/docs/specs/otlp/#json-protobuf-encoding"&gt;OTLP/JSON&lt;/a&gt;, which is more&#10;verbose.&lt;/p&gt;</description></item><item><title>Measure traffic between Cloud availability zones</title><link>https://opentelemetry.io/docs/zero-code/obi/network/inter-az/</link><pubDate>Wed, 14 Jan 2026 07:44:34 -0500</pubDate><guid>https://opentelemetry.io/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;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;This feature is currently only available in Kubernetes clusters.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Traffic between Cloud Availability Zones might incur additional costs. OBI is&#10;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&#10;regular network metrics, or by providing a separate&#10;&lt;code&gt;obi.network.inter.zone.bytes&lt;/code&gt; (OTel) / &lt;code&gt;obi_network_inter_zone_bytes_total&lt;/code&gt;&#10;(Prometheus) metric.&lt;/p&gt;&#10;&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;&#10;&lt;p&gt;Source and destination availability zone attributes are disabled by default in&#10;OBI. To enable it, explicitly add them to the list of included network&#10;attributes in the OBI YAML configuration:&lt;/p&gt;</description></item><item><title>Getting Started</title><link>https://opentelemetry.io/docs/platforms/kubernetes/getting-started/</link><pubDate>Thu, 08 Jan 2026 22:37:28 +0530</pubDate><guid>https://opentelemetry.io/docs/platforms/kubernetes/getting-started/</guid><description>&lt;p&gt;This page will walk you through the fastest way to get started monitoring your&#10;Kubernetes cluster using OpenTelemetry. It will focus on collecting metrics and&#10;logs for Kubernetes clusters, nodes, pods, and containers, as well as enabling&#10;the cluster to support services emitting OTLP data.&lt;/p&gt;&#10;&lt;p&gt;If you&amp;rsquo;re looking to see OpenTelemetry in action with Kubernetes, the best place&#10;to start is the &lt;a href="https://opentelemetry.io/docs/demo/kubernetes-deployment/"&gt;OpenTelemetry Demo&lt;/a&gt;. The&#10;demo is intended to illustrate the implementation of OpenTelemetry, but it is&#10;not intended to be an example of how to monitor Kubernetes itself. Once you&#10;finish with this walkthrough, it can be a fun experiment to install the demo and&#10;see how all the monitoring responds to an active workload.&lt;/p&gt;</description></item><item><title>OBI network metrics quickstart</title><link>https://opentelemetry.io/docs/zero-code/obi/network/quickstart/</link><pubDate>Tue, 16 Dec 2025 14:16:09 +0100</pubDate><guid>https://opentelemetry.io/docs/zero-code/obi/network/quickstart/</guid><description>&lt;p&gt;OBI can generate network metrics in any environment (physical host, virtual&#10;host, or container). It&amp;rsquo;s recommended to use a Kubernetes environment, as OBI is&#10;able to decorate each metric with the metadata of the source and destination&#10;Kubernetes entities.&lt;/p&gt;&#10;&lt;p&gt;The instructions in this quickstart guide focus on deploying directly to&#10;Kubernetes with the kubectl command line utility. This tutorial describes how to&#10;deploy OBI in Kubernetes from scratch. To use Helm, consult the&#10;&lt;a href="../../setup/kubernetes-helm/"&gt;Deploy OBI in Kubernetes with Helm&lt;/a&gt;&#10;documentation.&lt;/p&gt;</description></item><item><title>Specification Status Summary</title><link>https://opentelemetry.io/docs/specs/status/</link><pubDate>Sun, 19 Oct 2025 10:20:20 +0300</pubDate><guid>https://opentelemetry.io/docs/specs/status/</guid><description>&lt;p&gt;OpenTelemetry is developed on a signal by signal basis. Tracing, metrics,&#10;baggage, and logging are examples of signals. Signals are built on top of&#10;context propagation, a shared mechanism for correlating data across distributed&#10;systems.&lt;/p&gt;&#10;&lt;p&gt;Each signal consists of four &lt;a href="https://opentelemetry.io/docs/concepts/components/"&gt;core components&lt;/a&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;APIs&lt;/li&gt;&#10;&lt;li&gt;SDKs&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://opentelemetry.io/docs/specs/otlp/"&gt;OpenTelemetry Protocol&lt;/a&gt; (OTLP)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://opentelemetry.io/docs/collector/"&gt;Collector&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Signals also have contrib components, an ecosystem of plugins and&#10;instrumentation. All instrumentation shares the same semantic conventions, to&#10;ensure that they produce the same data when observing common operations, such as&#10;HTTP requests.&lt;/p&gt;</description></item><item><title>Prerequisites</title><link>https://opentelemetry.io/docs/contributing/prerequisites/</link><pubDate>Tue, 15 Jul 2025 10:17:31 -0300</pubDate><guid>https://opentelemetry.io/docs/contributing/prerequisites/</guid><description>&lt;p&gt;To contribute to this repository, you need to be familiar with the following&#10;techs and tools:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;li&gt;&lt;a href="https://github.com/" target="_blank" rel="noopener" class="external-link"&gt;GitHub&lt;/a&gt;&lt;/li&gt;&#10;&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;&#10;&lt;li&gt;YAML&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;For technical details concerning how the documentation is built and tested&#10;locally, see &lt;a href="../development"&gt;Development&lt;/a&gt;.&lt;/p&gt;&#10;&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;&#10;&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&#10;License Agreement (CLA)&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Pull requests from contributors who haven&amp;rsquo;t signed the CLA fail the automated&#10;tests. The name and email you provide must match those found in your&#10;&lt;code&gt;git config&lt;/code&gt;, and your git name and email must match those used for the CNCF&#10;CLA.&lt;/p&gt;</description></item><item><title>Entity Data Model</title><link>https://opentelemetry.io/docs/specs/otel/entities/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/entities/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Development&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Entity represents an object of interest associated with produced telemetry:&#10;traces, metrics, profiles, or logs.&lt;/p&gt;&#10;&lt;p&gt;For example, telemetry produced using an OpenTelemetry SDK is normally&#10;associated with a &lt;code&gt;service&lt;/code&gt; entity. Similarly, OpenTelemetry defines system&#10;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&#10;in this case.&lt;/p&gt;&#10;&lt;p&gt;Entities may be also associated with produced telemetry indirectly.&#10;For example a service that produces&#10;telemetry is also related to a process in which the service runs, so we say that&#10;the &lt;code&gt;service&lt;/code&gt; entity is related to the &lt;code&gt;process&lt;/code&gt; entity. The process normally&#10;also runs on a host, so we say that the &lt;code&gt;process&lt;/code&gt; entity is related to the&#10;&lt;code&gt;host&lt;/code&gt; entity.&lt;/p&gt;</description></item><item><title>Configuration Data Model</title><link>https://opentelemetry.io/docs/specs/otel/configuration/data-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/configuration/data-model/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;&#10;&lt;!-- START doctoc --&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#overview"&gt;Overview&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#versioning-policy-and-stability-guarantees"&gt;Versioning policy and stability guarantees&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#file-based-configuration-model"&gt;File-based configuration model&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#yaml-file-format"&gt;YAML file format&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#environment-variable-substitution"&gt;Environment variable substitution&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;!-- END doctoc --&gt;&#10;&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;&#10;&lt;p&gt;The OpenTelemetry configuration data model is part of&#10;the &lt;a href="https://opentelemetry.io/docs/specs/otel/configuration/#declarative-configuration"&gt;declarative configuration interface&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The data model defines data structures which allow users to specify an intended&#10;configuration of OpenTelemetry SDK components and instrumentation.&lt;/p&gt;&#10;&lt;p&gt;The data model is defined&#10;in &lt;a href="https://github.com/open-telemetry/opentelemetry-configuration" target="_blank" rel="noopener" class="external-link"&gt;opentelemetry-configuration&lt;/a&gt;&#10;using &lt;a href="https://json-schema.org/" target="_blank" rel="noopener" class="external-link"&gt;JSON Schema&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The data model itself is an abstraction with multiple built-in representations:&lt;/p&gt;</description></item><item><title>Overview</title><link>https://opentelemetry.io/docs/specs/otel/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/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;&#10;&lt;p&gt;Additional term definitions can be found in the &lt;a href="https://opentelemetry.io/docs/specs/otel/glossary/"&gt;glossary&lt;/a&gt;.&lt;/p&gt;&#10;&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;&#10;&lt;img src="https://opentelemetry.io/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://opentelemetry.io/docs/specs/otel/glossary/#signals"&gt;&lt;strong&gt;signals&lt;/strong&gt;&lt;/a&gt;.&#10;Each signal provides a specialized form of observability. For example, tracing, metrics, and baggage are three separate signals.&#10;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://opentelemetry.io/docs/specs/otel/trace/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/trace/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;&#10;&lt;p&gt;The Tracing API consists of these main components:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&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.&#10;It provides access to &lt;code&gt;Tracer&lt;/code&gt;s.&lt;/li&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&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;&#10;&lt;p&gt;While languages and platforms have different ways of representing data,&#10;this section defines some generic requirements for this API.&lt;/p&gt;&#10;&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;&#10;&lt;p&gt;OpenTelemetry can operate on time values up to nanosecond (ns) precision.&#10;The representation of those values is language specific.&lt;/p&gt;</description></item><item><title>Metrics API</title><link>https://opentelemetry.io/docs/specs/otel/metrics/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/metrics/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;&#10;&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;&#10;&lt;p&gt;The Metrics API consists of these main components:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#meterprovider"&gt;MeterProvider&lt;/a&gt; is the entry point of the API. It provides&#10;access to &lt;code&gt;Meters&lt;/code&gt;.&lt;/li&gt;&#10;&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;&#10;&lt;li&gt;&lt;a href="#instrument"&gt;Instrument&lt;/a&gt; is responsible for reporting&#10;&lt;a href="#measurement"&gt;Measurements&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Here is an example of the object hierarchy inside a process instrumented with&#10;the metrics API:&lt;/p&gt;&#10;&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)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | +-- instruments...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- instruments...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+-- MeterProvider(custom)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&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;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; +-- instruments...&#10;&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;&#10;&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://opentelemetry.io/docs/specs/otel/logs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/logs/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;, except where otherwise specified&lt;/p&gt;&#10;&lt;p&gt;The Logs API is provided for logging library authors to build&#10;&lt;a href="https://opentelemetry.io/docs/specs/otel/logs/supplementary-guidelines/#how-to-create-a-log4j-log-appender"&gt;log appenders&lt;/a&gt;,&#10;which use this API to bridge between existing logging libraries and the&#10;OpenTelemetry log data model.&lt;/p&gt;&#10;&lt;p&gt;The Logs API can also be directly called by instrumentation libraries&#10;as well as instrumented libraries or applications. However, languages are also&#10;free to provide a more &lt;a href="#ergonomic-api"&gt;ergonomic API&lt;/a&gt; for direct usage.&lt;/p&gt;&#10;&lt;p&gt;The Logs API consist of these main components:&lt;/p&gt;</description></item><item><title>Instrumentation Configuration API</title><link>https://opentelemetry.io/docs/specs/otel/configuration/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/configuration/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Mixed&lt;/a&gt;&lt;/p&gt;&#10;&lt;!-- START doctoc --&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#overview"&gt;Overview&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#configprovider"&gt;ConfigProvider&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#configprovider-operations"&gt;ConfigProvider operations&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#get-instrumentation-config"&gt;Get instrumentation config&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#configproperties"&gt;ConfigProperties&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;!-- END doctoc --&gt;&#10;&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;&#10;&lt;p&gt;The instrumentation configuration API is part of&#10;the &lt;a href="https://opentelemetry.io/docs/specs/otel/configuration/#declarative-configuration"&gt;declarative configuration interface&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The API allows &lt;a href="https://opentelemetry.io/docs/specs/otel/glossary/#instrumentation-library"&gt;instrumentation libraries&lt;/a&gt;&#10;to consume configuration by reading relevant configuration during&#10;initialization. For example, an instrumentation library for an HTTP client can&#10;read the set of HTTP request and response headers to capture.&lt;/p&gt;&#10;&lt;p&gt;It consists of the following main components:&lt;/p&gt;</description></item><item><title>Baggage API</title><link>https://opentelemetry.io/docs/specs/otel/baggage/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/docs/specs/otel/baggage/api/</guid><description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: &lt;a href="https://opentelemetry.io/docs/specs/otel/document-status/"&gt;Stable&lt;/a&gt;&lt;/p&gt;&#10;&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;&#10;&lt;p&gt;&lt;code&gt;Baggage&lt;/code&gt; is a set of application-defined properties contextually associated&#10;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&#10;Specification&lt;/a&gt;). Baggage can be used, among other things, to annotate&#10;telemetry, adding contextual information to metrics, traces, and logs.&lt;/p&gt;&#10;&lt;p&gt;In OpenTelemetry &lt;code&gt;Baggage&lt;/code&gt; is represented as a set of name/value pairs&#10;describing user-defined properties. Each name in &lt;code&gt;Baggage&lt;/code&gt; MUST be associated&#10;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&#10;Specification, § 3.2.1.1&lt;/a&gt;&#10;which allows duplicate entries for a given name.&lt;/p&gt;</description></item><item><title>OpenTelemetry mission, vision, and values</title><link>https://opentelemetry.io/community/mission/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opentelemetry.io/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;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Our overall north star as a community&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;OpenTelemetry&amp;rsquo;s Mission: &lt;strong&gt;to enable effective observability by making&#10;high-quality, portable telemetry ubiquitous.&lt;/strong&gt;&lt;/p&gt;&#10;&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;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;The world we imagine for OTel end-users&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Effective observability is powerful because it enables developers to innovate&#10;faster while maintaining high reliability. But effective observability&#10;absolutely requires high-quality telemetry – and the performant, consistent&#10;instrumentation that makes it possible.&lt;/p&gt;&#10;&lt;p&gt;Telemetry in this context is the firehose of raw observational data streaming&#10;out of software applications, and while “high-quality telemetry” may be a&#10;requirement for excellent observability, it’s still unreasonable and unrealistic&#10;to expect developers of application software to add or maintain the necessary&#10;instrumentation on their own. That is a massive undertaking, and in practice&#10;it’s not “just code” – there is also necessary alignment around protocols and&#10;semantic conventions for tags, attributes, and other metadata to consider.&lt;/p&gt;</description></item></channel></rss>