【问题标题】:Dropwizard IO Metrics are always aggregatedDropwizard IO 指标总是聚合的
【发布时间】:2017-01-14 19:53:38
【问题描述】:

我正在尝试通过Dropwizard IO Metrics 监控一些指标。我想获取在特定时间段内下载的文件数量,并且我想自己汇总该指标。例如,假设在 10.00 到 10.15 之间,下载了 60 个文件。我希望指标在此期间和 10.15 之间为 60,它必须返回 0。但是,在10.15之后,指标总是返回60。有没有办法避免它的自动聚合?

【问题讨论】:

    标签: aggregate aggregation dropwizard metrics


    【解决方案1】:

    这是可能的,您只是使用了我假设的错误指标。您将必须使用使用时间窗口的指标并正确配置它们。看看我写的这个简单的例子:

    public class MetricTest {
    
        public static final long SLEEP_TIME = 51;
    
        public static void main(String[] args) throws InterruptedException {
    
            SlidingTimeWindowReservoir reservoir = new SlidingTimeWindowReservoir(50, TimeUnit.MILLISECONDS);
            Histogram h = new Histogram(reservoir);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
            Thread.sleep(SLEEP_TIME);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
            Thread.sleep(SLEEP_TIME);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
            Thread.sleep(SLEEP_TIME);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
            Thread.sleep(SLEEP_TIME);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
            Thread.sleep(SLEEP_TIME);
    
            h.update(1);
            System.out.println(h.getSnapshot().size());
    
        }
    }
    

    我正在使用直方图来计算我提交的值的数量。请参阅上面的 SLEEP_TIME 常量以了解到期时间。

    如果我以 0 的睡眠时间运行它,我会得到:

    1 2 3 4 5 6

    如果我以 51 的睡眠时间运行它,每次创建快照时之前的值都会过期,我会得到:

    1 1 1 1 1 1

    您可以编写自己的窗口实现,只进行分桶和删除旧桶。

    我希望能阐明指标的工作原理。

    阿图尔

    【讨论】:

    • 您好,感谢您的回复。我知道这种用法,但是据我尝试,它不能应用于计数器;并且使用直方图而不是简单的计数器会太复杂。有什么可以和计数器一起使用的(比如重置的东西)?
    • 您可以自己扩展计数器并实现存储桶逻辑。但是,您要使用的是直方图(随时间的分布),而不是计数。根据定义,计数就是它所说的:一个计数器 :) 所以这就是它没有逻辑来重置它的原因。您还可以查看计时器,它们是也支持滑动窗口的仪表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多