
# 获取趋势图 - ShowTrend
#### 功能介绍
获取趋势图。
#### 调用方法
请参见[如何调用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::getConf | Read | -           | -   | - apm:apm2BusinessView:get  - apm:apm2Service:get   | -      |
     
  
 
#### URI
POST /v1/apm2/openapi/view/metric/trend
#### 请求参数
表1请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                |
|:---|:---|:---|:---|
| x-business-id | 是    | Long   | 应用id。获取方式请参见：[查询应用列表](https://support.huaweicloud.com/api-apm/apm_api_1001.html)，返回参数中查找对应应用的id值。 |
| X-Auth-Token  | 是    | String | 从IAM服务获取的用户Token。获取方式请参见：[获取Token](https://support.huaweicloud.com/api-apm/apm_api_0010.html)。    |
   
 表2请求Body参数 
| 参数              | 是否必选 | 参数类型                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| view_config     | 是    | [TrendView] object | **参数解释：** 查看某个指标监控中的视图配置信息。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                           |
| instance_id     | 否    | Long                                              | **参数解释：** 该应用中各组件在对应环境的实例id。获取方式：[获取实例信息列表](https://support.huaweicloud.com/api-apm/ListEnvInstances.html)，返回结果中根据主机名称获取到对应的实例id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。   |
| monitor_item_id | 否    | Long                                              | **参数解释：** 该应用中各组件在对应环境的监控项id。获取方式：[查询监控项列表](https://support.huaweicloud.com/api-apm/apm_api_1005.html)，返回结果中根据监控项名称获取对应的id，即为监控项id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| env_id          | 是    | Long                                              | **参数解释：** 应用中各组件的环境id。获取方式：[获取应用树](https://support.huaweicloud.com/api-apm/ShowTopologyTree.html)，返回参数中根据应用名查看对应real_id，即为环境id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。     |
| start_time      | 是    | String                                            | **参数解释：** 查看指标监控的开始时间。仅支持UTC毫秒级时间戳。例如：2024-10-16 16:03:01需要通过工具转换成UTC毫秒级时间戳：1702759381000。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                          |
| end_time        | 是    | String                                            | **参数解释：** 查看指标监控的结束时间。仅支持UTC毫秒级时间戳。例如：2024-10-16 16:03:01需要通过工具转换成UTC毫秒级时间戳：1702759381000。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                          |
   
 表3TrendView 
| 参数              | 是否必选 | 参数类型                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| view_type       | 否    | String                                                      | **参数解释：** 获取监控指标视图的配置类型。 **约束限制：** 长度不超过64。 **取值范围：** trend，表示显示为趋势图； sumtable，表示显示为汇总表格； rawtable，表示显示为原始表格。 **默认取值：** 不涉及。 |
| collector_name  | 是    | String                                                      | **参数解释：** 查询该指标监控的采集器名称。 **约束限制：** 长度不超过256。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                            |
| metric_set      | 是    | String                                                      | **参数解释：** 查询该指标监控下某个指标集的名称。 **约束限制：** 长度不超过256。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                         |
| title           | 否    | String                                                      | **参数解释：** 查询该指标监控下某个指标集对应的图表标题。 **约束限制：** 长度不超过256。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                    |
| table_direction | 否    | String                                                      | **参数解释：** 表格的方向。 **约束限制：** 长度不超过10。 **取值范围：** H：默认，表头横向； V：表头纵向。 **默认取值：** 不涉及。                                                                           |
| group_by        | 否    | String                                                      | **参数解释：** 分组依据。当视图类型为表格时，根据该值对数据进行分组展示。 **约束限制：** 长度不超过256。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                           |
| filter          | 否    | String                                                      | **参数解释：** 表格数据的过滤条件。 **约束限制：** 长度不超过1024。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                             |
| field_item_list | 是    | Array of [FieldItem] objects | **参数解释：** 查看某个指标监控中的指标项的模型列表。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                          |
| span            | 否    | Boolean                                                     | **参数解释：** 是否使用跨度展示。通常用于时间跨度、区间分组（例如请求耗时在 0\~500ms、500\~1000ms 等区间）。 **约束限制：** 长度不超过8。 **取值范围：** true：使用跨度展示； false：不使用跨度展示。 **默认取值：** 不涉及。                |
| span_field      | 否    | String                                                      | **参数解释：** 跨度字段。指按该字段的区间值进行分组。 **约束限制：** 长度不超过1024。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                      |
| order_by        | 否    | String                                                      | **参数解释：** 指定表格的排序依据和方向。 **约束限制：** 长度不超过1024。 **取值范围：** asc，表示表格升序排列； desc，表示表格降序排列。 **默认取值：** 不涉及。                                                         |
| latest          | 否    | String                                                      | **参数解释：** 是否只展示最近一笔数据。 **约束限制：** 不涉及。 **取值范围：** true：展示； false：不展示。 **默认取值：** 不涉及。                                                                    |
   
 表4FieldItem 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| function      | 是    | String  | **参数解释：** 定义该字段的聚合方式。比如值为SUM(cpuTime)，表示对cpuTime的值求和。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                    |
| as            | 否    | String  | **参数解释：** 某个指标集趋势图中显示的指标曲线名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                            |
| default_value | 否    | String  | **参数解释：** 某个指标集趋势图中显示的指标曲线默认名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                          |
| trace         | 否    | Boolean | **参数解释：** 标识字段，表示该条数据是否包含调用链信息。 **约束限制：** 不涉及。 **取值范围：** true：包含； false：不包含。 **默认取值：** 不涉及。 |
| precision     | 否    | Integer | **参数解释：** 控制该字段在展示时的数值精度。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                               |
| unit          | 否    | String  | **参数解释：** 指标集的单位。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                      |
| visible       | 否    | Boolean | **参数解释：** 该指标集的某个指标是否可见。 **约束限制：** 不涉及。 **取值范围：** true：可见； false：不可见。 **默认取值：** 不涉及。    |
   
#### 响应参数
**状态码： 200**
表5响应Body参数 
| 参数               | 参数类型                                                         | 描述                                                                                                                                         |
|:---|:---|:---|
| line_list        | Array of [FrontLine] objects | **参数解释：** 趋势图数据列表。展示各项指标随时间变化的曲线数据集合。 **约束限制：** 不涉及。   |
| latest_data_Time | Long                                                         | **参数解释：** 最后日期时间。表示当前趋势图中最新一条数据的时间戳。 **取值范围：** 不涉及。 |
   
 表6FrontLine 
| 参数         | 参数类型                                                           | 描述                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| point_list | Array of [FrontPoint] objects | **参数解释：** 趋势图上的坐标点集合。 **约束限制：** 不涉及。                                                                                                                                                                                          |
| title      | String                                                         | **参数解释：** 该趋势图曲线对应的标题。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                     |
| unit       | String                                                         | **参数解释：** 该趋势图曲线对应的单位。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                       |
| precision  | Integer                                                        | **参数解释：** 该趋势图曲线对应的数值精度。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                        |
| data_type  | String                                                         | **参数解释：** 该趋势图曲线对应的日期类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                         |
| visible    | Boolean                                                        | **参数解释：** 该趋势图曲线是否可见。 **约束限制：** 不涉及。 **取值范围：** true：可见； false：不可见。 **默认取值：** 不涉及。 |
   
 表7FrontPoint 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| time  | Long   | **参数解释：** 该数据点的时间戳。用于横坐标（X轴），展示时间变化趋势。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| value | Object | **参数解释：** 该时间点对应的数值。用于纵坐标（Y轴），展示数据变化情况。 **约束限制：** 不涉及。                                                                                                                                                  |
   
#### 请求示例
获取趋势图。入参中，view_type对应的值是trend。
```
/v1/apm2/openapi/view/metric/trend
{
  "end_time" : "2022-10-25 15:40:00",
  "env_id" : "11",
  "monitor_item_id" : 78,
  "start_time" : "2022-10-25 15:20:00",
  "view_config" : {
    "latest" : null,
    "span" : true,
    "collector_name" : "Url",
    "metric_set" : "url",
    "title" : "调用次数",
    "table_direction" : null,
    "group_by" : "",
    "filter" : "url=/apm2/health/v1/health-check^method=GET",
    "field_item_list" : [ {
      "trace" : null,
      "function" : "SUM(invokeCount)",
      "as" : "调用次数",
      "default_value" : null,
      "precision" : null,
      "unit" : null,
      "visible" : true
    } ],
    "span_field" : "source",
    "view_type" : "trend"
  }
}
```
#### 响应示例
**状态码： 200**
OK，请求响应成功。
```
{
  "line_list" : [ {
    "point_list" : [ {
      "time" : 1666682400000,
      "value" : 8
    }, {
      "time" : 1666682460000,
      "value" : 8
    }, {
      "time" : 1666682520000,
      "value" : 8
    }, {
      "time" : 1666682580000,
      "value" : 8
    }, {
      "time" : 1666682640000,
      "value" : 8
    }, {
      "time" : 1666682700000,
      "value" : 8
    }, {
      "time" : 1666682760000,
      "value" : 8
    }, {
      "time" : 1666682820000,
      "value" : 8
    }, {
      "time" : 1666682880000,
      "value" : 8
    }, {
      "time" : 1666682940000,
      "value" : 8
    }, {
      "time" : 1666683000000,
      "value" : 8
    }, {
      "time" : 1666683060000,
      "value" : 8
    }, {
      "time" : 1666683120000,
      "value" : 8
    }, {
      "time" : 1666683180000,
      "value" : 8
    }, {
      "time" : 1666683240000,
      "value" : 8
    }, {
      "time" : 1666683300000,
      "value" : 8
    }, {
      "time" : 1666683360000,
      "value" : 8
    }, {
      "time" : 1666683420000,
      "value" : null
    }, {
      "time" : 1666683480000,
      "value" : null
    }, {
      "time" : 1666683540000,
      "value" : null
    } ],
    "title" : "调用次数",
    "unit" : null,
    "precision" : null,
    "data_type" : "INT",
    "visible" : true
  } ],
  "latest_data_Time" : 1666683360000
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK，请求响应成功。            |
| 400 | Bad Request，语义或参数有误。  |
| 401 | Unauthorized，没有权限     |
| 403 | Forbidden，禁止访问。       |
| 404 | Not Found，没有找到要请求的资源。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-apm/ErrorCode.html)。
