You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Dynatrace API获取服务维度的CPU使用率指标?

Dynatrace获取服务/单个Web控制器级CPU占比API方案

你当前用的/api/v2/metrics/query?metricSelector=builtin:tech.generic.cpu.usage是进程组粒度的通用CPU指标,和前端服务板块展示的控制器粒度CPU占比统计口径完全不同,按以下方式调用即可拿到对应数据:

  • 正确的内置指标为builtin:service.method.cpu.time,这是OneAgent做字节码注入时,针对每个追踪到的服务方法(含Spring Boot Web控制器接口)单独统计的CPU消耗指标,支持直接返回CPU占比数值
  • 接口调用完整参数参考:
GET /api/v2/metrics/query
?metricSelector=builtin:service.method.cpu.time:splitBy("dt.entity.service_method","service.method.name","dt.entity.process_group"):value(percent)
&entitySelector=type(PROCESS_GROUP),entityName.equals("你的WebLogic进程组名称")
&resolution=5m

上述参数的作用:

  • splitBy指定拆分维度,会把数据按单个服务方法(控制器接口)、所属进程组拆分,返回每个控制器的独立数据
  • :value(percent)直接返回该方法在所属进程内的CPU占用百分比,和前端页面展示数值完全一致
  • resolution指定数据聚合粒度,和你前端看数据的时间粒度对齐即可
  • 调用前置要求:
    1. 对应WebLogic进程的OneAgent已经开启Spring/Servlet传感器深度监控,能在前端服务页面正常看到单个控制器的请求链路、响应时间等明细数据,否则不会上报方法级CPU指标
    2. 调用使用的API Token需要授予metrics.read、entities.read权限,否则服务级维度数据会被过滤不返回
  • 常见排查点:如果调用后返回空数据,先去Dynatrace指标浏览器里搜索builtin:service.method.cpu.time,确认当前环境有该指标的上报数据,再检查是否对对应服务开启了方法级追踪开关。

补充说明:服务/控制器级的CPU占比不是从进程整体CPU做拆分估算的,是OneAgent在请求处理链路中直接统计每个方法执行占用的CPU时间片聚合计算得出的,和进程级CPU指标统计逻辑独立,不存在直接的维度下钻关联。

内容的提问来源于stack exchange,提问作者George

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:36:20