本术语表定义了 OpenTelemetry 项目中出现的新术语和概念,
并阐明了常见可观测性术语在 OpenTelemetry 中的特定含义。
当有助于理解时,我们也会注释拼写与大小写用法。例如,请参见
OpenTelemetry 和 OTel。
术语 {#terms}
聚合 {#aggregation}
在程序执行期间,将多个测量值组合为关于在某个时间区间内发生的测量的精确或估算统计数据的过程。
由指标数据源使用。
API
应用编程接口(Application Programming Interface)。在
OpenTelemetry 项目中,用于定义如何从数据源生成遥测数据。
应用 {#application}
为终端用户或其他应用设计的一个或多个服务。
APM
应用性能监控(Application Performance Monitoring),
用于监控软件应用的性能(速度、可靠性、可用性等),以发现问题、发送警报,并支持定位根因的工具。
属性 {#attribute}
OpenTelemetry 中对元数据的术语。为产生遥测数据的实体添加键值信息。
用于所有信号和资源。参见属性规范。
自动插桩 {#automatic-instrumentation}
指无需终端用户修改应用源代码的遥测采集方式。具体方法因编程语言而异,
示例包括字节码注入或猴子补丁(monkey patching)。
行李 {#baggage}
传播元数据的一种机制,帮助建立事件和服务之间的因果关系。
参见 baggage 规范。
客户端库 {#client-library}
参见已插桩库。
客户端应用 {#client-side-app}
应用的一部分,运行在非私有基础设施中,通常直接被终端用户使用。
例如浏览器应用、移动应用和运行在物联网设备上的应用。
Collector
OpenTelemetry Collector,简称 Collector,是一个与厂商无关的遥测数据接收、处理和导出实现。
一个可部署为代理或网关的单一二进制程序。
拼写提示:在指代 OpenTelemetry Collector 时,请始终将 “Collector” 大写。
如果用作形容词,可直接使用 “Collector”,例如 “Collector 配置”。
Contrib
多个插桩库和 Collector
提供一组核心功能,并有一个专门的 contrib 仓库用于包含非核心功能,如厂商的 Exporters。
上下文传播 {#context-propagation}
允许所有数据源共享一个底层的上下文机制,
以便在事务的生命周期内存储状态和访问数据。参见上下文传播规范。
有向无环图(DAG) {#dag}
Directed Acyclic Graph(有向无环图)。
数据源 {#data-source}
参见信号。
维度 {#dimension}
分布式追踪 {#distributed-tracing}
追踪单个请求(称为链路)在多个服务中的传播过程,
这些服务构成了一个应用。分布式追踪会跨越进程、网络和安全边界。
参见分布式追踪。
分发版本 {#distribution}
是对上游 OpenTelemetry 仓库的封装,包含一些自定义内容。参见 Distributions。
实体 {#entity}
实体由一组用于标识和描述物理对象或逻辑对象的属性组成。
实体通常与遥测数据相关联。例如,CPU 实体描述一个物理 CPU,
而服务实体描述构成 HTTP 或其他服务的一组逻辑进程。
事件 {#event}
事件是一个带有事件名称和已知结构的日志记录。
例如,OpenTelemetry 中的浏览器事件采用特定的命名规则并携带具有通用结构的特定数据。
导出器 {#exporter}
用于将遥测数据发送给消费者的功能组件。导出器可以是推送型或拉取型。
字段 {#field}
日志记录中使用的术语。元数据可通过定义字段添加,
包括属性和资源。其他字段,如严重级别和链路信息,
也可以视为元数据。参见字段规范。
gRPC
HTTP
超文本传输协议的缩写。参见 Hypertext Transfer Protocol(超文本传输协议)。
已插桩库 {#instrumented-library}
插桩库 {#instrumentation-library}
指为特定已插桩库提供插桩功能的库。
已插桩库和插桩库可以是同一个库,
如果它已内置 OpenTelemetry 插桩功能。参见 插桩库规范。
JSON
JavaScript 对象表示法的缩写。参见 JSON。
标签 {#label}
语言 {#language}
即编程语言。
库 {#library}
通过接口调用的一组语言特定行为集合。
日志 {#log}
有时指一组日志记录。也可能表示单个日志记录。
为避免歧义,建议使用明确术语,例如 日志记录。参见 日志。
日志记录 {#log-record}
带有时间戳和严重级别的数据记录。当与链路相关时,也可能包含链路 ID
和 Span ID。参见日志记录。
元数据 {#metadata}
键值对形式,例如 foo="bar",添加到产生遥测数据的实体中。
OpenTelemetry 将这些键值对称为属性。此外,
指标有维度和标签,而日志有字段。
指标 {#metric}
记录一个数据点,可以是原始测量值或预定义聚合结果,按时间序列形式呈现,
并附带元数据。参见指标。
OC
OpenCensus 的简称。
可观测性后端 {#observability-backend}
可观测性平台中的组件,负责接收、处理、存储和查询遥测数据。示例包括开源工具如
Jaeger 和 Prometheus,以及商业产品。OpenTelemetry 本身不是一个可观测性后端。
可观测性前端 {#observability-frontend}
可观测性平台中的组件,提供可视化和分析遥测数据的用户界面。
它通常是可观测性后端的一部分,尤其是在商业产品中更为常见。
OpAMP
Open Agent Management Protocol(开放代理管理协议)的缩写。参见
OpAMP 文档。
拼写提示:请写作 OpAMP,不要写成
OPAMP或opamp。
OpenCensus
OpenTelemetry 的前身之一。详见项目历史。
OpenTelemetry
由 OpenTracing 和 OpenCensus 两个项目合并而来,
OpenTelemetry 是本网站的主题,是一组 API、SDK 和工具的集合,
可用于插桩、生成、
收集和导出遥测数据,
如指标、日志 和 追踪。
拼写提示:OpenTelemetry 应为一个单词,无连字符,首字母大写。
OpenTracing
OpenTelemetry 的前身之一。详见项目历史。
OT
OpenTracing 的简称。
OTel
OpenTelemetry 的简称。
拼写提示:应写作 OTel,不应写作
OTEL。
OTelCol
OTEP
OpenTelemetry Enhancement Proposal(OpenTelemetry 增强提案)的缩写。
拼写提示:复数形式写作 "OTEPs",不要写作
OTep或otep。
OTLP
OpenTelemetry 协议的缩写。参见 /docs/specs/otlp/。
传播器 {#propagators}
用于序列化和反序列化遥测数据的特定部分,如 Span
上下文和 Baggage。参见传播器。
Proto
语言无关的接口类型。参见 opentelemetry-proto。
接收器 {#receiver}
在 Collector
中定义如何接收遥测数据的组件。接收器可以是推送型或拉取型。参见 Receiver。
请求 {#request}
参见分布式追踪。
资源 {#resource}
由一组实体或属性组成,用于标识或描述产生遥测数据的物理对象或逻辑对象。
REST
Representational State Transfer(表现层状态转移)的缩写。参见 REST。
RPC
Remote Procedure Call(远程过程调用)的缩写。参见 RPC。
采样 {#sampling}
SDK
软件开发工具包(Software Development Kit)的缩写。指实现了
OpenTelemetry API 的遥测 SDK,也是一种库。
语义约定 {#semantic-conventions}
定义 元数据 的标准名称和值,以提供与厂商无关的遥测数据。
服务 {#service}
一个应用的组成部分。为实现高可用性和可扩展性,
通常会部署多个服务实例。服务也可以部署在多个位置。
信号 {#signal}
Span
Span 链接 {#span-link}
Span 之间因果关系的链接。详细信息参见
Span 之间的链接和指定链接。
规范 {#specification}
描述所有实现之间跨语言的要求与预期。参见规范。
状态 {#status}
操作的结果,通常用于指示是否发生错误。参见状态。
标记 {#tag}
参见元数据。
链路 {#trace}
由多个 Span 构成的有向无环图(DAG),其中
Span 之间的边表示父子关系。参见链路。
Tracer
事务 {#transaction}
参见分布式追踪。
zPages
一种进程内的替代导出方式。启用后,它会在后台收集和聚合追踪与指标数据,并在网页中提供展示。参见 zPages。