Skip to content

Instantly share code, notes, and snippets.

@tagomoris
Created March 29, 2012 07:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tagomoris/2234497 to your computer and use it in GitHub Desktop.
Save tagomoris/2234497 to your computer and use it in GitHub Desktop.
def emit(tag, es, chain)
t = if @sample_unit == :all
'all'
else
tag
end
# Access to @counts SHOULD be protected by mutex, with a heavy penalty.
# Code below is not thread safe, but @counts (counter for sampling rate) is not
# so serious value (and probably will not be broke...),
# then i let here as it is now.
@counts[t] ||= 0
pairs = []
es.each {|time,record|
c = (@count[t] += 1)
if c % @interval == 0
pairs.push [time, record]
@counts[t] = 0
end
}
emit_sampled(tag, pairs)
chain.next
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment