
# 查询指标的topN - ShowOpsAgentMetricTopN
#### 功能介绍
该接口用于查询智能体指标的topN排行柱状图数据。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-agentarts/Permission.html)。
| 授权项                               | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|:---|:---|
| agentarts::showOpsAgentMetricTopN | Read | -           | -   | -  | - apm:apm2TraceEvents:get  - apm:apm2Service:get  - aom:metric:list  - agentArts:studioModelProvider:listStudioModels   |
   
#### URI
POST /v1/ops/observation/agents/metric/topn
#### 请求参数
表1请求Body参数 
| 参数            | 是否必选 | 参数类型                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| start_time    | 是    | String                                                                                   | **参数解释**： 查询指标的起始时间，使用Unix时间戳格式，单位为毫秒（ms），例如1700000000000。 **约束限制**： start_time必须早于end_time，两者配合使用指定查询时间范围。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| end_time      | 是    | String                                                                                   | **参数解释**： 查询指标的截止时间，使用Unix时间戳格式，单位为毫秒（ms）。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| metric_name   | 是    | String                                                                                   | **参数解释**： 用于指定需要查询的监控指标名称，可以通过查询时间范围内智能体的总数、草稿数、发布态数接口获取。 **约束限制**： 长度限制为1\~64个字符。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| resource_id   | 否    | String                                                                                   | **参数解释**： 应用ID，用于筛选指定应用的调用链数据，可通过查询应用列表接口获取。 **约束限制**： 长度限制为1\~64个字符。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| resource_type | 是    | String                                                                                   | **参数解释**： 智能体类型。 **约束限制**： 不涉及。 **取值范围**： - agent：单智能体；   - multiagents：多智能体；   - workflow：工作流。    **默认取值**： 不涉及。 |
| user_id       | 否    | String                                                                                   | **参数解释**： 用户ID，用于标识查询数据的所属用户，获取方式通过在控制台右上角"我的凭证"中复制得到。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| filter        | 否    | Array of [MetricFilterParam] objects | **参数解释**： 过滤条件，用于指定指标维度的过滤条件，包含标签名称、标签值和操作符。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| top_number    | 否    | Integer                                                                                  | **参数解释**： 待返回top数量。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表2MetricFilterParam 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| label_name  | 否    | String | **参数解释**： 指标维度标签名称，用于指定过滤条件的维度。标签名称与查询的指标相关，通过页面接口获取。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                |
| label_value | 否    | String | **参数解释**： 维度标签值，用于指定过滤条件的维度值。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                        |
| operator    | 否    | String | **参数解释**： 过滤操作符，用于定义label_name与label_value之间的匹配关系。 **约束限制**： 不涉及。 **取值范围**： - =：等于；   - !=：不等于。    **默认取值**： 不涉及。 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数       | 参数类型                                                                  | 描述                                                                                                                                                                                     |
|:---|:---|:---|
| row_list | Array of [RowList] objects | **参数解释**： 包含分组统计结果的对象列表，每个对象表示一个分组的指标统计值。 **取值范围**： 不涉及。 |
   
 表4RowList 
| 参数       | 参数类型   | 描述                                                                                                                                                                              |
|:---|:---|:---|
| group_by | String | **参数解释**： 分组名，用于标识分组统计结果所属的分组维度名称。 **取值范围**： 不涉及。 |
| value    | String | **参数解释**： 对应分组维度的统计指标值。 **取值范围**： 不涉及。            |
   
**状态码：400**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
**状态码：403**
表6响应Body参数 
| 参数                            | 参数类型                                                                                                | 描述                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String                                                                                              | **参数解释**： 错误码。 **取值范围**： 不涉及。                  |
| error_msg                     | String                                                                                              | **参数解释**： 错误信息。 **取值范围**： 不涉及。                 |
| encoded_authorization_message | String                                                                                              | **参数解释**： 编码后的授权信息，用于客户端解析权限问题。 **取值范围**： 不涉及。 |
| details                       | Array of [OpsObserverCommonError] objects | **参数解释**： 赖的下游服务错误信息列表。 **取值范围**： 不涉及。         |
   
 表7OpsObserverCommonError 
| 参数         | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
**状态码：500**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
#### 请求示例
```
POST https://api.example.com/v1/ops/observation/agents/metric/topn
Content-Type:application/json
X-Sdk-Date:20240416T095341Z
Authorization:SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
 {
  "group_by": [
    "gen_ai_resource_id"
  ],
  "top_number": 5,
  "filter": [],
  "start_time": "1776129847030",
  "end_time": "1776133447030",
  "metric_name": "top_n_app_call",
  "resource_type": "agent"
}
```
#### 响应示例
**状态码：200**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
200表示成功，其他值表示失败，具体参见错误码文档。
```
{
  "row_list" : [ {
    "group_by" : "b0fd244b-c5c8-4ef7-97b6-645a1b03edc6",
    "value" : "343.8087344736011"
  } ]
}
```
**状态码：400**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
400表示请求参数不正确。
```
{
  "error_code" : "AgentArts.05001003",
  "error_msg" : "请求参数不正确"
}
```
**状态码：403**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
403表示权限不足，拒绝访问。
```
{
  "error_code" : "AgentArts.05004003",
  "error_msg" : "权限不足，拒绝访问",
  "encode_authorization_message" : "eyJIcnJvciI6ICJVbmF1dGhvcm16ZWQifQ==",
  "details" : [ {
    "error_code" : "AgentArts.05001003"
  }, {
    "error_msg" : "请求参数不正确"
  } ]
}
```
**状态码：500**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
500表示内部服务器错误。
```
{
  "error_code" : "AgentArts.05005000",
  "error_msg" : "内部服务器错误"
}
```
#### 状态码
| 状态码 | 描述                                                                                                                                                                                           |
|:---|:---|
| 200 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 200表示成功，其他值表示失败，具体参见错误码文档。 |
| 400 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 400表示请求参数不正确。              |
| 403 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 403表示权限不足，拒绝访问。            |
| 500 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 500表示内部服务器错误。              |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
