[ovs-dev] [PATCH] Flush freshly-polled sFlow counters promptly.

Neil McKee neil.mckee at inmon.com
Fri Sep 2 19:03:21 UTC 2016


This one perturbs the output ordering just enough to fail two of the
sflow unit tests.  Sorry I didn't notice that before.  I'll post
another patch for that.

Neil
------
Neil McKee
InMon Corp.
http://www.inmon.com


On Fri, Sep 2, 2016 at 11:47 AM, Ben Pfaff <blp at ovn.org> wrote:
> On Mon, Aug 29, 2016 at 03:32:41PM -0700, Neil McKee wrote:
>> This patch changes the order of the steps that are followed
>> every second in the sFlow agent.  By moving the receiver_tick()
>> step to the end,  we ensure that any counters that were polled
>> during the poller_tick() step are flushed immediately to the
>> sFlow collector.  This eliminates what was a variable time-delay
>> between counters being polled and being flushed.
>>
>> The variable time-delay that this eliminates could be up to
>> a second because counters lingering in the output buffer could be
>> flushed at any time by the arrival of random packet-samples.
>>
>> Since the sFlow standard does not require that a poll-timestamp be sent
>> along with the counters the collector must use his receive-time as the
>> timestamp, so that extra second of variable delay was "stretching or
>> shrinking" the time between successive counter readings.  This
>> affected any counter-rate calculation that was based only on the delta
>> between sucessive samples. The effect was small with a polling
>> interval of 60 seconds: just +/- 2%.  But the effect grew larger
>> when faster polling was configured.  For example, if the counters
>> were pushed every 5 seconds then the instantaneous rate
>> calculations could wander by +/- 20%.  For a thorough analysis
>> of this problem,  see Rick Jones' paper:
>>
>> "High Frequency sFlow v5 Counter Sampling"
>> ftp://ftp.netperf.org/papers/high_freq_sflow/hf_sflow_counters.pdf
>>
>> So this patch makes it possible to obtain usable results even
>> when high-frequency polling is configured.
>>
>> Signed-off-by: Neil McKee <neil.mckee at inmon.com>
>
> Thanks, applied to master and branch-2.6.



More information about the dev mailing list