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

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID obtained from IAM. Generally, a project ID contains 32 characters.

Table 2 Query Parameters

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

Table 3 Request body 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 for query. The following requirement must be met: Time range/period ≤ 1440 During calculation, the time range and period must be converted to the same unit. Format: start time (UTC, in ms).end time (UTC, in ms).number of minutes in the time period. If both the start time and end time are -1, it indicates the latest N minutes. For example, –1.–1.5 indicates the latest 5 minutes. 1501545600000.1501632000000.1440 indicates the fixed time period from 08:00:00 on August 1, 2017 to 08:00:00 on August 2, 2017.

Table 4 QuerySample

Parameter

Mandatory

Type

Description

namespace

Yes

String

Time series objects' namespace. Values: PAAS.CONTAINER PAAS.NODE PAAS.SLA PAAS.AGGR CUSTOMMETRICS

dimensions

Yes

Array of DimensionSeries objects

List of time series dimensions. Neither the array nor the name or value of any dimension in the array can be left blank.

metric_name

Yes

String

Time series name. Length: 1–255 characters.

Table 5 DimensionSeries

Parameter

Mandatory

Type

Description

name

No

String

Name.

value

No

String

Value.

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

samples

Array of SampleDataValue objects

List of time series objects.

Table 7 SampleDataValue

Parameter

Type

Description

sample

QuerySample object

List of time series objects.

data_points

Array of MetricDataPoints objects

Time series data.

Table 8 QuerySample

Parameter

Type

Description

namespace

String

Time series objects' namespace. Values: PAAS.CONTAINER PAAS.NODE PAAS.SLA PAAS.AGGR CUSTOMMETRICS

dimensions

Array of DimensionSeries objects

List of time series dimensions. Neither the array nor the name or value of any dimension in the array can be left blank.

metric_name

String

Time series name. Length: 1–255 characters.

Table 9 DimensionSeries

Parameter

Type

Description

name

String

Name.

value

String

Value.

Table 10 MetricDataPoints

Parameter

Type

Description

statistics

Array of StatisticValue objects

Statistic.

timestamp

Long

Timestamp.

unit

String

Time series unit.

Table 11 StatisticValue

Parameter

Type

Description

statistic

String

Statistic.

value

Double

Statistical result.

Status code: 400

Table 12 Response body parameters

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": "abc",
 "metric_name": "def",
 "dimensions": [
 {
 "name": "instance_id",
 "value": "demo1"
 }
 ]
 }
 ],
 "period": 60,
 "time_range": "-1.-1.5",//Last five minutes
 "statistics": [
 "maximum",
 "minimum",
 "sum"
 ]
 }

Example Responses

Status code: 200

OK: The request is successful.

{
  "samples" : [ {
    "sample" : {
      "namespace" : "abc",
      "metric_name" : "def",
      "dimensions" : [ {
        "name" : "ghi",
        "value" : "lmn"
      } ]
    },
    "data_points" : [ {
      "timestamp" : "1467892800000",
      "unit" : "Percent",
      "statistics" : [ {
        "statistic" : "maximum",
        "value" : "23"
      } ]
    } ]
  } ]
}

Status code: 400

Bad Request: Invalid request. The client should not repeat the request without modifications.

{
  "error_code" : "AOM.04008500",
  "error_msg" : "internal server error",
  "error_type" : "INTERNAL_SERVER_ERROR"
}

Status Codes

Status Code

Description

200

OK: The request is successful.

400

Bad Request: Invalid request. 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 unavailable. The client should not repeat the request without modifications.

Error Codes

See Error Codes.