更新时间:2025-08-08 GMT+08:00
分享

查询行级别火焰图

功能介绍

查询行级别火焰图。2.4.7-profiler以及之后版本,支持“行级别火焰图”。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/apm2/openapi/view/profiling/flame-line-tree

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token。

表2 请求Body参数

参数

是否必选

参数类型

描述

from

Long

开始时间,比如1704271204595。

to

Long

结束时间,比如1704275169491。

type

String

数据类型,CPU 或者 LATENCY。

instance_id

Long

实例id。

api

String

api的url,比如: GET_/user/{id}。

region

String

实例所在区域。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

data

Array of strings

火焰图的数据是个二维数组。

data[0][0]: self time,方法自己消耗的cpu毫秒时间,不包括方法内部调用其他方法的时间。

data[0][1]: total time, 方法消耗的cpu毫秒时间,包括方法内部调用其他方法的时间。

data[0][2]: 方法的index,对应methods中的数组下标。

data[0][3]: 行号 data[0][4]: 方法的子节点,就是方法中调用的其他方法。

methods

Array of strings

调用栈上的方法信息是个二维数组。

method[0][0]: 方法的唯一id。

method[0][1]: 方法的package包名。

method[0][2]: 方法的class name 类名。

method[0][3]: 方法名。

method[0][4]: 方法的参数列表。

method[0][5]: 方法是否为用户的方法。

method[0][6]: 方法是否为native方法。

请求示例

POST: /v1/apm2/openapi/view/profiling/flame-line-tree

{
  "from": 1704271204595,
  "to": 1704275169491,
  "type": "LATENCY",
  "instance_id": -6870732446083119805,
  "api" : "GET_/user/{id}",
      "region":"cn-north-7"
}

响应示例

状态码: 200

OK,请求响应成功。

{
  "data":[
    100,
    1000,
    null,
    [
      [
        700,
        700,
        0, 
	30, // 行号
        []
      ],
      [
        200,
        200,
        1,
	40, // 行号
        []
      ]
    ]
  ],
  "methods":[
    [
      2, // method id
      "com.huawei.foo",
      "SampleService",
      "doService",
      "int,long,String",
      true,  // 是否为用户方法
      false  // 是否为native方法
    ],
    [
      3,
      "com.huawei.bar",
      "SampleRemoteCall",
      "sampleCallRemoteProcess",
      "float,int",
      true, // 是否为用户方法
      false // 是否为native方法
    ]
  ]}

状态码

状态码

描述

200

OK,请求响应成功。

400

Bad Request,语义或参数有误。

401

Unauthorized,没有权限。

403

Forbidden,禁止访问。

404

Not Found,没有找到要请求的资源。

错误码

请参见错误码

相关文档