CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/基于代码的方式
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
可观测性入门上下文传播
零代码基于代码的方式库
组件语义约定Resources(资源)插桩范围采样Distributions(发行版)术语表
API 参考文档示例
支持库列表

OpenTelemetry

基于代码的方式

你首先需要在服务代码中导入 OpenTelemetry。如果你正在开发一个库或其他打算被可运行二进制文件使用的组件, 那么你只需要依赖 API。如果你的构件是一个独立的进程或服务,那么你需要同时依赖 API 和 SDK。 有关 OpenTelemetry API 和 SDK 的更多信息,请参阅规范。 为了创建链路或指标,你需要先创建一个 tracer 和/或 meter 提供程序。通常,我们建议...

导入 OpenTelemetry API 和 SDK {#import-the-opentelemetry-api-and-sdk}

你首先需要在服务代码中导入 OpenTelemetry。如果你正在开发一个库或其他打算被可运行二进制文件使用的组件,
那么你只需要依赖 API。如果你的构件是一个独立的进程或服务,那么你需要同时依赖 API 和 SDK。
有关 OpenTelemetry API 和 SDK 的更多信息,请参阅规范。

配置 OpenTelemetry API {#configure-the-opentelemetry-api}

为了创建链路或指标,你需要先创建一个 tracer 和/或 meter 提供程序。通常,我们建议
SDK 为这些对象提供一个默认的单一提供程序。随后,你将从该提供程序获取一个 tracer 或 meter
实例,并为其指定名称和版本。你在此处选择的名称应能标识正在进行插桩的对象。
例如,如果你正在编写一个库,那么你应将其命名为你的库名称(例如 com.example.myLibrary),
因为该名称将为所有生成的 Span 或指标事件设置命名空间。也建议你提供一个版本字符串
(即 semver:1.0.0),对应于你库或服务的当前版本。

配置 OpenTelemetry SDK {#configure-the-opentelemetry-sdk}

如果你正在构建一个服务进程,你还需要使用适当的选项来配置 SDK,以便将你的遥测数据导出到某个分析后端。
我们建议通过配置文件或其他机制以编程方式处理该配置。每种语言还提供可供调整的选项,你可能希望加以利用。

创建遥测数据 {#create-telemetry-data}

在你配置好 API 和 SDK 后,你就可以通过从提供程序获取的 tracer 和 meter
对象来创建链路和指标事件。请为你的依赖项使用插桩库,
即查看镜像仓库或你所使用语言的代码仓库,以获取更多信息。

导出数据 {#export-data}

一旦你创建了遥测数据,你就需要将它发送出去。OpenTelemetry 支持两种主要的数据导出方式:
直接从进程导出,或通过 OpenTelemetry Collector 代理导出。

进程内导出要求你导入并依赖一个或多个导出器,这些库将 OpenTelemetry 的内存中
Span 和指标对象转换为适用于遥测分析工具(如 Jaeger 或 Prometheus)的格式。此外,
OpenTelemetry 支持一种称为 OTLP 的传输协议,所有 OpenTelemetry SDK 都支持该协议。
此协议可用于将数据发送到 OpenTelemetry Collector,这是一种独立的二进制进程,
可以作为服务实例的代理或边车运行,也可以在单独的主机上运行。
Collector 可配置为将这些数据转发并导出到你选择的分析工具中。

除了 Jaeger 或 Prometheus 等开源工具外,越来越多的公司也支持从 OpenTelemetry
接收遥测数据。详情请参阅供应商。

文章大纲