Module: NSA::Statsd::AsyncPublisher
- Includes:
- Publisher
- Defined in:
- lib/nsa/statsd/async_publisher.rb
Instance Method Summary
collapse
-
#async_statsd_count(key, sample_rate = 1, &block) ⇒ Object
-
#async_statsd_gauge(key, sample_rate = 1, &block) ⇒ Object
-
#async_statsd_set(key, sample_rate = 1, &block) ⇒ Object
-
#async_statsd_time(key, sample_rate = 1, &block) ⇒ Object
-
#async_statsd_timing(key, sample_rate = 1, &block) ⇒ Object
Methods included from Publisher
#__statsd_publish, #statsd_count, #statsd_decrement, #statsd_gauge, #statsd_increment, #statsd_set, #statsd_time, #statsd_timing
Instance Method Details
#async_statsd_count(key, sample_rate = 1, &block) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/nsa/statsd/async_publisher.rb', line 8
def async_statsd_count(key, sample_rate = 1, &block)
return unless sample_rate == 1 || rand < sample_rate
::Concurrent::Promise.execute(&block).then do |value|
statsd_count(key, value)
end
end
|
#async_statsd_gauge(key, sample_rate = 1, &block) ⇒ Object
16
17
18
19
20
21
22
|
# File 'lib/nsa/statsd/async_publisher.rb', line 16
def async_statsd_gauge(key, sample_rate = 1, &block)
return unless sample_rate == 1 || rand < sample_rate
::Concurrent::Promise.execute(&block).then do |value|
statsd_gauge(key, value)
end
end
|
#async_statsd_set(key, sample_rate = 1, &block) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/nsa/statsd/async_publisher.rb', line 24
def async_statsd_set(key, sample_rate = 1, &block)
return unless sample_rate == 1 || rand < sample_rate
::Concurrent::Promise.execute(&block).then do |value|
statsd_set(key, value)
end
end
|
#async_statsd_time(key, sample_rate = 1, &block) ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/nsa/statsd/async_publisher.rb', line 32
def async_statsd_time(key, sample_rate = 1, &block)
return unless sample_rate == 1 || rand < sample_rate
::Concurrent::Future.execute do
statsd_time(key, &block)
end
end
|
#async_statsd_timing(key, sample_rate = 1, &block) ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/nsa/statsd/async_publisher.rb', line 40
def async_statsd_timing(key, sample_rate = 1, &block)
return unless sample_rate == 1 || rand < sample_rate
::Concurrent::Promise.execute(&block).then do |value|
statsd_timing(key, value)
end
end
|