为啥度量实现需要性能度量库?

Posted

技术标签:

【中文标题】为啥度量实现需要性能度量库?【英文标题】:Why are performance metric libraries needed for metric implementations?为什么度量实现需要性能度量库? 【发布时间】:2016-08-09 08:56:07 【问题描述】:

我有这个原始的怀疑。 Java 有许多度量库,例如http://metrics.dropwizard.io/3.1.0/getting-started/,它们与拥有原始数据类型并自己进行度量有什么不同?例如,这提供了一种称为计数器的功能,可用于计数测量。但这与拥有一个局部整数变量并自己递增和递减它有什么不同呢?这不仅与这个库有关,还与所有的性能指标库有关。另一个功能是健康检查。它与具有相同目的的简单布尔变量有何不同?请指教。

【问题讨论】:

【参考方案1】:

只是为了获得请求计数,您不需要指标库。

恕我直言,真正的好处在于增强的功能,例如 meters 提供:

仪表随时间测量事件的发生率(例如,“每秒请求数”)。除了平均速率之外,仪表还跟踪 1 分钟、5 分钟和 15 分钟的移动平均值。

与reporting via jmx 等报告工具一起,可能需要相当长的时间才能正确实施。

所以基本上你可以自己做所有这些事情,但是如果现有的库可以满足你的所有需求,为什么还要自己实现呢。

而且,由于它是开源的,您可以随时将其扩展到库本身不支持的指标。

【讨论】:

以上是关于为啥度量实现需要性能度量库?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:模型性能度量(performance measure)(待补充)

Oracle性能优化使用度量和预警

聚类算法(相似度与性能度量)

性能监控之 Java Metrics 度量包

机器学习实战笔记(Python实现)-07-分类性能度量指标

实用主义性能测试