Querying Slow Query Log Statistics
Function
This API is used to query slow query log statistics. Before calling this API:
- Learn how to authorize and authenticate it.
- Obtain the required region and endpoint.
URI
POST /v3/{project_id}/instances/{instance_id}/slow-logs/statistics
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID of a tenant in a region. To obtain this value, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Instance ID, which is compliant with the UUID format. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the token value. |
X-Language |
No |
String |
Request language type. The default value is en-us. Values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
limit |
No |
Integer |
Number of records (query results) displayed on each page. The number ranges from 1 to 100. The default value is 10. |
offset |
No |
Integer |
Index offset. The default value is 0, indicating that the query starts from the first piece of data. |
node_id |
Yes |
String |
Node ID. |
type |
No |
String |
Statement type. If this parameter is left empty, all statement types are queried. Enumerated values:
|
database |
No |
String |
Database name. It cannot contain special characters such as < > &. |
start_time |
Yes |
String |
Start time in the yyyy-mm-ddThh:mm:ssZ format. T is the separator between the calendar and the hourly notation of time. Z indicates the time zone offset. For example, in the Beijing time zone, the offset is +0800. |
end_time |
Yes |
String |
End time in the "yyyy-mm-ddThh:mm:ssZ" format. T is the separator between the calendar and the hourly notation of time. Z indicates the time zone offset. For example, in the Beijing time zone, the offset is +0800. Only slow query logs generated within the past month can be queried. |
sort |
No |
String |
Sorting field.
|
order |
No |
String |
Sorting sequence. The default value is desc. Enumerated values:
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
slow_log_list |
Array of ShowSlowLogStatisticsItem objects |
List of slow query log statistics. |
total_count |
Integer |
Total records. |
Parameter |
Type |
Description |
---|---|---|
client_ip |
String |
IP address. |
count |
String |
Number of executions. |
database |
String |
Database that slow query logs belong to. |
lock_time |
String |
Average lock wait time. |
node_id |
String |
Node ID. |
query_sample |
String |
Execution syntax. |
rows_examined |
Integer |
Average number of scanned rows. |
rows_sent |
Integer |
Average number of rows contained in a result. |
time |
String |
Average execution duration. |
type |
String |
Statement type. |
users |
String |
Account. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Request
Querying slow query log statistics
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" }
Example Response
Status code: 200
Success.
{ "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 }
Example SDK Code
The example SDK code is as follows.
Java
Querying slow query log statistics
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
Querying slow query log statistics
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
Querying slow query log statistics
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) } } |
More Programming Languages
For SDK code examples in more programming languages, visit API Explorer and click the Sample Code tab. Code examples can be automatically generated.
Status Code
For details, see Status Codes.
Error Code
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot