06、API介绍Metric

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。

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