<?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-12367--opentelemetry.netlify.app/zh/</link><description>Recent content on OpenTelemetry</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/index.xml" rel="self" type="application/rss+xml"/><item><title>OBI Config v2 reference</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/configure/config-v2/</link><pubDate>Wed, 21 Oct 2026 23:50:30 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/configure/config-v2/</guid><description>&lt;p&gt;Config v2 is available in OBI v0.11.0 and later. It uses the OpenTelemetry&#10;declarative configuration structure. Common settings such as resources,&#10;sampling, and exporters remain at the root of the document, while OBI-specific&#10;settings are grouped under &lt;code&gt;extensions.obi&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;If you already have a Config v1 file, use the&#10;&lt;a href="../migrate-to-config-v2/"&gt;Config v1 to v2 migration guide&lt;/a&gt; instead of rewriting&#10;it by hand.&lt;/p&gt;&#10;&lt;h2 id="choose-a-configuration-structure"&gt;Choose a configuration structure&lt;a class="td-heading-self-link" href="#choose-a-configuration-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;How you structure the configuration depends on how you run OBI:&lt;/p&gt;</description></item><item><title>OBI global configuration properties</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/configure/options/</link><pubDate>Wed, 21 Oct 2026 23:50:30 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/configure/options/</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;说明&lt;/div&gt;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;This page uses Config v1 field names, examples, and environment variables. For&#10;Config v2, see the &lt;a href="../config-v2/"&gt;Config v2 reference&lt;/a&gt;. To convert an&#10;existing file, use the &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;OBI can be configured via environment variables or via a YAML configuration file&#10;passed either with the &lt;code&gt;-config&lt;/code&gt; command-line argument or the&#10;&lt;code&gt;OTEL_EBPF_CONFIG_PATH&lt;/code&gt; environment variable. Environment variables have&#10;priority over the properties in the configuration file. For example, in the&#10;following command line, the &lt;code&gt;OTEL_EBPF_LOG_LEVEL&lt;/code&gt; option overrides any&#10;&lt;code&gt;log_level&lt;/code&gt; settings inside config.yaml:&lt;/p&gt;</description></item><item><title>OBI network metrics quickstart</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/network/quickstart/</link><pubDate>Wed, 21 Oct 2026 23:50:30 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/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>Measure traffic between Cloud availability zones</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/network/inter-az/</link><pubDate>Wed, 21 Oct 2026 23:50:30 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/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;说明&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>Configure OBI export modes</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/configure/export-modes/</link><pubDate>Wed, 21 Oct 2026 23:50:30 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/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;说明&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;For Direct mode, set the OTLP endpoint with &lt;code&gt;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/code&gt;. If&#10;the endpoint requires authentication, also set &lt;code&gt;OTEL_EXPORTER_OTLP_HEADERS&lt;/code&gt; with&#10;the credentials.&lt;/p&gt;</description></item><item><title>Deploy OBI in Kubernetes with Helm</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/setup/kubernetes-helm/</link><pubDate>Fri, 16 Oct 2026 12:20:11 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/obi/setup/kubernetes-helm/</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;说明&lt;/div&gt;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;For more details about the diverse Helm configuration options, check out the&#10;&lt;a href="https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-ebpf-instrumentation" target="_blank" rel="noopener" class="external-link"&gt;OBI Helm chart documentation&lt;/a&gt;&#10;or browse the chart on&#10;&lt;a href="https://artifacthub.io/packages/helm/opentelemetry-helm/opentelemetry-ebpf-instrumentation" target="_blank" rel="noopener" class="external-link"&gt;Artifact Hub&lt;/a&gt;.&#10;For detailed configuration parameters, see the&#10;&lt;a href="https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-ebpf-instrumentation/values.yaml" target="_blank" rel="noopener" class="external-link"&gt;values.yaml&lt;/a&gt;&#10;file.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Contents:&lt;/p&gt;&#10;&lt;!-- TOC --&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#deploying-obi-from-helm"&gt;Deploying OBI from helm&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#configuring-obi"&gt;Configuring OBI&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#configuring-obi-metadata"&gt;Configuring OBI metadata&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#centralizing-kubernetes-metadata-with-k8s-cache"&gt;Centralizing Kubernetes metadata with k8s-cache&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#providing-secrets-to-the-helm-configuration"&gt;Providing secrets to the Helm configuration&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;!-- TOC --&gt;&#10;&lt;h2 id="deploying-obi-from-helm"&gt;Deploying OBI from helm&lt;a class="td-heading-self-link" href="#deploying-obi-from-helm" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;First, you need to add the OpenTelemetry helm repository to Helm:&lt;/p&gt;</description></item><item><title>Supported Technologies</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/reference/supported-technologies/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/reference/supported-technologies/</guid><description>&lt;p&gt;OpenTelemetry PHP Distro is a distribution of OpenTelemetry PHP. It inherits&#10;OpenTelemetry compatibility and extends runtime features with native components.&lt;/p&gt;&#10;&lt;h2 id="auto-instrumentation-scope"&gt;Auto-instrumentation scope&lt;a class="td-heading-self-link" href="#auto-instrumentation-scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Auto-instrumentation captures telemetry for supported frameworks and libraries,&#10;but it does not instrument:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Proprietary or custom framework internals&lt;/li&gt;&#10;&lt;li&gt;Closed-source components without instrumentation hooks&lt;/li&gt;&#10;&lt;li&gt;Application-specific business logic&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;For unsupported areas, use manual OpenTelemetry instrumentation.&lt;/p&gt;&#10;&lt;h2 id="php-versions"&gt;PHP versions&lt;a class="td-heading-self-link" href="#php-versions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Supported PHP versions: &lt;code&gt;8.1&lt;/code&gt; to &lt;code&gt;8.5&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="supported-sapis"&gt;Supported SAPIs&lt;a class="td-heading-self-link" href="#supported-sapis" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;php-cli&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;php-fpm&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;php-cgi&lt;/code&gt;/&lt;code&gt;fcgi&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;mod_php&lt;/code&gt; (prefork)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="supported-operating-systems"&gt;Supported operating systems&lt;a class="td-heading-self-link" href="#supported-operating-systems" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Linux&#10;&lt;ul&gt;&#10;&lt;li&gt;Architectures: &lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;arm64&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;glibc-based systems: &lt;code&gt;deb&lt;/code&gt;, &lt;code&gt;rpm&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;musl-based systems (Alpine): &lt;code&gt;apk&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="instrumented-frameworks"&gt;Instrumented frameworks&lt;a class="td-heading-self-link" href="#instrumented-frameworks" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Laravel &lt;code&gt;6.x&lt;/code&gt; to &lt;code&gt;13.x&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Slim &lt;code&gt;4.x&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="instrumented-libraries"&gt;Instrumented libraries&lt;a class="td-heading-self-link" href="#instrumented-libraries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;cURL&lt;/li&gt;&#10;&lt;li&gt;HTTP async (&lt;code&gt;php-http/httplug&lt;/code&gt;)&lt;/li&gt;&#10;&lt;li&gt;MySQLi&lt;/li&gt;&#10;&lt;li&gt;PDO&lt;/li&gt;&#10;&lt;li&gt;PostgreSQL&lt;/li&gt;&#10;&lt;li&gt;PSR-18 HTTP Client (&lt;code&gt;psr/http-client&lt;/code&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="included-auto-instrumentation-packages"&gt;Included auto-instrumentation packages&lt;a class="td-heading-self-link" href="#included-auto-instrumentation-packages" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&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;Name&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Included from distro version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Package&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;curl&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-curl" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-curl&lt;/a&gt;&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;http-async-client&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-http-async" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-http-async&lt;/a&gt;&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;laravel&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-laravel" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-laravel&lt;/a&gt;&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;mysqli&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-mysqli" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-mysqli&lt;/a&gt;&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;pdo&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-pdo" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-pdo&lt;/a&gt;&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;postgresql&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-postgresql" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-postgresql&lt;/a&gt;&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;psr18&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-psr18" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-psr18&lt;/a&gt;&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;slim&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-auto-slim" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-auto-slim&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="included-metrics-packages"&gt;Included metrics packages&lt;a class="td-heading-self-link" href="#included-metrics-packages" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&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;Included from distro version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Package&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Emitted metrics&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;0.6.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://packagist.org/packages/open-telemetry/opentelemetry-metrics-runtime" target="_blank" rel="noopener" class="external-link"&gt;open-telemetry/opentelemetry-metrics-runtime&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PHP memory usage, GC cycles, peak memory&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="additional-runtime-features"&gt;Additional runtime features&lt;a class="td-heading-self-link" href="#additional-runtime-features" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Automatic root span creation&lt;/li&gt;&#10;&lt;li&gt;Root span URL grouping&lt;/li&gt;&#10;&lt;li&gt;Inferred spans&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/reference/attribute-instrumentation/"&gt;Attribute-based instrumentation&lt;/a&gt;&#10;(&lt;code&gt;#[WithSpan]&lt;/code&gt;, &lt;code&gt;#[SpanAttribute]&lt;/code&gt;)&lt;/li&gt;&#10;&lt;li&gt;Background telemetry sending&lt;/li&gt;&#10;&lt;li&gt;PHP runtime metrics (memory, GC — exported automatically via the native async&#10;transport)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Background sending (non-blocking export) works with OTLP &lt;code&gt;http/protobuf&lt;/code&gt;&#10;(default). If the exporter or protocol is changed to an unsupported transport&#10;(for example gRPC), export becomes synchronous.&lt;/p&gt;</description></item><item><title>Limitations</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/getting-started/limitations/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/getting-started/limitations/</guid><description>&lt;p&gt;This page describes known limitations and constraints of OpenTelemetry PHP&#10;Distro.&lt;/p&gt;&#10;&lt;h2 id="running-with-another-php-telemetry-agent"&gt;Running with another PHP telemetry agent&lt;a class="td-heading-self-link" href="#running-with-another-php-telemetry-agent" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Do not run OpenTelemetry PHP Distro together with another PHP APM or&#10;OpenTelemetry agent in the same process. Running both can cause conflicts,&#10;duplicate instrumentation, and unstable behavior.&lt;/p&gt;&#10;&lt;h2 id="open_basedir"&gt;&lt;code&gt;open_basedir&lt;/code&gt;&lt;a class="td-heading-self-link" href="#open_basedir" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;If &lt;code&gt;open_basedir&lt;/code&gt; is enabled in &lt;code&gt;php.ini&lt;/code&gt;, the distro installation path must be&#10;included in allowed paths, otherwise the agent may fail to load.&lt;/p&gt;</description></item><item><title>Set Up OpenTelemetry PHP Distro</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/getting-started/setup/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/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://deploy-preview-12367--opentelemetry.netlify.app/zh/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://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/getting-started/limitations/"&gt;Limitations&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Configuration</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/php/distro/reference/configuration/</link><pubDate>Tue, 18 Aug 2026 21:29:20 +0000</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/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>从 OpenTracing 迁移</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/migration/opentracing/</link><pubDate>Thu, 04 Jun 2026 11:53:28 -0400</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/migration/opentracing/</guid><description>&lt;p&gt;OpenTelemetry 项目自从诞生以来，&lt;a href="https://opentracing.io" target="_blank" rel="noopener" class="external-link"&gt;OpenTracing&lt;/a&gt; 的向后兼容性就是优先事项之一。&#10;为了简化迁移过程，OpenTelemetry 支持在同一代码库中同时使用 OpenTelemetry &lt;strong&gt;和&lt;/strong&gt;&#10;OpenTracing API。这样就可以使用 OpenTelemetry SDK 记录 OpenTracing 的插桩数据。&lt;/p&gt;&#10;&lt;p&gt;为实现这一点，每个 OpenTelemetry SDK 都提供了一个 &lt;strong&gt;OpenTracing Shim&lt;/strong&gt;，&#10;它充当 OpenTracing API 和 OpenTelemetry SDK 之间的桥梁。请注意，OpenTracing Shim 默认是禁用的。&lt;/p&gt;&#10;&lt;h2 id="language-version-support"&gt;语言版本支持&lt;a class="td-heading-self-link" href="#language-version-support" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;在使用 OpenTracing Shim 之前，请检查你的编程语言和运行时组件版本，&#10;并在必要时进行更新。下表列出了 OpenTracing 和 OpenTelemetry API 的最低&lt;strong&gt;语言&lt;/strong&gt;版本要求：&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;语言&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;OpenTracing API&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;OpenTelemetry API&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;a href="https://pkg.go.dev/go.opentelemetry.io/otel/bridge/opentracing" target="_blank" rel="noopener" class="external-link"&gt;Go&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.13&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.16&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;a href="https://github.com/open-telemetry/opentelemetry-java/tree/main/opentracing-shim" target="_blank" rel="noopener" class="external-link"&gt;Java&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;7&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8&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;a href="https://opentelemetry-python.readthedocs.io/en/stable/shim/opentracing_shim/opentracing_shim.html" target="_blank" rel="noopener" class="external-link"&gt;Python&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2.7&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3.6&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;a href="https://www.npmjs.com/package/@opentelemetry/shim-opentracing" target="_blank" rel="noopener" class="external-link"&gt;JavaScript&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;6&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8.5&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;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/languages/dotnet/shim/"&gt;.NET&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.3&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1.4&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;a href="https://github.com/open-telemetry/opentelemetry-cpp/tree/main/opentracing-shim" target="_blank" rel="noopener" class="external-link"&gt;C++&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;请注意，OpenTelemetry API 和 SDK 通常比 OpenTracing 要求更高的语言版本。&lt;/p&gt;</description></item><item><title>快速开始</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/java/agent/getting-started/</link><pubDate>Thu, 04 Jun 2026 11:53:28 -0400</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/zero-code/java/agent/getting-started/</guid><description>&lt;h2 id="setup"&gt;安装&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;从 &lt;code&gt;opentelemetry-java-instrumentation&lt;/code&gt; 仓库的 &lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases" target="_blank" rel="noopener" class="external-link"&gt;Releases&lt;/a&gt; 下载&#10;&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; 并将 JAR 放在您偏好的目录中。&#10;JAR 文件包含代理和插桩库。&lt;/li&gt;&#10;&lt;li&gt;添加 &lt;code&gt;-javaagent:path/to/opentelemetry-javaagent.jar&lt;/code&gt; 和其他配置到&#10;你的 JVM 启动参数并启动您的应用程序：&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;直接在启动命令上：&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;通过 &lt;code&gt;JAVA_TOOL_OPTIONS&lt;/code&gt; 和其他环境变量：&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;声明式配置&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;声明式配置使用 YAML 文件，而非环境变量或系统属性。&#10;当你需要设置许多配置选项，或者想要使用那些无法通过环境变量或系统属性来配置的选项时，这种方式会非常有用。&lt;/p&gt;&#10;&lt;p&gt;有关更多详细信息，请参阅&lt;a href="../declarative-configuration"&gt;声明式配置&lt;/a&gt;页面。&lt;/p&gt;&#10;&lt;h2 id="configuring-the-agent"&gt;配置代理&lt;a class="td-heading-self-link" href="#configuring-the-agent" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;代理高度可配置。&lt;/p&gt;&#10;&lt;p&gt;一种选择是通过 &lt;code&gt;-D&lt;/code&gt; 标志传递配置属性。&#10;在本示例中，配置了服务名称和用于追踪的 Zipkin 导出器：&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;java -javaagent:path/to/opentelemetry-javaagent.jar &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -Dotel.service.name&lt;span class="o"&gt;=&lt;/span&gt;your-service-name &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -Dotel.traces.exporter&lt;span class="o"&gt;=&lt;/span&gt;zipkin &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -jar myapp.jar&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你也可以使用环境变量来配置代理：&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="nv"&gt;OTEL_SERVICE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your-service-name &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OTEL_TRACES_EXPORTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;zipkin &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java -javaagent:path/to/opentelemetry-javaagent.jar &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -jar myapp.jar&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你也可以提供一个 Java 属性文件并从中加载配置值：&lt;/p&gt;</description></item><item><title>代理</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/deploy/agent/</link><pubDate>Mon, 30 Mar 2026 18:14:49 +0800</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/deploy/agent/</guid><description>&lt;p&gt;代理 Collect 部署模式既包含采用 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/protocol/"&gt;OpenTelemetry 协议（OTLP）&lt;/a&gt;并通过&#10;OpenTelemetry SDK &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/languages/"&gt;插桩&lt;/a&gt;的各类应用，&#10;也包含使用 OTLP 导出器将遥测信号发送到与应用一起运行的 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/"&gt;Collector&lt;/a&gt;&#10;实例或与应用（例如边车或 DaemonSet）所在主机上的的其他 Collector。&lt;/p&gt;&#10;&lt;p&gt;每个客户端 SDK 或下游 Collector 都会配置一个 Collector 位置：&lt;/p&gt;&#10;&lt;img src="../../img/otel-agent-sdk.svg" alt="去中心化 Collector 部署概念"&gt;&lt;ol&gt;&#10;&lt;li&gt;在应用中，SDK 被配置为将 OTLP 数据发送到 Collector。&lt;/li&gt;&#10;&lt;li&gt;Collector 被配置为将遥测数据发送到一个或多个后端。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="example"&gt;示例&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;代理 Collector 部署模式的一个具体示例可能如下所示：你使用 OpenTelemetry Java SDK&#10;手动为一个 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/languages/java/api/#meterprovider"&gt;Java 应用导出指标&lt;/a&gt;进行插桩。在应用的上下文中，你将&#10;&lt;code&gt;OTEL_METRICS_EXPORTER&lt;/code&gt; 设置为 &lt;code&gt;otlp&lt;/code&gt;（这是默认值），并为 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/protocol/exporter/"&gt;OTLP 导出器&lt;/a&gt;配置&#10;Collector 的地址，例如（在 Bash 或 &lt;code&gt;zsh&lt;/code&gt; shell 中）：&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;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://collector.example.com:4318&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;collector.example.com:4318&lt;/code&gt; 提供服务的 Collector 将被配置为：&lt;/p&gt;&#10; &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;&#10; &lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link active"&#10; id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"&#10; data-td-tp-persist="traces" aria-controls="tabs-00-00" aria-selected="true"&gt;&#10; Traces&#10; &lt;/button&gt;&#10; &lt;/li&gt;&lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link"&#10; id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"&#10; data-td-tp-persist="metrics" aria-controls="tabs-00-01" aria-selected="false"&gt;&#10; Metrics&#10; &lt;/button&gt;&#10; &lt;/li&gt;&lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link"&#10; id="tabs-00-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-02" role="tab"&#10; data-td-tp-persist="logs" aria-controls="tabs-00-02" aria-selected="false"&gt;&#10; Logs&#10; &lt;/button&gt;&#10; &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;div class="tab-content" id="tabs-0-content"&gt;&#10; &lt;div class="tab-body tab-pane fade show active"&#10; id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 应用发送链路数据的 OTLP 接收器&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;protocols&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0.0.0.0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;4318&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp/jaeger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Jaeger 直接支持 OTLP&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://jaeger.example.com:4317&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;pipelines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;traces/dev&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;otlp]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;batch]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;otlp/jaeger]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="tab-body tab-pane fade"&#10; id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 应用发送指标的 OTLP 接收器&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;protocols&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0.0.0.0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;4318&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;prometheusremotewrite&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# PRW 导出器，用于将指标导入到后端&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://prw.example.com/v1/api/remote_write&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;pipelines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;metrics/prod&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;otlp]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;batch]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;prometheusremotewrite]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="tab-body tab-pane fade"&#10; id="tabs-00-02" role="tabpanel" aria-labelled-by="tabs-00-02-tab" tabindex="0"&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 应用发送日志的 OTLP 接收器&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;protocols&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0.0.0.0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;4318&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 文件导出器，用于将日志写入本地文件&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./app42_example.log&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;rotation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;pipelines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;logs/dev&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;receivers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;otlp]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;batch]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;file]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;如果你想自己试一试，你可以查看端到端的 &lt;a href="https://github.com/open-telemetry/opentelemetry-java-docs/tree/main/otlp" target="_blank" rel="noopener" class="external-link"&gt;Java&lt;/a&gt; 或 &lt;a href="https://opentelemetry-python.readthedocs.io/en/stable/examples/metrics/instruments/README.html" target="_blank" rel="noopener" class="external-link"&gt;Python&lt;/a&gt; 示例。&lt;/p&gt;</description></item><item><title>快速入门</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/platforms/kubernetes/getting-started/</link><pubDate>Fri, 30 Jan 2026 17:29:44 +0800</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/platforms/kubernetes/getting-started/</guid><description>&lt;p&gt;本页面将引导你以最快的方式开始使用 OpenTelemetry 监控你的 Kubernetes 集群。&#10;它将专注于收集 Kubernetes 集群、节点、Pod 和容器的指标和日志，以及使集群支持发送 OTLP 数据的服务。&lt;/p&gt;&#10;&lt;p&gt;如果你想在 Kubernetes 中看到 OpenTelemetry 的实际应用，最好的起点是 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/demo/kubernetes-deployment/"&gt;OpenTelemetry 演示&lt;/a&gt;。&#10;该演示旨在说明 OpenTelemetry 的实现，但并非用于展示如何监控 Kubernetes 本身。&#10;完成本教程后，安装演示并查看所有监控如何响应活跃工作负载会是一个有趣的实验。&lt;/p&gt;&#10;&lt;p&gt;如果你想开始从 Prometheus 迁移到 OpenTelemetry，或者对使用 OpenTelemetry Collector 收集 Prometheus 指标感兴趣，请参阅&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/platforms/kubernetes/collector/components/#prometheus-receiver"&gt;Prometheus 接收器&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;概述&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;Kubernetes 通过多种不同方式暴露大量重要的遥测数据。&#10;它有许多不同对象的日志、事件、指标以及其工作负载生成的数据。&lt;/p&gt;&#10;&lt;p&gt;为了收集所有这些数据，我们将使用 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt;。&#10;Collector 有许多不同的工具，可以高效地收集所有这些数据并以有意义的方式增强它。&lt;/p&gt;&#10;&lt;p&gt;为了收集所有数据，我们需要安装两个 Collector 实例，一个作为&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/deploy/agent/"&gt;Daemonset&lt;/a&gt;，另一个作为&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/deploy/gateway/"&gt;Deployment&lt;/a&gt;。&#10;Daemonset 安装的 Collector 将用于收集服务发出的遥测数据、日志以及节点、Pod 和容器的指标。&#10;Deployment 安装的 Collector 将用于收集集群指标和事件。&lt;/p&gt;&#10;&lt;p&gt;我们将使用&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/platforms/kubernetes/helm/collector/"&gt;OpenTelemetry Collector Helm Chart&lt;/a&gt;来安装 Collector，&#10;该 Chart 提供了一些配置选项，使 Collector 的配置更加容易。&#10;如果你不熟悉 Helm，请查看&#10;&lt;a href="https://helm.sh/" target="_blank" rel="noopener" class="external-link"&gt;Helm 项目网站&lt;/a&gt;。&#10;如果你对使用 Kubernetes Operator 感兴趣，请参阅&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/platforms/kubernetes/operator/"&gt;OpenTelemetry Operator&lt;/a&gt;，&#10;但本指南将重点介绍 Helm Chart。&lt;/p&gt;</description></item><item><title>安装 Collector</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/installation/</link><pubDate>Thu, 08 Jan 2026 22:37:28 +0530</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/installation/</guid><description>&lt;p&gt;你可以在多种操作系统和多种架构上部署 OpenTelemetry Collector。&#10;以下说明展示了如何下载并安装 Collector 的最新稳定版本。&lt;/p&gt;&#10;&lt;p&gt;如果你还不熟悉 OpenTelemetry Collector 的部署模型、组件和相关代码库，&#10;请先查阅&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/components/#collector"&gt;数据收集&lt;/a&gt;和&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/deploy/"&gt;部署方法&lt;/a&gt;页面。&lt;/p&gt;&#10;&lt;h2 id="docker"&gt;Docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;以下命令会拉取一个 Docker 镜像，并在容器中运行 Collector。&#10;将 &lt;code&gt;0.153.0&lt;/code&gt; 替换为你想要运行的 Collector 版本。&lt;/p&gt;&#10; &lt;ul class="nav nav-tabs" id="tabs-1" role="tablist"&gt;&#10; &lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link active"&#10; id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"&#10; data-td-tp-persist="dockerhub" aria-controls="tabs-01-00" aria-selected="true"&gt;&#10; DockerHub&#10; &lt;/button&gt;&#10; &lt;/li&gt;&lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link"&#10; id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"&#10; data-td-tp-persist="ghcr.io" aria-controls="tabs-01-01" aria-selected="false"&gt;&#10; ghcr.io&#10; &lt;/button&gt;&#10; &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;div class="tab-content" id="tabs-1-content"&gt;&#10; &lt;div class="tab-body tab-pane fade show active"&#10; id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1"&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;docker pull otel/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run otel/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="tab-body tab-pane fade"&#10; id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1"&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;docker pull ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;要从你的工作目录加载一个自定义配置文件，将该文件挂载为卷：&lt;/p&gt;&#10; &lt;ul class="nav nav-tabs" id="tabs-2" role="tablist"&gt;&#10; &lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link active"&#10; id="tabs-02-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-00" role="tab"&#10; data-td-tp-persist="dockerhub" aria-controls="tabs-02-00" aria-selected="true"&gt;&#10; DockerHub&#10; &lt;/button&gt;&#10; &lt;/li&gt;&lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link"&#10; id="tabs-02-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-01" role="tab"&#10; data-td-tp-persist="ghcr.io" aria-controls="tabs-02-01" aria-selected="false"&gt;&#10; ghcr.io&#10; &lt;/button&gt;&#10; &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;div class="tab-content" id="tabs-2-content"&gt;&#10; &lt;div class="tab-body tab-pane fade show active"&#10; id="tabs-02-00" role="tabpanel" aria-labelled-by="tabs-02-00-tab" tabindex="2"&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;docker run -v &lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;/config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="tab-body tab-pane fade"&#10; id="tabs-02-01" role="tabpanel" aria-labelled-by="tabs-02-01-tab" tabindex="2"&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;docker run -v &lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;/config.yaml:/etc/otelcol-contrib/config.yaml ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="docker-compose"&gt;Docker Compose&lt;a class="td-heading-self-link" href="#docker-compose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;你可以像以下示例那样，将 OpenTelemetry Collector 添加到你现有的 &lt;code&gt;docker-compose.yaml&lt;/code&gt; 文件中：&lt;/p&gt;</description></item><item><title>快速入门</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/quick-start/</link><pubDate>Thu, 08 Jan 2026 22:37:28 +0530</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/quick-start/</guid><description>&lt;!-- markdownlint-disable ol-prefix blanks-around-fences --&gt;&#10;&lt;p&gt;OpenTelemetry Collector 是一个可执行文件，它能够接收&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/traces/"&gt;链路&lt;/a&gt;、&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/metrics/"&gt;指标&lt;/a&gt;和&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/logs/"&gt;日志&lt;/a&gt;，&#10;处理这些遥测数据，并通过其组件将其导出到多种可观测性后端。要了解 Collector 的概念性概览，&#10;请参见 &lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/"&gt;Collector&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;你将学习如何在不到五分钟的时间内完成以下操作：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;设置并运行 OpenTelemetry Collector。&lt;/li&gt;&#10;&lt;li&gt;发送遥测数据并查看 Collector 对其进行处理。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="prerequisites"&gt;前提条件&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;请确保你的开发环境具备以下条件。本文档假设你使用的是 &lt;code&gt;bash&lt;/code&gt;，请根据你所偏好的 Shell 适配相关配置与命令。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://www.docker.com/" target="_blank" rel="noopener" class="external-link"&gt;Docker&lt;/a&gt; 或任何兼容的容器运行时。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://go.dev/" target="_blank" rel="noopener" class="external-link"&gt;Go&lt;/a&gt; 1.20 或更高版本&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://pkg.go.dev/cmd/go#hdr-Environment_variables" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;GOBIN&lt;/code&gt; 环境变量&lt;/a&gt;已设置；若未设置，请按如下方式进行初始化&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;：&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;GOBIN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;GOBIN&lt;/span&gt;&lt;span class="k"&gt;:-$(&lt;/span&gt;go env GOPATH&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;/bin&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#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;h2 id="set-up-the-environment"&gt;设置环境&lt;a class="td-heading-self-link" href="#set-up-the-environment" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;拉取 OpenTelemetry Collector Contrib 的 Docker 镜像：&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;docker pull otel/opentelemetry-collector-contrib:0.153.0&#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;安装 &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/telemetrygen" target="_blank" rel="noopener" class="external-link"&gt;telemetrygen&lt;/a&gt; 工具：&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;go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此工具可以模拟生成&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/traces/"&gt;链路&lt;/a&gt;、&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/metrics/"&gt;指标&lt;/a&gt;和&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/logs/"&gt;日志&lt;/a&gt;的客户端行为。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="generate-and-collect-telemetry"&gt;生成并收集遥测数据&lt;a class="td-heading-self-link" href="#generate-and-collect-telemetry" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;启动 Collector，使其监听端口 4317（用于 OTLP gRPC）、4318（用于 OTLP HTTP）和 55679（用于 ZPages）：&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;docker run&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 127.0.0.1:4317:4317&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 127.0.0.1:4318:4318&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 127.0.0.1:55679:55679&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; otel/opentelemetry-collector-contrib:0.153.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee collector-output.txt &lt;span class="c1"&gt;# 可选择将输出保存，以便后续搜索&lt;/span&gt;&#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;在另一个终端窗口中生成几个示例链路：&lt;/p&gt;</description></item><item><title>规范状态概览</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/specs/status/</link><pubDate>Fri, 31 Oct 2025 11:11:54 -0400</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/specs/status/</guid><description>&lt;p&gt;OpenTelemetry 是基于各种信号逐一开发的。链路追踪、指标、Baggage 和日志都是一种信号。&#10;每个信号都构建在上下文传播机制之上，这是一种用于在分布式系统中关联数据的共享机制。&lt;/p&gt;&#10;&lt;p&gt;每个信号由四个&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/components/"&gt;核心组件&lt;/a&gt;组成：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;API&lt;/li&gt;&#10;&lt;li&gt;SDK&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otlp/"&gt;OpenTelemetry 协议&lt;/a&gt;（OTLP）&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/collector/"&gt;Collector&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;信号还包括 contrib 组件，这是插件和插桩组成的生态体系。&#10;所有插桩遵循统一的语义约定，以确保在观察常见操作（如 HTTP 请求）时生成相同的数据。&lt;/p&gt;&#10;&lt;p&gt;如需了解信号和组件的信息，请参阅 OTel 规范的&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/overview/"&gt;概览页面&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="component-lifecycle"&gt;组件生命周期&lt;a class="td-heading-self-link" href="#component-lifecycle" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;组件遵循以下开发生命周期：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;**草案（Draft）**组件仍在设计中，尚未纳入规范。&lt;/li&gt;&#10;&lt;li&gt;**实验性（Experimental）**组件已发布并可进行测试。&lt;/li&gt;&#10;&lt;li&gt;**稳定（Stable）**组件向后兼容，并享有长期支持。&lt;/li&gt;&#10;&lt;li&gt;**弃用（Deprecated）**组件仍然稳定，但未来可能被移除。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;有关生命周期和长期支持的完整定义，&#10;参阅&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/versioning-and-stability/"&gt;版本管理与稳定性&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="current-status"&gt;当前状态&lt;a class="td-heading-self-link" href="#current-status" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;以下是目前各个信号的高层次状态报告。请注意，虽然 OpenTelemetry 各客户端遵循统一规范开发，但它们是独立开发的。&lt;/p&gt;&#10;&lt;p&gt;建议查看每个客户端在其&#10;&lt;a href="https://github.com/open-telemetry" target="_blank" rel="noopener" class="external-link"&gt;GitHub 仓库&lt;/a&gt;中 README 文件的当前状态说明。客户端对特性支持的具体情况可在&#10;&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md" target="_blank" rel="noopener" class="external-link"&gt;规范兼容性表&lt;/a&gt;中查看。&lt;/p&gt;&#10;&lt;p&gt;注意，以下各部分中的 &lt;strong&gt;Collector&lt;/strong&gt; 状态与&lt;strong&gt;协议&lt;/strong&gt;状态一致。&lt;/p&gt;&#10;&lt;h3 id="tracing"&gt;链路追踪&lt;a class="td-heading-self-link" href="#tracing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/trace/"&gt;规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;备注：&#10;&lt;ul&gt;&#10;&lt;li&gt;链路追踪规范现已完全稳定，并纳入长期支持范围。&lt;/li&gt;&#10;&lt;li&gt;链路追踪规范仍可扩展，但必须保持向后兼容。&lt;/li&gt;&#10;&lt;li&gt;一旦链路追踪实现完成，OpenTelemetry 客户端将进入 v1.0 版本。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="metrics"&gt;指标&lt;a class="td-heading-self-link" href="#metrics" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/metrics/"&gt;规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;备注：&#10;&lt;ul&gt;&#10;&lt;li&gt;OpenTelemetry 各项指标正在积极开发中。&lt;/li&gt;&#10;&lt;li&gt;数据模型已稳定，并作为 OTLP 协议的一部分发布。&lt;/li&gt;&#10;&lt;li&gt;Collector 中已提供对指标处理的实验性支持。&lt;/li&gt;&#10;&lt;li&gt;Collector 正与 Prometheus 社区合作，开发对 Prometheus 的支持。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="baggage"&gt;Baggage&lt;a class="td-heading-self-link" href="#baggage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/baggage/"&gt;规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SDK：&lt;/strong&gt; 稳定&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;协议：&lt;/strong&gt; 不适用&lt;/li&gt;&#10;&lt;li&gt;备注：&#10;&lt;ul&gt;&#10;&lt;li&gt;Baggage 现已完全稳定。&lt;/li&gt;&#10;&lt;li&gt;Baggage 不是可观测性工具，而是一种在事务中附加任意键值对的系统，使下游服务可以访问这些值。&#10;因此，Baggage 没有 OTLP 或 Collector 组件。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="logging"&gt;日志&lt;a class="td-heading-self-link" href="#logging" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/logs/"&gt;规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;备注：&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/logs/data-model/"&gt;日志数据模型&lt;/a&gt;已作为 OpenTelemetry 协议的一部分发布。&lt;/li&gt;&#10;&lt;li&gt;多种数据格式的日志处理已通过 Stanza 捐赠集成至 Collector。&lt;/li&gt;&#10;&lt;li&gt;OpenTelemetry 的 Log Bridge API 允许开发日志附加器，用于将现有日志框架中的日志桥接到 OpenTelemetry&#10;中。该 API 并不面向终端用户直接调用。目前正在开发多种编程语言的日志附加器。&lt;/li&gt;&#10;&lt;li&gt;OpenTelemetry Log SDK 是 Log Bridge API 的标准实现。应用可以通过配置该 SDK&#10;来指定日志的处理与导出方式（例如使用 OTLP 协议）。&lt;/li&gt;&#10;&lt;li&gt;OpenTelemetry 的 Log Bridge API 还包含实验性支持，&#10;可用于生成符合&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/semconv/general/events/"&gt;事件语义约定&lt;/a&gt;的日志记录。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="profiles"&gt;分析配置&lt;a class="td-heading-self-link" href="#profiles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otel/profiles/"&gt;规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Metrics</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/metrics/</link><pubDate>Thu, 14 Aug 2025 10:14:16 -0300</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/metrics/</guid><description>&lt;p&gt;一个 &lt;strong&gt;metric&lt;/strong&gt; 是在运行时捕获的服务的&lt;strong&gt;测量值&lt;/strong&gt;。捕获测量值的时刻称为 &lt;strong&gt;metric 事件&lt;/strong&gt;，它不仅包括测量值本身，还包括捕获它的时间和相关的元数据。&lt;/p&gt;&#10;&lt;p&gt;应用和请求的 metrics 是可用性和性能的重要指标。自定义 metric 可以在‘可用性因素是如何影响到用户体验和业务’方面提供见解。收集的数据可以用于异常警告或触发调度决策，以在高要求时自动扩展部署。&lt;/p&gt;&#10;&lt;p&gt;要了解 OpenTelemetry 中的 metrics 是如何工作的，让我们看看在对代码进行观测时会涉及的一系列组件。&lt;/p&gt;&#10;&lt;h2 id="meter-provider"&gt;Meter Provider&lt;a class="td-heading-self-link" href="#meter-provider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Meter Provider（有时称为 &lt;code&gt;MeterProvider&lt;/code&gt;）是 &lt;code&gt;Meter&lt;/code&gt; 的提供者。在大多数应用程序中，Meter Provider 只初始化一次，其生命周期与应用程序的生命周期匹配。Meter Provider 的初始化还包括资源和导出器（Exporter）的初始化。它通常是使用 OpenTelemetry 进行观测的第一步。在某些语言 SDK 中，已经为您初始化了全局 Meter Provider。&lt;/p&gt;&#10;&lt;h2 id="meter"&gt;Meter&lt;a class="td-heading-self-link" href="#meter" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Meter 创建 &lt;a href="#metric-instruments"&gt;metric instruments&lt;/a&gt;，在运行时捕获有关服务的测量值。Meter 是由 Meter Provider 创建的。&lt;/p&gt;&#10;&lt;h2 id="metric-exporter"&gt;Metric Exporter&lt;a class="td-heading-self-link" href="#metric-exporter" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Metric Exporter 将度量数据发送给消费者。这个消费者可以是开发期间用于调试的标准输出、OpenTelemetry Collector，或您选择的任何开源或供应商后端。&lt;/p&gt;&#10;&lt;h2 id="metric-instruments"&gt;Metric Instruments（测量仪器）&lt;a class="td-heading-self-link" href="#metric-instruments" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;在 OpenTelemetry 中，测量值是由 &lt;strong&gt;metric instruments&lt;/strong&gt; 捕获的。Metric instruments 由以下部分定义：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;名称&lt;/li&gt;&#10;&lt;li&gt;类型&lt;/li&gt;&#10;&lt;li&gt;单位（可选）&lt;/li&gt;&#10;&lt;li&gt;描述（可选）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;名称、单位和描述由开发人员选择，或者通过&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/semconv/general/metrics/"&gt;语义约定&lt;/a&gt;为常见的如请求和进程指标定义。&lt;/p&gt;&#10;&lt;p&gt;仪器类型如下：&lt;/p&gt;</description></item><item><title>前置条件</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/contributing/prerequisites/</link><pubDate>Thu, 14 Aug 2025 10:14:16 -0300</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/contributing/prerequisites/</guid><description>&lt;p&gt;要参与本仓库的贡献，你需要熟悉以下技术和工具：&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;有关文档如何在本地构建和测试的技术细节，请参阅开发指南。&lt;/p&gt;&#10;&lt;h2 id="cla"&gt;签署 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;所有 OpenTelemetry 贡献者必须签署 Linux 基金会的&lt;a href="https://docs.linuxfoundation.org/lfx/easycla/contributors" target="_blank" rel="noopener" class="external-link"&gt;贡献者许可协议（CLA）&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;尚未签署 CLA 的贡献者提交的 PR 会在自动测试中失败。&#10;你提供的姓名和电子邮件必须与 &lt;code&gt;git config&lt;/code&gt; 中的内容一致，&#10;并且还必须与你用于签署 CNCF CLA 的信息一致。&lt;/p&gt;&#10;&lt;h2 id="行为准则"&gt;行为准则&lt;a class="td-heading-self-link" href="#%e8%a1%8c%e4%b8%ba%e5%87%86%e5%88%99" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;所有 OpenTelemetry 贡献者都必须遵守 &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md" target="_blank" rel="noopener" class="external-link"&gt;CNCF 社区行为准则&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="社区指南"&gt;社区指南&lt;a class="td-heading-self-link" href="#%e7%a4%be%e5%8c%ba%e6%8c%87%e5%8d%97" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;有关 OpenTelemetry 社区的通用指南，包括角色和预期，请参阅 &lt;a href="https://github.com/open-telemetry/community/blob/main/guides/contributor/README.md" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry 新贡献者指南&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>链路（Trace）</title><link>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/traces/</link><pubDate>Thu, 14 Aug 2025 10:14:16 -0300</pubDate><guid>https://deploy-preview-12367--opentelemetry.netlify.app/zh/docs/concepts/signals/traces/</guid><description>&lt;p&gt;&lt;strong&gt;链路&lt;/strong&gt;为我们提供了向应用发出请求时会发生什么的总览图。&#10;无论你的应用是具有单个数据库的单体应用还是复杂的服务网格，链路对于了解请求在应用中的完整“路径”至关重要。&lt;/p&gt;&#10;&lt;p&gt;让我们通过三个用 &lt;a href="#spans"&gt;Span&lt;/a&gt; 表示的工作单元来探讨这个问题：&lt;/p&gt;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;&#10;&lt;p&gt;以下 JSON 示例不表示特定格式，尤其是不表示&#10;&lt;a href="https://deploy-preview-12367--opentelemetry.netlify.app/docs/specs/otlp/#json-protobuf-encoding"&gt;OTLP/JSON&lt;/a&gt;，因为 OTLP/JSON 更详细。&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;code&gt;hello&lt;/code&gt; span:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hello&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;context&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;trace_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5b8aa5a2d2c872e8321cf37308d69df2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;span_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;051581bf3cb55c13&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="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;parent_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;start_time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114201Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;end_time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114687Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;http.route&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;some_route1&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="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;events&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Guten Tag!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;timestamp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114561Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;event_attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这是根 Span，表示整个操作的开始和结束。请注意，它有一个 &lt;code&gt;trace_id&lt;/code&gt; 字段指示链路，&#10;但没有 &lt;code&gt;parent_id&lt;/code&gt;。因此这是一个根 Span。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;hello-greetings&lt;/code&gt; span:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hello-greetings&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;context&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;trace_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5b8aa5a2d2c872e8321cf37308d69df2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;span_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5fb397be34d26b51&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="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;parent_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;051581bf3cb55c13&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;start_time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114304Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;end_time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T22:52:58.114561Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;http.route&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;some_route2&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="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;events&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hey there!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;timestamp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114561Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;event_attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bye now!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;timestamp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2022-04-29T18:52:58.114585Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;event_attributes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此 Span 封装了特定任务，例如 hello-greetings，其父级 Span 是 &lt;code&gt;hello&lt;/code&gt; Span。请注意，它的 &lt;code&gt;trace_id&lt;/code&gt; 与根 Span&#10;相同，这表明它们属于同一链路。此外，它的 &lt;code&gt;parent_id&lt;/code&gt; 与 &lt;code&gt;hello&lt;/code&gt; Span 的 &lt;code&gt;span_id&lt;/code&gt;一致。&lt;/p&gt;</description></item></channel></rss>