我有关于进程内存使用情况的时间序列指标。以下是字段:
<date>, <user>, <processid>, <memoryMB>
这里是时间。
1, foo, 1, 100
1, foo, 2, 500
2, foo, 3, 100
2, bar, 4, 100
在过去15天内找出任何用户的峰值内存使用量的最佳方法是什么?
这是带聚合的查询,它在每个时刻按用户添加memoryMB,然后我发布处理输出以获得最大内存MB。
{
"from":0,
"size":0,
"query":{"bool":{"must":[{"range":{"date":{"gte":"now-15d"}}}]}},
"aggs": {
"name": {
"terms": {
"field": "user",
"size": 1000
},
"aggs": {
"date": {
"terms": {
"field": "date",
"order" : { "_term" : "asc" },
"size": 15000
},
"aggs": {
"mb": {
"sum": { "field": "memoryMB" }
}
}
}
}
}
}
}
谢谢, -Soumitra。