まずリファレンスにしたがって、以下のようなスクリプトを回してみます。
# !/bin/bash
API_KEY=...
TIMESTAMP=$(date +%s)
curl -X POST -H "Content-type: application/json" \
-d '{ "series" :
[{"metric":"test.metric",
"points":[['$TIMESTAMP', 20]],
"type":"gauge",
"host":"test.example.com",
"tags":["environment:test"]}
]
}' \
"https://app.datadoghq.com/api/v1/series?api_key=$API_KEY"
{
"viz": "timeseries",
"requests": [
{
"q": "avg:test.metric{*}"
}
],
"events": []
}
おk。
同じタイムスタンプのデータを送る
続いてタイムスタンプが同じデータを送ってみます。
# !/bin/bash
API_KEY=...
TIMESTAMP=$(date +%s)
curl -X POST -H "Content-type: application/json" \
-d '{ "series" :
[{"metric":"test.metric",
"points":[
['$TIMESTAMP', 20],
['$TIMESTAMP', 21],
['$TIMESTAMP', 22]
],
"type":"gauge",
"host":"test.example.com",
"tags":["environment:test"]}
]
}' \
"https://app.datadoghq.com/api/v1/series?api_key=$API_KEY"
{
"viz": "timeseries",
"requests": [
{
"q": "sum:test.metric{*}"
}
],
"events": []
}
sum:
ですがなんかガタガタしてますね…。
同じタイムスタンプのデータを送った場合、いずれかが選択されるよう。
タグを変えてみる
同じタイムスタンプのデータを異なるタグで送ってみます。
# !/bin/bash
API_KEY=...
TIMESTAMP=$(date +%s)
for i in {1..3}; do
curl -X POST -H "Content-type: application/json" \
-d '{ "series" :
[{"metric":"test.metric",
"points":[
['$TIMESTAMP', 2'$i']
],
"type":"gauge",
"host":"test.example.com",
"tags":["environment:test'$i'"]}
]
}' \
"https://app.datadoghq.com/api/v1/series?api_key=$API_KEY"
done
今度はちゃんと合計されました…って88
?
詳細が分からないので、ダグごとに色分け。
{
"viz": "timeseries",
"requests": [
{
"q": "sum:test.metric{*} by {environment}"
}
],
"events": []
}
送ってないはずのenvironment:test
が…
…しばらく待ったら、直りました。