我有一个用例,我们要捕获特定类别数据的指标。类别中的不同条目是动态的,不能进行硬编码。我们如何在千分尺中定义此类指标?我曾经使用过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等访问。
答案 0 :(得分:1)
带有国家标签的counter
正是您想要的:
meterReg.counter("users.active", Tags.of("counter", country)).increment()
计数器可让您计算其增加的速率以及时间范围内的总数。该计数器上的标签意味着它会按国家/地区创建计数器,以允许对该标签进行汇总/查询。