# 查询慢日志统计信息 - ShowSlowLogStatistics
#### 功能介绍
查询慢日志统计信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-taurusdb/taurusdb_03_0000.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-taurusdb/taurusdb_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                             | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                | 别名                                                                                                                                                                                                                | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | gaussdbformysql:log:getSlowLogs | Read | instance \* | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | - gaussdb:log:list  - gaussdb:instance:list   | -      |
     
  
 
#### URI
POST /v3/{project_id}/instances/{instance_id}/slow-logs/statistics
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-taurusdb/taurusdb_10_0004.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                   |
| instance_id | 是    | String | **参数解释**： 实例ID，此参数是实例的唯一标识。 获取方法请参见[查询实例列表](https://support.huaweicloud.com/api-taurusdb/ListGaussMySqlInstancesUnifyStatus.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，后缀为in07，长度为36个字符。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                           |
| X-Language   | 否    | String | **参数解释**： 请求语言类型。 **约束限制**： 不涉及。 **取值范围**： - en-us：英文。   - zh-cn：中文。    **默认取值**： en-us。 |
   
表3请求Body参数 
| 参数         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| limit      | 否    | Integer | **参数解释**： 查询记录数。 **约束限制**： 必须为整数，不能为负数。 **取值范围**： 1-100。 **默认取值**： 100。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| offset     | 否    | Integer | **参数解释**： 索引位置，偏移量。从第一条数据偏移offset条数据后开始查询。 **约束限制**： 必须为整数，不能为负数。 **取值范围**： ≥0。 **默认取值**： 0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| node_id    | 是    | String  | **参数解释**： 节点ID。 获取方法请参见[查询实例详情信息](https://support.huaweicloud.com/api-taurusdb/ShowGaussMySqlInstanceInfoUnifyStatus.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，前面为UUID，后缀为no07，长度为36个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| type       | 否    | String  | **参数解释**： 语句类型，取空值，表示查询所有语句类型。 **约束限制**： 不涉及。 **取值范围**: - INSERT：插入语句。   - UPDATE：更新语句。   - SELECT：查询语句。   - DELETE：删除语句。   - CREATE：创建语句。   - ALL：所有类型。    **默认取值**： 不涉及。 |
| database   | 否    | String  | **参数解释**： 数据库名称。 获取方法请参见[查询数据库列表](https://support.huaweicloud.com/api-taurusdb/ListGaussMySqlDatabase.html)。 **约束限制**： 数据库名称不支持包含特殊字符 \< \> \& 等的搜索。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| start_time | 是    | String  | **参数解释**： 开始日期。格式为"yyyy-mm-ddThh:mm:ssZ"。 其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| end_time   | 是    | String  | **参数解释**： 结束时间，格式为"yyyy-mm-ddThh:mm:ssZ"。 其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。只能查询当前时间前一个月内的慢日志。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| sort       | 否    | String  | **参数解释**： 指定排序字段。 **约束限制**： 不涉及。 **取值范围**： - executeTime：表示按照平均执行时间降序排序。   - 字段为空或传入其他值，表示按照执行次数降序排序。    **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| order      | 否    | String  | **参数解释**： 排序顺序。 **约束限制**： 不涉及。 **取值范围**： - desc：降序。   - asc：升序。    **默认取值**： desc。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数            | 参数类型                                                                                                     | 描述                                                                                                                                                       |
|:---|:---|:---|
| slow_log_list | Array of [ShowSlowLogStatisticsItem] objects | **参数解释**： 慢日志统计信息列表。                                                                                            |
| total_count   | Integer                                                                                                  | **参数解释**： 总条数。 **取值范围**： 不涉及。 |
   
 表5ShowSlowLogStatisticsItem 
| 参数            | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| client_ip     | String  | **参数解释**： IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| count         | String  | **参数解释**： 执行次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| database      | String  | **参数解释**： 所属数据库。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| lock_time     | String  | **参数解释**： 平均等待锁时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| node_id       | String  | **参数解释**： 节点ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| query_sample  | String  | **参数解释**： 执行语法。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| rows_examined | Integer | **参数解释**： 平均扫描的行数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| rows_sent     | Integer | **参数解释**： 平均结果行统计数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| time          | String  | **参数解释**： 平均执行时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| type          | String  | **参数解释**： 语句类型。 **取值范围**： - INSERT：插入语句。   - UPDATE：更新语句。   - SELECT：查询语句。   - DELETE：删除语句。   - CREATE：创建语句。   - ALL：所有类型。    |
| users         | String  | **参数解释**： 账号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误消息。 |
   
**状态码：500**
表7响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误消息。 |
   
#### 请求示例
查询慢日志统计信息。
```
POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/6754902da1f447269c6979b0590102a5in07/slow-logs/statistics
{
  "limit" : 10,
  "offset" : 0,
  "node_id" : "4006312b96c541749d735c20e86dd169no07",
  "type" : null,
  "database" : null,
  "start_time" : "2024-08-16T14:37:00+0800",
  "end_time" : "2024-08-16T16:51:22+0800",
  "sort" : null,
  "order" : "desc"
}
```
#### 响应示例
**状态码：200**
```
{
  "slow_log_list" : [ {
    "node_id" : "4006312b96c541749d735c20e86dd169no07",
    "count" : "1 (100.00%)",
    "time" : "11.00014 s",
    "lock_time" : "0.00000 s",
    "rows_sent" : 1,
    "rows_examined" : 1,
    "database" : "",
    "users" : "root",
    "query_sample" : "select sleep(N);",
    "client_ip" : "localhost",
    "type" : "SELECT"
  } ],
  "total_count" : 1
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  查询慢日志统计信息。
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.gaussdb.v3.region.GaussDBRegion;
  import com.huaweicloud.sdk.gaussdb.v3.*;
  import com.huaweicloud.sdk.gaussdb.v3.model.*;
  public class ShowSlowLogStatisticsSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          GaussDBClient client = GaussDBClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(GaussDBRegion.valueOf("<YOUR REGION>"))
                  .build();
          ShowSlowLogStatisticsRequest request = new ShowSlowLogStatisticsRequest();
          request.withInstanceId("{instance_id}");
          ShowSlowLogStatisticsRequestBody body = new ShowSlowLogStatisticsRequestBody();
          body.withOrder("desc");
          body.withEndTime("2024-08-16T16:51:22+0800");
          body.withStartTime("2024-08-16T14:37:00+0800");
          body.withNodeId("4006312b96c541749d735c20e86dd169no07");
          body.withOffset(0);
          body.withLimit(10);
          request.withBody(body);
          try {
              ShowSlowLogStatisticsResponse response = client.showSlowLogStatistics(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  查询慢日志统计信息。
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkgaussdb.v3.region.gaussdb_region import GaussDBRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkgaussdb.v3 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = GaussDBClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(GaussDBRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ShowSlowLogStatisticsRequest()
          request.instance_id = "{instance_id}"
          request.body = ShowSlowLogStatisticsRequestBody(
              order="desc",
              end_time="2024-08-16T16:51:22+0800",
              start_time="2024-08-16T14:37:00+0800",
              node_id="4006312b96c541749d735c20e86dd169no07",
              offset=0,
              limit=10
          )
          response = client.show_slow_log_statistics(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  查询慢日志统计信息。
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      gaussdb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := gaussdb.GaussDBClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := gaussdb.NewGaussDBClient(hcClient)
      request := &model.ShowSlowLogStatisticsRequest{}
  request.InstanceId = "{instance_id}"
  orderShowSlowLogStatisticsRequestBody:= "desc"
  offsetShowSlowLogStatisticsRequestBody:= int32(0)
  limitShowSlowLogStatisticsRequestBody:= int32(10)
  request.Body = &model.ShowSlowLogStatisticsRequestBody{
  Order: &orderShowSlowLogStatisticsRequestBody,
  EndTime: "2024-08-16T16:51:22+0800",
  StartTime: "2024-08-16T14:37:00+0800",
  NodeId: "4006312b96c541749d735c20e86dd169no07",
  Offset: &offsetShowSlowLogStatisticsRequestBody,
  Limit: &limitShowSlowLogStatisticsRequestBody,
  }
  response, err := client.ShowSlowLogStatistics(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/GaussDB/sdk?api=ShowSlowLogStatistics)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-taurusdb/ErrorCode.html)。
