Stackdriver REST API - получение нескольких временных рядов - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь получить несколько временных рядов, используя API-интерфейс stackdriver.В частности, данные балансировки нагрузки GCP.Используя инструментальную панель стека-драйвера, я создал диаграмму с некоторыми параметрами, и она хорошо работает, отображая все разные временные ряды, отвечающие на фильтры.Я скопировал те же самые параметры на игровую площадку API и ответ json, возвращающий один временной ряд (вероятно, первый).

Это запрос (взят из консоли игровой площадки):

return gapi.client.monitoring.projects.timeSeries.list({ "name": "projects/my_project", "aggregation.alignmentPeriod": "60s", "aggregation.crossSeriesReducer": "REDUCE_SUM", "aggregation.groupByFields": [ "metric.label.cache_result", "metric.label.response_code" ], "aggregation.perSeriesAligner": "ALIGN_RATE", "filter": "metric.type=\"loadbalancing.googleapis.com/https/request_count\" AND resource.label.forwarding_rule_name=\"my_rule_name\"", "interval.endTime": "2018-11-16T15:04:05Z", "interval.startTime": "2006-11-15T11:04:05Z", "pageSize": 1, "view": "FULL" })

Ответ REST: { "timeSeries": [ { "metric": { "labels": { "response_code": "0", "cache_result": "DISABLED" }, "type": "loadbalancing.googleapis.com/https/request_count" }, "resource": { "type": "https_lb_rule", "labels": { "project_id": "my_project_id" } }, "metricKind": "GAUGE", "valueType": "DOUBLE", "points": [ { "interval": { "startTime": "2018-11-15T13:12:05Z", "endTime": "2018-11-15T13:12:05Z" }, "value": { "doubleValue": 0.05 } } ] } ], "nextPageToken": "CPvK9vuH/qibZxJtIh0KEAoGCKXhtd8FEgYIpeG13wUSCRmamZmZmZmpPyoNaHR0cHNfbGJfcnVsZTI9chkKFWfdsfpYzovcmVzcG9uc2VfY29kZRAAciAKFG1ldHJpYzovY2FjaGVfcmVzdWx0GghESVNBQkxFRA==" }

Фактический график, который я ожидаю получить (с консоли SD - те же параметры): expected

1 Ответ

0 голосов
/ 17 ноября 2018

В запросе вы передаете "pageSize": 1, который сообщает API, чтобы он возвращал только 1 результат.Удаление этого параметра позволит ему возвращать до 100 тыс. Результатов в одном ответе.

По мере прохождения "view": "FULL" каждый результат представляет собой одну точку во временных рядах.Если вы удалите параметр pageSize или увеличите его и все равно не получите все точки обратно в одном ответе, поскольку их слишком много, вы можете передать тот же запрос, если для pageToken установлено значение nextPageTokenпредыдущий ответ, чтобы получить следующий набор результатов.

Больше информации здесь: https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list#body.QUERY_PARAMETERS.page_size

...