Statsd发送方法

时间:2013-03-26 13:45:23

标签: graphite statsd

有没有人知道在Send方法中sampleRate检查和随机数的目的是什么 例如在c#示例中:

if (sampleRate < 1.0)
{
  foreach (var stat in stats)
  {
    if (Random.NextDouble() <= sampleRate)
{

似乎你只会调用else部分中的代码 - 循环统计并发送

1 个答案:

答案 0 :(得分:0)

该代码预计采样率介于0.0和1.0之间。然后它生成一个随机值,如果它小于sampleRate,则stat将被发送。这是一种基于假设您从Random.NextDouble()获得均匀分布的随机值的方法来对值进行抽样的概率方法。

这样做是因为如果你有很多统计数据,你可能不需要发送每一个。采样应该给你一个足够好的近似值。