指标
编辑指标
编辑Go Agent 会定期收集并报告指标。使用 ELASTIC_APM_METRICS_INTERVAL
配置来控制指标的报告频率,并使用 ELASTIC_APM_DISABLE_METRICS
禁用指标。
系统指标
编辑Go Agent 报告基本的系统级和进程级 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 Agent 报告各种 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
格式:字节
在整个生命周期中分配的字节数(即使已释放)。
-
golang.heap.allocations.allocated
-
类型:long
格式:字节
已分配但尚未释放的字节数(与 runtime.MemStats 中的 Alloc 相同)。
-
golang.heap.allocations.idle
-
类型:long
格式:字节
空闲 span 中的字节数。
-
golang.heap.allocations.active
-
类型:long
格式:字节
非空闲 span 中的字节数。
-
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 Agent 会跟踪采样和非采样事务的分解,此指标等效于transaction.duration.count
您可以按以下维度进行筛选和分组
-
transaction.name
:事务的名称 -
transaction.type
:事务的类型,例如request
-
-
span.self_time
-
类型:简单计时器
此计时器跟踪 span 的自用时间,是事务分解可视化的基础。
字段
-
sum.us
:自上次报告以来所有 span 自用时间之和,以微秒为单位(增量) -
count
:自上次报告以来所有 span 自用时间的计数(增量)
您可以按以下维度进行筛选和分组
-
transaction.name
:事务的名称 -
transaction.type
:事务的类型,例如request
-
span.type
:span 的类型,例如app
、template
或db
-
span.subtype
:span 的子类型,例如mysql
(可选)
-