Consulta de estadísticas de registros de consultas lentas
Función
Esta API se utiliza para consultar las estadísticas de registros de consultas lentas. Antes de invocar a esta API:
- Aprender cómo autorizar y autenticarla.
- Obtenga la región y el punto de conexión requeridos.
URI
POST /v3/{project_id}/instances/{instance_id}/slow-logs/statistics
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID de proyecto de un tenant en una región. Para obtener este valor, consulte Obtención de un ID de proyecto. |
instance_id |
Sí |
String |
ID de instancia, que es compatible con el formato UUID. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. Para obtener este valor, invoque a la API de IAM para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es el valor del token. |
X-Language |
No |
String |
Tipo de idioma de solicitud. El valor predeterminado es en-us. Valores:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
limit |
No |
Integer |
Número de registros (resultados de la consulta) mostrados en cada página. El número oscila entre 1 y 100. El valor predeterminado es 10. |
offset |
No |
Integer |
Desplazamiento de índice. El valor predeterminado es 0, que indica que la consulta comienza desde el primer dato. |
node_id |
Sí |
String |
ID del nodo. |
type |
No |
String |
Tipo de sentencia. Si este parámetro se deja vacío, se consultan todos los tipos de sentencia. Valores enumerados:
|
database |
No |
String |
Nombre de la base de datos. No puede contener caracteres especiales como < > &. |
start_time |
Sí |
String |
Hora de inicio en formato aaaa-mm-ddThh:mm:ssZ. T es el separador entre el calendario y la notación horaria del tiempo. Z indica el desplazamiento de la zona horaria. Por ejemplo, en la zona horaria de Beijing, el desplazamiento es de +0800. |
end_time |
Sí |
String |
Hora de finalización en formato "aaaa-mm-ddThh:mm:ssZ". T es el separador entre el calendario y la notación horaria del tiempo. Z indica el desplazamiento de la zona horaria. Por ejemplo, en la zona horaria de Beijing, el desplazamiento es de +0800. Solo se pueden consultar los registros de consultas lentas generados durante el último mes. |
sort |
No |
String |
Campo de clasificación.
|
order |
No |
String |
Secuencia de clasificación. El valor predeterminado es desc. Valores enumerados:
|
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
slow_log_list |
Array of ShowSlowLogStatisticsItem objects |
Lista de estadísticas de logs de consultas lentas. |
total_count |
Integer |
Total de registros. |
Parámetro |
Tipo |
Descripción |
---|---|---|
client_ip |
String |
Dirección IP. |
count |
String |
Número de ejecuciones. |
database |
String |
Base de datos a la que pertenecen los registros de consultas lentas. |
lock_time |
String |
Tiempo promedio de espera de bloqueo. |
node_id |
String |
ID del nodo. |
query_sample |
String |
Sintaxis de ejecución. |
rows_examined |
Integer |
Número medio de filas analizadas. |
rows_sent |
Integer |
Número medio de filas contenidas en un resultado. |
time |
String |
Duración media de ejecución. |
type |
String |
Tipo de sentencia. |
users |
String |
Cuenta. |
Código de estado: 400
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 500
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Ejemplo de la solicitud
Consulta de estadísticas de registros de consultas lentas
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" }
Ejemplo de la respuesta
Código de estado: 200
Operación exitosa.
{ "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 }
Ejemplo de código de SDK
El código de SDK de ejemplo es el siguiente.
Java
Consulta de estadísticas de registros de consultas lentas
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 estadísticas de registros de consultas lentas
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 estadísticas de registros de consultas lentas
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) } } |
Más lenguajes de programación
Para obtener ejemplos de código de SDK en más lenguajes de programación, visite API Explorer y haga clic en la ficha Sample Code. Los ejemplos de código se pueden generar automáticamente.
Código de estado
Para más detalles, véase Códigos de estado.
Código de error
Para más detalles, véase Códigos de error.