Class: Logtide::Metrics
- Inherits:
-
Object
- Object
- Logtide::Metrics
- Defined in:
- lib/logtide/metrics.rb
Overview
Thread-safe self-metrics counters (spec 002 section 9).
Constant Summary collapse
- COUNTERS =
%i[logs_sent logs_dropped errors retries circuit_breaker_trips].freeze
Instance Method Summary collapse
- #increment(name, amount = 1) ⇒ Object
-
#initialize ⇒ Metrics
constructor
A new instance of Metrics.
- #reset ⇒ Object
- #snapshot ⇒ Object
Constructor Details
Instance Method Details
#increment(name, amount = 1) ⇒ Object
13 14 15 |
# File 'lib/logtide/metrics.rb', line 13 def increment(name, amount = 1) @mutex.synchronize { @counters[name] += amount } end |
#reset ⇒ Object
21 22 23 |
# File 'lib/logtide/metrics.rb', line 21 def reset @mutex.synchronize { COUNTERS.each { |name| @counters[name] = 0 } } end |
#snapshot ⇒ Object
17 18 19 |
# File 'lib/logtide/metrics.rb', line 17 def snapshot @mutex.synchronize { @counters.dup } end |