0
点赞
收藏
分享

微信扫一扫

dropwizard 基本概念整理


The solution for this is to sample the data as it goes through. By maintaining a small, manageable reservoir which is statistically representative of the data stream as a whole, we can quickly and easily calculate quantiles which are valid approximations of the actual quantiles. This technique is called reservoir sampling.

Metrics provides a number of different Reservoir implementations, each of which is useful.

Timers作用:histogram和meter的组合体

dropwizard提供了多种度量方式:最简单记数counter,复杂点的有用于计算时间分布的histogram,用于计算速率的meter,以及同时有histogram和meter功能的timer。

dropwizard 基本概念整理_dropwizard

总结:

  • 统计某个函数被调用的频率(TPS),使用Meters。
  • 统计某个方法的耗时,使用Histograms。–注意时间是以纳秒为单位的
  • 既要统计某个方法的TPS又要统计其耗时时,使用Timers。–注意时间是以纳秒为单位的
  • counter用于计数
  • gauge只用于记录瞬时值(最简单的度量指标,每次相当于重置这个值。)

counter与gauge:

  • 在某些时候,只能用gauge,比如说这个值是在第三方包提供的,例如guava cache的cache size(而恰好我们将该cache集成在spring cache中,通过注解来使用了),无法用哪个counter来测量
  • 在某些时候,只能用counter,比如说一个方法的执行成功与失败次数。

histogram:

在统计中位数以及95%这样的数据的时候,通常需要把所有的数据拿出来,然后进行运算(在大量的数据下该方法失效,所以采用了水库采集法–reservoir sampling,通过维护一个小的、可管理的水库来代表全部统计数据),具体采集法有以下几种:

  • Uniform Reservoirs:随机选择具有线性递减概率的储层的值,仅用于长时间的测量。测量统计数据最近是不是发生了变化,不要使用这个(使用下边的指数衰减水库)。
  • Exponentially Decaying Reservoirs(指数衰减水库):该水库采集的数据可以代表大约最后5分钟的全部数据。该水库也是Times 类metrics使用histogram的默认选择水库。
  • Sliding Window Reservoirs:代表过去n次测量的数据
  • Sliding Time Window Reservoirs:严格的代表过去n秒内的数据(注意与指数衰减库的区别,该方法严格的记录过去的每一秒的数据(而指数衰减其实还是在最后5min进行抽样),所以在高频下可能需要更多内存,而且也是最慢的水库类型)

4类Reservoir

  1. ExponentiallyDecayingReservoir(指数采样)
  2. UniformReservoir(随机采样)
  3. SlidingWindowReservoir(只存最近N条数据)
  4. SlidingTimeWindowReservoir(指定时间窗口重置数据)

本文整理自网络。

个人微信公众号:

dropwizard 基本概念整理_metrics_02

作者:jiankunking​


举报

相关推荐

Kafka的基本概念整理

事务基本概念

递归基本概念

unix基本概念

Hive -- 基本概念

0 条评论