术语表

此文档定义了本规范中使用的一些术语。

其他一些基本术语的定义请查阅 Overview

Common

带内带外数据In-band and Out-of-band Data

在通信领域,带内信令[in-band signaling] 是指使用和数据(如语音或视频)相同的频段或信道内发送控制信息。 这与带外信令[out-of-band signaling]相反,带外信令的发送使用不同的信道,甚至是通过单独的网络 (Wikipedia)。

在 OpenTelemetry 中,我们将带内数据定义为: 在分布式系统的组件之间传递的数据,且该数据是业务消息的一部分。例如使用 trace 或 baggages 以 HTTP Header 形式包含在 HTTP 请求中。 这种数据虽然通常不包含遥感信息,但常用于关联和连接各个组件产生的遥感信息。遥测本身被称为带外数据: 从应用程序发出,通过专用消息传输,通常由后台程序异步传输,而不是使用业务逻辑的关键路径传输。 导出到遥测后端的 Trace,Logs 与 Metric 都是带外数据的例子。

Manual Instrumentation

根据 OpenTelemetry API (如Tracing ApiMetrics API)或从其他最终用户代码或者共享框架(如 MongoDB,Redis等)收集遥测的代码。

Automatic Instrumentation

指不要求最终用户编写或访问应用程序代码以使用OpenTelemetry API的遥测采集方法。方法因编程语言而异,例如字节码注入或猴子补丁。

同义词: Auto-instrumentation.

Telemetry SDK

基于 OpenTelemetry API 实现的库。

详情请参考 Library GuidelinesLibrary resource semantic conventions

Exporter Library

兼容 Telemetry SDK 的库,提供向消费者发送遥感的功能。

Instrumented Library

为其收集遥感信号(追踪,指标,日志)的库。

可以从 Instrumented Library 自身或从另一个 Instrumentation Library 调用 OpenTelemetry Api 。

例如: org.mongodb.client

Instrumentation Library

为指定的 Instrumented Library 提供 instrumentation。

如果内置 OpenTelemetry instrumentation ,则 Instrumented LibraryInstrumentation Library 可能是同一个库。

更详细的定义和命名指南请参见 Overview

例如: io.opentelemetry.contrib.mongodb

同义词: Instrumenting Library

Tracer Name / Meter Name

指定的名称 name 和(可选)版本 version 参数将会用于创建新的追踪 [Tracer]或者仪表 [Meter](请参见 Obtaining a Tracer/Obtaining a Meter)。可以通过名称/版本组合来标识 Instrumentation Library

Logs

日志记录 Log Record

对一起事件的记录。通常情况一个日志记录包含:

  • 一个时间戳,指明事件的发生时间。

  • 一些数据,用于描述事件如何发生,发生在何处等信息。

同义词: Log Entry.

日志 Log

通常日志是一系列日志记录的集合。本术语容易产生歧义,错误的将 Log 等价于一条消息记录 Log Record 。因此本术语请谨慎使用,同时在可能存在歧义的情况下使用本术语时,应当使用额外的限定词(例如: Log Record )。

嵌入日志 Embedded Log

一条嵌入在 Span 对象中, Events 列表中的 Log Record

独立日志 Standalone Log

一条未被嵌入在 Span 中且被记录在其他地方的 Log Record

日志属性 Log Attributes

键值对,包含在 Log Record 中。

结构化日志 Structured Logs

具有明确结构定义的 Logs,可以让你的日志结构更加清晰,从而区分 Log Record 的不同元素(如 时间戳,属性等) 。

例如在 The Syslog protocol (RFC 5425) 中, 定义了 structured-data 格式。

扁平化日志 Flat File Logs

在文本文件中的 Logs ,通常一行文本记录一条 Log Record(然而多行文本来记录也是可以的)。

但对使用更结构化的格式(例如 JSON 文件)的文本文件是否可以被认作是扁平化日志,业内尚无共识。在这种区分很重要的情况下,推荐使用相对应的名称用于区分。