
# 查询行级别火焰图 - POST_APM2_OPENAPI_PROFILING_FLAME_LINE_TREE
#### 功能介绍
查询行级别火焰图。2.4.7-profiler以及之后版本，支持"行级别火焰图"。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-apm/apm_04_0007.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-apm/apm_04_0021.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项              | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名                                                                                                                                                                                                                                                                                                                                                                                    | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | apm::getTopology | Read | -           | -   | - apm:apm2BusinessTopology:get  - apm:apm2TraceTopology:get   | -      |
     
  
 
#### 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，没有找到要请求的资源。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-apm/ErrorCode.html)。
