private bool MaybeSend(double sampleRate, params string[] stats)
{
// only return true if we sent something
var retval = false;
if (sampleRate < 1.0)
{
foreach (var stat in stats)
{
if (_random.NextDouble() <= sampleRate)
{
var sampledStat = string.Format("{0}|@{1}", stat, sampleRate);
if (Send(sampledStat))
{
retval = true;
}
}
}
}
else
{
foreach (var stat in stats)
{
if (Send(stat))
{
retval = true;
}
}
}
return retval;
}