java如何将测微计度量实现为动态映射
我有一个用例,我们希望捕获特定类别数据的指标。类别中的不同条目是动态的,不能硬编码。我们如何用千分尺来定义这样的指标?我曾使用过DistributionSummary、Gauge等工具,但它只对一个指标进行测量
这个例子是这样的:假设有一个课程网站(比如Udemy,Coursera),我们可以在其中监控哪个人参加课程的详细信息。桌子是这样的:
| Name | Country | Course | Duration | Active |
| ABC | USA | AWS 101 | 1.5 | true |
| XYZ | IND | JPN 101 | 0.5 | false |
我想绘制一个衡量每个国家活跃人数的指标,在CloudWatch或任何其他服务上显示。比如:
Map<String,AtomicInteger> numberOfActiveUsersPerCountry;
....
....
public void incrementActiveUsersPerCountry(String country) {
if(numberOfActiveUsersPerCountry.containsKey(country) {
//increment existing count
} else {
//add the new country
}
这应该可以通过千分尺和Cloudwatch/ELK等设备访问
# 1 楼答案
带有国家标签的
counter
正是你想要的:计数器可以让你计算出它的增长率和一段时间内的总数。该计数器上的标记表示它按国家创建计数器,以允许对该标记进行聚合/查询