Querying Time Series Data
Function
This API is used to query time series data within a specified time period. You can specify a dimension or period to query.
URI
POST /v2/{project_id}/samples
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID obtained from IAM. Generally, a project ID contains 32 characters. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
fill_value |
No |
String |
Value filled for breakpoints in time series data. Default value: –1. –1: Breakpoints are filled with –1. 0: Breakpoints are filled with 0. null: Breakpoints are filled with null. average: Breakpoints are filled with the average value of the adjacent valid data. If there is no valid data, breakpoints are filled with null. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
samples |
Yes |
Array of QuerySample objects |
List of time series objects. A JSON array can contain up to 20 objects. |
statistics |
Yes |
Array of strings |
Statistic. Values: maximum, minimum, sum, average, and sampleCount. |
period |
Yes |
Integer |
Granularity for monitoring data, which is an enumerated value. Values: 60: The data monitoring granularity is 1 minute. 300: The data monitoring granularity is 5 minutes. 900: The data monitoring granularity is 15 minutes. 3600: The data monitoring granularity is 1 hour. |
time_range |
Yes |
String |
Time range specified to query data of the last N minutes when the client time is inconsistent with the server time. It can also be used to accurately query the data of a specified period. Example:
Format: startTimeInMillis.endTimeInMillis.durationInMinutes Parameter description:
Constraint: In a single request, the following condition must be met: durationInMinutes x 60/period ≤ 1440 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
namespace |
Yes |
String |
Namespace of time series objects. Value range: PAAS.CONTAINER, PAAS.NODE, PAAS.SLA, PAAS.AGGR, or CUSTOMMETRICS. PAAS.CONTAINER: namespace of application time series objects. PAAS.NODE: namespace of node time series objects. PAAS.SLA: namespace of SLA time series objects. PAAS.AGGR: namespace of cluster time series objects. CUSTOMMETRICS: namespace of custom time series objects. |
dimensions |
Yes |
Array of DimensionSeries objects |
List of time series dimensions.You can call the /v2/{project_id}/series API to query the time series dimension list by namespace and metric_name. |
metric_name |
Yes |
String |
Time series name. Length: 1 to 255 characters. Values: cpuUsage: CPU usage. cpuCoreUsed: used CPU cores. Custom time series names. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
samples |
Array of SampleDataValue objects |
List of time series objects. |
Parameter |
Type |
Description |
---|---|---|
sample |
QuerySample object |
List of time series objects. |
data_points |
Array of MetricDataPoints objects |
Time series data. |
Parameter |
Type |
Description |
---|---|---|
namespace |
String |
Namespace of time series objects. Value range: PAAS.CONTAINER, PAAS.NODE, PAAS.SLA, PAAS.AGGR, or CUSTOMMETRICS. PAAS.CONTAINER: namespace of application time series objects. PAAS.NODE: namespace of node time series objects. PAAS.SLA: namespace of SLA time series objects. PAAS.AGGR: namespace of cluster time series objects. CUSTOMMETRICS: namespace of custom time series objects. |
dimensions |
Array of DimensionSeries objects |
List of time series dimensions.You can call the /v2/{project_id}/series API to query the time series dimension list by namespace and metric_name. |
metric_name |
String |
Time series name. Length: 1 to 255 characters. Values: cpuUsage: CPU usage. cpuCoreUsed: used CPU cores. Custom time series names. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Dimension name. |
value |
String |
Dimension value. |
Parameter |
Type |
Description |
---|---|---|
statistics |
Array of StatisticValue objects |
Statistic. |
timestamp |
Long |
Timestamp. |
unit |
String |
Time series unit. |
Parameter |
Type |
Description |
---|---|---|
statistic |
String |
Statistic. |
value |
Double |
Statistical result. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
error_type |
String |
Error type. |
Example Requests
Query time series data in the last five minutes by namespace, metric_name, and dimensions.
https://{Endpoint}/v2/{project_id}/samples { "samples": [ { "namespace": "PAAS.CONTAINER", "metric_name": "aom_process_cpu_usage", "dimensions": [ { "name": "appName", "value": "aomApp" } ] } ], "period": 60, "time_range": "-1.-1.5",// Last 5 minutes "statistics": [ "sum" ] }
Example Responses
Status code: 200
OK: The request is successful.
{ "samples" : [ { "sample" : { "namespace" : "PAAS.CONTAINER", "metric_name" : "aom_process_cpu_usage", "dimensions" : [ { "name" : "appName", "value" : "aomApp" } ] }, "data_points" : [ { "timestamp" : "1694673300000", "unit" : "Percent", "statistics" : [ { "statistic" : "sum", "value" : "23" } ] } ] } ] }
Status code: 400
Bad Request: The request is invalid. The client should not repeat the request without modifications.
{ "error_code" : "AOM.04008001", "error_msg" : "please check request param", "error_type" : "BAD_REQUEST" }
Status Codes
Status Code |
Description |
---|---|
200 |
OK: The request is successful. |
400 |
Bad Request: The request is invalid. The client should not repeat the request without modifications. |
401 |
Unauthorized: The authentication information is incorrect or invalid. |
403 |
Forbidden: The request is rejected. The server has received the request and understood it, but the server refuses to respond to it. The client should not repeat the request without modifications. |
500 |
Internal Server Error: The server is able to receive the request but unable to understand the request. |
503 |
Service Unavailable: The requested service is invalid. The client should not repeat the request without modifications. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.