Module: NSA::Statsd::Publisher
- Included in:
- Collectors::ActionController, Collectors::ActiveRecord, Collectors::ActiveSupportCache, Collectors::Sidekiq, AsyncPublisher
- Defined in:
- lib/nsa/statsd/publisher.rb
Instance Method Summary collapse
- #__statsd_publish(stat_type, key, value = nil, sample_rate = nil) ⇒ Object
- #statsd_count(key, value = 1, sample_rate = nil) ⇒ Object
- #statsd_decrement(key, sample_rate = nil) ⇒ Object
- #statsd_gauge(key, value = 1, sample_rate = nil) ⇒ Object
- #statsd_increment(key, sample_rate = nil) ⇒ Object
- #statsd_set(key, value = 1, sample_rate = nil) ⇒ Object
- #statsd_time(key, sample_rate = nil, &block) ⇒ Object
- #statsd_timing(key, value = 1, sample_rate = nil) ⇒ Object
Instance Method Details
#__statsd_publish(stat_type, key, value = nil, sample_rate = nil) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/nsa/statsd/publisher.rb', line 36 def __statsd_publish(stat_type, key, value = nil, sample_rate = nil) payload = { :key => key } payload.merge!({ :value => value }) if value payload.merge!({ :sample_rate => sample_rate }) if sample_rate ::ActiveSupport::Notifications.instrument("#{stat_type}.statsd", payload) end |
#statsd_count(key, value = 1, sample_rate = nil) ⇒ Object
5 6 7 |
# File 'lib/nsa/statsd/publisher.rb', line 5 def statsd_count(key, value = 1, sample_rate = nil) __statsd_publish(:count, key, value, sample_rate) end |
#statsd_decrement(key, sample_rate = nil) ⇒ Object
9 10 11 |
# File 'lib/nsa/statsd/publisher.rb', line 9 def statsd_decrement(key, sample_rate = nil) __statsd_publish(:decrement, key, 1, sample_rate) end |
#statsd_gauge(key, value = 1, sample_rate = nil) ⇒ Object
13 14 15 |
# File 'lib/nsa/statsd/publisher.rb', line 13 def statsd_gauge(key, value = 1, sample_rate = nil) __statsd_publish(:gauge, key, value, sample_rate) end |
#statsd_increment(key, sample_rate = nil) ⇒ Object
17 18 19 |
# File 'lib/nsa/statsd/publisher.rb', line 17 def statsd_increment(key, sample_rate = nil) __statsd_publish(:increment, key, 1, sample_rate) end |
#statsd_set(key, value = 1, sample_rate = nil) ⇒ Object
21 22 23 |
# File 'lib/nsa/statsd/publisher.rb', line 21 def statsd_set(key, value = 1, sample_rate = nil) __statsd_publish(:set, key, value, sample_rate) end |
#statsd_time(key, sample_rate = nil, &block) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/nsa/statsd/publisher.rb', line 25 def statsd_time(key, sample_rate = nil, &block) start = Time.now result = block.call unless block.nil? statsd_timing(key, ((Time.now - start) * 1000).round, sample_rate) result end |
#statsd_timing(key, value = 1, sample_rate = nil) ⇒ Object
32 33 34 |
# File 'lib/nsa/statsd/publisher.rb', line 32 def statsd_timing(key, value = 1, sample_rate = nil) __statsd_publish(:timing, key, value, sample_rate) end |