Updated on 2022-12-05 GMT+08:00

Querying API Calls Within a Period

Function

This API is used to query the number of API calling times based on the API ID and specified time period. A sample value is returned every minute. If the query scope is within one hour, a sample value is returned every minute, which is the accumulated value within one minute. For security purposes, run the curl command on the server to query information, and then clear operation records, including but not limited to records in the ~/.bash_history and /var/log/messages directories (if any).

URI

GET /v2/{project_id}/apic/instances/{instance_id}/statistics/api/latest

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference.

instance_id

Yes

String

Instance ID.

Table 2 Query parameters

Parameter

Mandatory

Type

Description

api_id

Yes

String

API ID.

duration

Yes

String

Time range (unit: h or m). For example, 1h refers to the latest 1 hour and 1m refers to the latest 1 minute.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

code

String

Response code.

start_time

Integer

Timestamp (UTC) of the start time.

end_time

Integer

Timestamp (UTC) of the end time.

list

Array of StatisticsAPI objects

Statistic data.

Table 5 StatisticsAPI

Parameter

Type

Description

max_latency

Integer

Maximum latency.

avg_latency

Number

Average latency.

req_count

Integer

Total number of requests.

req_count2xx

Integer

Total number of 2xx response codes.

req_count4xx

Integer

Total number of 4xx response codes.

req_count5xx

Integer

Total number of 5xx response codes.

req_count_error

Integer

Number of errors.

max_inner_latency

Integer

Maximum gateway latency.

avg_inner_latency

Number

Average gateway latency.

max_backend_latency

Integer

Maximum backend latency.

avg_backend_latency

Number

Average backend latency.

output_throughput

Integer

Downstream throughput (bytes).

input_throughput

Integer

Upstream throughput (bytes).

current_minute

Long

Timestamp (UTC) of API access.

cycle

String

Measurement period.

api_id

String

API ID.

group_id

String

API group ID.

provider

String

API provider.

req_time

String

Request time.

register_time

String

Recording time.

status

Integer

Status.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

None

Example Responses

Status code: 200

OK

{
  "code" : "APIG.0000",
  "start_time" : 1595573280,
  "end_time" : 1595576820,
  "list" : [ {
    "api_id" : "39bce6d25a3f470e8cf7b2c97174f7d9",
    "avg_backend_latency" : 2.71,
    "avg_inner_latency" : 1.57,
    "avg_latency" : 4.14,
    "current_minute" : 1595576640,
    "cycle" : "MINUTE",
    "group_id" : "d0fc4e40b7d1492cba802f667c7c7226",
    "input_throughput" : 1071,
    "max_backend_latency" : 6,
    "max_inner_latency" : 8,
    "max_latency" : 14,
    "output_throughput" : 3790,
    "provider" : "73d69ae0cfcf460190522d06b60f05ad",
    "register_time" : "2020-07-24 15:44:56",
    "req_count" : 7,
    "req_count2xx" : 0,
    "req_count4xx" : 6,
    "req_count5xx" : 1,
    "req_count_error" : 7,
    "req_time" : "2020-07-24 15:44:00",
    "status" : 1
  } ]
}

Status code: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:api_id. Please refer to the support documentation"
}

Status code: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Status code: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Status code: 404

Not Found

{
  "error_code" : "APIG.3002",
  "error_msg" : "API 39bce6d25a3f470e8cf7b2c97174f7d9 does not exist"
}

Status code: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.