Я пытаюсь получить показатель, давайте назовем его my.app.my_metric
из Datadog для локального анализа данных.Я использую Python API следующим образом:
MAX_TIMEFRAME_LENGTH = 2764800
now_timestamp = time.time()
query = 'my.app.my_metric{env:pr}'
dd.api.Metric.query(
start=now_timestamp - MAX_TIMEFRAME_LENGTH,
end=now_timestamp,
query=query
)
Взамен я получаю документ JSON с серией, которая выглядит следующим образом:
{
"end": 1554206399000,
"aggr": "avg",
"unit": null,
"scope": "env:pr",
"start": 1551441600000,
"length": 192,
"metric": "my.app.my_metric",
"interval": 14400,
"pointlist": [
[
1551441600000,
0.005317
],
[
1551456000000,
0.003229
],
[
1551470400000,
0.003937308868501529
],
(...)
],
"attributes": {},
"expression": "avg:my.app.my_metric{env:pr}",
"query_index": 0,
"display_name": "my.app.my_metric"
}
Скажем, общее среднее второгозначение каждой точки 0.00469
.Однако если я попытаюсь сделать то же самое в пользовательском интерфейсе Datadog, я получу значительно большее число:
![Datadog screenshot](https://i.stack.imgur.com/Ytvq6.png)
Отличаются ли запросы (обратите внимание, чтопериод примерно одинаков в обоих случаях)?Я неправильно понял, как работают Datadog и / или API?