指标编辑

.NET 代理跟踪某些系统和应用程序指标。其中一些指标具有内置的可视化效果,而另一些则只能通过自定义 Kibana 仪表板进行可视化。

这些指标将定期发送到 APM Server,然后从那里发送到 Elasticsearch。您可以使用设置 MetricsInterval 调整间隔。

指标将存储在 apm-* 索引中,并且 processor.event 属性设置为 metric

"平台:全部" 表示指标在 .NET Core 支持的每个平台上都可用。

系统指标编辑

从 APM 版本 6.6 开始,这些指标将在 APM 应用程序中可视化。

系统 CPU 使用率指标是使用 Windows 上的性能计数器收集的。跟踪应用程序运行的帐户必须是 性能监视器用户 组的一部分,才能访问性能计数器值。

可以从命令行将帐户添加到 性能监视器用户

net localgroup "Performance Monitor Users" "<Account Name>" /add 

<Account Name> 是跟踪应用程序运行的帐户

对于在 IIS 中运行的应用程序,IIS 应用程序池标识使用虚拟帐户,其名称遵循约定 IIS APPPOOL\<Application pool name>。可以使用上面的 net localgroup 命令将单个应用程序池标识添加到 性能监视器用户 组。

有关更多系统指标,请考虑在您的主机上安装 metricbeat

system.cpu.total.norm.pct

类型:scaled_float

格式:百分比

平台:仅限 Windows 和 Linux

除空闲和 IOWait 之外的状态下的 CPU 时间百分比,按核心数量进行归一化。

system.process.cpu.total.norm.pct

类型:scaled_float

格式:百分比

平台:全部

自上次事件以来,进程花费的 CPU 时间百分比。此值按 CPU 核心数量进行归一化,范围为 0 到 100%。

system.memory.total

类型:long

格式:字节

平台:仅限 Windows 和 Linux。

总内存。

system.memory.actual.free

类型:long

格式:字节

平台:仅限 Windows 和 Linux。

实际可用内存。

system.process.memory.size

类型:long

格式:字节

平台:全部

进程拥有的总虚拟内存。

system.process.memory.rss.bytes

类型:long

格式:字节

平台:全部

进程拥有的总物理内存。

运行时指标编辑

clr.gc.count

类型:long

平台:全部。

已发生的 GC 收集的总数。

clr.gc.gen0size

类型:long

格式:字节

平台:全部。

第 0 代堆的大小。

clr.gc.gen1size

类型:long

格式:字节

平台:全部。

第 1 代堆的大小。

clr.gc.gen2size

类型:long

格式:字节

平台:全部。

第 2 代堆的大小。

clr.gc.gen3size

类型:long

格式:字节

平台:全部。

第 3 代堆的大小 - 也称为大对象堆 (LOH)。

clr.gc.time

类型:long

格式:毫秒

平台:全部。

以毫秒为单位的近似累积收集经过时间。

内置应用程序指标编辑

为了支持 按跨度类型划分的时间 图表,代理会收集有关跨度和事务的计时信息的汇总指标,按跨度类型细分。

transaction.duration

类型:简单计时器

此计时器跟踪事务的持续时间,并允许创建显示加权平均值的图表。

字段

  • sum.us: 自上次报告(增量)以来所有事务持续时间的总和(以微秒为单位)
  • count: 自上次报告(增量)以来所有事务的计数

您可以按以下维度进行过滤和分组

  • transaction.name: 事务的名称
  • transaction.type: 事务的类型,例如 request
transaction.breakdown.count

类型:long

格式:计数(增量)

已为其创建细分指标 (span.self_time) 的事务数量。由于 Java 代理跟踪已采样和未采样事务的细分,因此此指标等效于 transaction.duration.count

您可以按以下维度进行过滤和分组

  • transaction.name: 事务的名称
  • transaction.type: 事务的类型,例如 request
span.self_time

类型:简单计时器

此计时器跟踪跨度自计时,是事务细分可视化的基础。

字段

  • sum.us: 自上次报告(增量)以来所有跨度自计时时间的总和(以微秒为单位)
  • count: 自上次报告(增量)以来所有跨度自计时时间的计数

您可以按以下维度进行过滤和分组

  • transaction.name: 事务的名称
  • transaction.type: 事务的类型,例如 request
  • span.type: 跨度的类型,例如 apptemplatedb
  • span.subtype: 跨度的子类型,例如 mysql(可选)