查询行级别火焰图
功能介绍
查询行级别火焰图。
2.4.7-profiler以及之后版本,支持“行级别火焰图”。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/apm2/openapi/view/profiling/flame-line-tree
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
x-business-id |
是 |
Long |
应用id。 |
X-Auth-Token |
是 |
String |
从IAM服务获取的用户Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
from |
是 |
Long |
开始时间,比如1704271204595 |
to |
是 |
Long |
结束时间, 比如1704275169491 |
type |
是 |
String |
数据类型, CPU 或者 LATENCY |
instance_id |
是 |
Long |
实例id |
api |
是 |
String |
api的url,比如: GET_/user/{id} |
region |
是 |
String |
实例所在区域 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
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,请求响应成功。 |
错误码
请参见错误码。