应用性能监控(APM)的常见术语请参见下表:
| 术语 | 描述 |
|---|---|
| 业务系统 | 业务系统用于分类管理应用,每个业务系统有唯一的 Token,应用接入的时候需要指定 Token。可以在业务系统级别设置存储时长、计费方式等参数,也可以基于业务系统实现权限管理和分账。不同业务系统之间的监控数据完全隔离。 |
| 应用 | 应用是最重要实体,多个使用相同应用名接入的进程,会表现为相同应用下的多个实例。所以应用是一个逻辑组合,在微服务架构中,可以等同为一个服务,包含多个对等的实例。 |
| 服务 | 特指微服务架构中的独立服务单元,通常与 “应用” 同义。 |
| 实例 | 实例是应用在物理或虚拟环境中的一个实际部署单元,通常对应一个进程。 |
| 分布式链接追踪 | 分布式链路追踪(Distributed Tracing)是一种用于监控和分析分布式系统中请求流转路径的技术,主要用于追踪一个请求从发起端到最终处理完成的全过程,记录其在各个服务、组件间的调用关系、执行时间及状态,从而帮助定位性能瓶颈、排查故障并优化系统可靠性。 |
| Span | Span 是分布式追踪系统中的最小工作单元,记录某个单一操作的执行过程(如调用一个服务、执行一次数据库查询、发送一个消息等) |
| Span ID | Span ID 是每个 Span 的唯一标识符,通过 Parent ID 与父 Span 关联,形成层级结构。 |
| Trace | Trace 是一组关联的 Span 构成的有向无环图(DAG),表示一个请求在整个系统中的完整调用路径。 |
| Trace ID | Trace 通过全局唯一的 Trace ID 将所有相关的 Span 串联起来,用于分析跨服务的端到端性能。 |
| 探针 | 探针(Agent)是核心数据采集组件,负责从应用运行环境中收集性能数据并发送至监控后端。 |
| 埋点 | 在应用程序中插入监控逻辑,用于收集性能数据的过程。通常情况下,探针提供了自动埋点方案,对业务代码无侵入。同时,用户也可以通过 SDK 的方式进行手动埋点。 |
| OpenTelemetry | 开源的分布式追踪标准,定义了 API 和数据模型,支持跨工具兼容。同时,OpenTelemetry 也以探针或 SDK 的方式,为主流的编程语言提供了埋点方案。 |
| 指标 | 指标(Metrics)是对应用在特定时间点或时间段内性能的定量测量,通常以时间序列数据形式存储,支持聚合计算(如平均值、最大值、分位数)和趋势分析。 |