指标
编辑指标编辑
Go 代理定期收集和报告指标。使用 ELASTIC_APM_METRICS_INTERVAL
配置控制指标报告频率,并使用 ELASTIC_APM_DISABLE_METRICS
禁用指标。
系统指标编辑
Go 代理报告基本的系统级和进程级 CPU 和内存指标。有关更多系统指标,请考虑在您的主机上安装 Metricbeat。
从 Elastic Stack 版本 6.6 开始,这些指标将在 APM 应用程序中可视化。
在某些情况下,将合并来自多个节点的数据。从 Elastic Stack 版本 7.5 开始,您可以为每个节点设置一个唯一的名称以避免此问题。否则,将根据容器 ID 或主机名分别聚合数据。
-
system.cpu.total.norm.pct
-
类型: scaled_float
格式: 百分比
除空闲和 IOWait 状态之外的其他状态的 CPU 时间百分比,按核心数量标准化。
-
system.process.cpu.total.norm.pct
-
类型: scaled_float
格式: 百分比
自上次事件以来,进程花费的 CPU 时间百分比。此值按 CPU 核心数量标准化,范围为 0 到 100%。
-
system.memory.total
-
类型: long
格式: 字节
总内存。
-
system.memory.actual.free
-
类型: long
格式: 字节
实际内存(以字节为单位)。它是根据操作系统计算的。在 Linux 上,它包括空闲内存加上缓存和缓冲区。在 OSX 上,它是空闲内存和非活动内存的总和。在 Windows 上,此值不包括系统缓存和缓冲区消耗的内存。
-
system.process.memory.size
-
类型: long
格式: 字节
进程拥有的总虚拟内存。
Go 运行时指标编辑
Go 代理报告各种 Go 运行时指标。
目前,这些指标没有内置的可视化,因此您需要为它们创建自定义 Kibana 仪表板。
-
golang.goroutines
-
类型: long
当前存在的 goroutine 数量。
-
golang.heap.allocations.mallocs
-
类型: long
malloc 的数量。
-
golang.heap.allocations.frees
-
类型: long
free 的数量。
-
golang.heap.allocations.objects
-
类型: long
已分配对象的总数。
-
golang.heap.allocations.total
-
类型: long
格式: 字节
分配的字节数(即使已释放)(与 runtime.MemStats 中的 Alloc 相同)。
-
golang.heap.allocations.allocated
-
类型: long
格式: 字节
已分配但尚未释放的字节数(与 runtime.MemStats 中的 Alloc 相同)。
-
golang.heap.allocations.idle
-
类型: long
格式: 字节
空闲跨度中的字节数。
-
golang.heap.allocations.active
-
类型: long
格式: 字节
非空闲跨度中的字节数。
-
golang.heap.system.total
-
类型: long
格式: 字节
从系统获得的总字节数(runtime.MemStats 中 XxxSys 的总和)。
-
golang.heap.system.obtained
-
类型: long
格式: 字节
通过 runtime.MemStats 中的 HeapSys 获得的字节数,从系统获得的字节数。heap_sys = heap_idle + heap_inuse。
-
golang.heap.system.stack
-
类型: long
格式: 字节
从操作系统获得的堆栈内存字节数。
-
golang.heap.system.released
-
类型: long
格式: 字节
释放到操作系统的字节数。
-
golang.heap.gc.total_pause.ns
-
类型: long
总垃圾回收持续时间(以纳秒为单位)。
-
golang.heap.gc.total_count
-
类型: long
垃圾回收的总数。
-
golang.heap.gc.next_gc_limit
-
类型: long
格式: 字节
下一个垃圾回收周期的目标堆大小。
-
golang.heap.gc.cpu_fraction
-
类型: float
垃圾回收使用的 CPU 时间的比例。
应用程序指标编辑
-
transaction.duration
-
类型: 简单计时器
此计时器跟踪事务的持续时间,并允许创建显示加权平均值的图表。
字段
-
sum.us
: 自上次报告以来所有事务持续时间的总和(以微秒为单位)(增量) -
count
: 自上次报告以来所有事务的计数(增量)
您可以按以下维度进行过滤和分组
-
transaction.name
: 事务的名称 -
transaction.type
: 事务的类型,例如request
-
-
transaction.breakdown.count
-
类型: long
格式: 计数(增量)
已为其创建细分指标 (
span.self_time
) 的事务数量。由于 Go 代理跟踪已采样和未采样事务的细分,因此此指标等效于transaction.duration.count
您可以按以下维度进行过滤和分组
-
transaction.name
: 事务的名称 -
transaction.type
: 事务的类型,例如request
-
-
span.self_time
-
类型: 简单计时器
此计时器跟踪跨度自时间,是事务细分可视化的基础。
字段
-
sum.us
: 自上次报告以来所有跨度自时间的总和(以微秒为单位)(增量) -
count
: 自上次报告以来所有跨度自时间的计数(增量)
您可以按以下维度进行过滤和分组
-
transaction.name
: 事务的名称 -
transaction.type
: 事务的类型,例如request
-
span.type
: 跨度的类型,例如app
、template
或db
-
span.subtype
: 跨度的子类型,例如mysql
(可选)
-