更新时间:2024-08-16 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-business-id

Long

应用id。

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

{
  "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,请求响应成功。

错误码

请参见错误码

相关文档