06、API介绍Metric

本文详细解析了Cat监控工具中Metric指标的使用,包括logMetricForCount和logMetricForDuration方法的Java代码示例,解释了业务指标统计的最小粒度为1分钟,以及每秒聚合、累加与平均值的计算逻辑,帮助开发者实现有效的应用性能监控。

Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。

# Counter
Cat.logMetricForCount("metric.key");
Cat.logMetricForCount("metric.key", 3);
# Duration
Cat.logMetricForDuration("metric.key", 5);

我们每秒会聚合 metric。

举例来说,如果你在同一秒调用 count 三次(相同的 name),累加他们的值,并且一次性上报给服务端。

在duration 的情况下,用平均值来取代累加值。

编写案例测试上述API:

package com.example.demo.controller;

import com.dianping.cat.Cat;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/metric")
public class MetricController {
    @RequestMapping("/count")
    public String count(){
        Cat.logMetricForCount("count");
        return "test";
    }
    @RequestMapping("/duration")
    public String duration(){
        Cat.logMetricForDuration("duration", 1000);
        return "test";
    }
}

启动项目,访问接口http://localhost:9100/metric/count 点击5次和http://localhost:9100/metric/duration。

 

通过上图可以看到,count和duration的具体数值。

count一共点击了5次,所以这一分钟内数值为5。而duration不管点击多少次,由于取的是平均值,所以一直是1000。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: