Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ TaurusDB/ Referência de API/ APIs (recomendadas)/ Gerenciamento de logs/ Consulta de estatísticas de log de consulta lenta
Atualizado em 2025-05-23 GMT+08:00

Consulta de estatísticas de log de consulta lenta

Função

Essa API é usada para consultar estatísticas de log de consulta lenta. Antes de chamar essa API:

URI

POST /v3/{project_id}/instances/{instance_id}/slow-logs/statistics

Tabela 1 Parâmetros de URI

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto de um locatário numa região.

Para obter esse valor, consulte Obtenção de um ID de projeto.

instance_id

Sim

String

ID da instância, que é compatível com o formato UUID.

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário.

Para obter esse valor, chame a API do IAM para obter um token de usuário.

O valor de X-Subject-Token no cabeçalho da resposta é o valor do token.

X-Language

Não

String

Tipo de linguagem da solicitação. O valor padrão é en-us.

Valores:

  • en-us
  • zh-cn
Tabela 3 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

limit

Não

Integer

Número de registros (resultados da consulta) exibidos em cada página. O número varia de 1 a 100. O valor padrão é 10.

offset

Não

Integer

Deslocamento do índice. O valor padrão é 0, indicando que a consulta começa a partir da primeira parte dos dados.

node_id

Sim

String

ID do nó.

type

Não

String

Tipo de instrução. Se esse parâmetro for deixado em branco, todos os tipos de instrução serão consultados.

Valores enumerados:

  • INSERT
  • UPDATE
  • SELECT
  • DELETE
  • CREATE
  • ALL

database

Não

String

Nome do banco de dados. Ele não pode conter caracteres especiais, como < > &.

start_time

Sim

String

Hora de início no formato aaaa-mm-ddThh:mm:ssZ.

T é o separador entre o calendário e a notação horária do tempo. Z indica o deslocamento do fuso horário. Por exemplo, no fuso horário de Pequim, o deslocamento é +0800.

end_time

Sim

String

Hora de término no formato "aaaa-mm-ddThh:mm:ssZ".

T é o separador entre o calendário e a notação horária do tempo. Z indica o deslocamento do fuso horário. Por exemplo, no fuso horário de Pequim, o deslocamento é +0800. Somente logs de consulta lenta gerados no mês passado podem ser consultados.

sort

Não

String

Campo de classificação.

  • executeTime: indica a classificação de logs de consulta lenta por tempo médio de execução em ordem decrescente.
  • Se esse parâmetro for deixado vazio ou definido como outros valores, os logs de consulta lenta serão classificados por execuções em ordem decrescente.

order

Não

String

Sequência de classificação. O valor padrão é desc.

Valores enumerados:

  • desc
  • asc

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

slow_log_list

Array of ShowSlowLogStatisticsItem objects

Lista de estatísticas de log de consulta lenta.

total_count

Integer

Total de registros.

Tabela 5 ShowSlowLogStatisticsItem

Parâmetro

Tipo

Descrição

client_ip

String

Endereço IP.

count

String

Número de execuções.

database

String

Banco de dados ao qual pertencem os logs de consulta lenta.

lock_time

String

Tempo médio de espera de bloqueio.

node_id

String

ID do nó.

query_sample

String

Sintaxe de execução.

rows_examined

Integer

Número médio de linhas digitalizadas.

rows_sent

Integer

Número médio de linhas contidas em um resultado.

time

String

Duração média da execução.

type

String

Tipo de instrução.

users

String

Conta.

Código de status: 400

Tabela 6 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 7 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Exemplo de solicitação

Consulta de estatísticas de log de consulta lenta

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"
}

Exemplo de resposta

Código de status: 200

Bem-sucedido.

{
  "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
}

Exemplo de código SDK

O exemplo de código SDK é o seguinte.

Java

Consulta de estatísticas de log de consulta lenta

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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

Consulta de estatísticas de log de consulta lenta

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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

Consulta de estatísticas de log de consulta lenta

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := gaussdb.NewGaussDBClient(
        gaussdb.GaussDBClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    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)
    }
}

Mais linguagens de programação

Para obter exemplos de código de SDK em mais linguagens de programação, visite API Explorer e clique na guia Sample Code. Exemplos de código podem ser gerados automaticamente.

Código de status

Para mais detalhes, consulte Códigos de status.

Código de erro

Para mais detalhes, consulte Códigos de erro.