Module: Metrics
- Defined in:
- lib/liquid/metrics.rb,
lib/liquid/metrics/reporter.rb,
lib/liquid/metrics/logger_reporter.rb,
lib/liquid/metrics/tracker_reporter.rb
Defined Under Namespace
Classes: LoggerReporter, Reporter, TrackerReporter
Class Method Summary
collapse
Class Method Details
.counter(name) ⇒ Object
44
45
46
|
# File 'lib/liquid/metrics.rb', line 44
def self.counter(name)
registry.counter(name)
end
|
.gauge(name, handler) ⇒ Object
40
41
42
|
# File 'lib/liquid/metrics.rb', line 40
def self.gauge(name, handler)
registry.register(name, handler)
end
|
.histogram(name) ⇒ Object
52
53
54
|
# File 'lib/liquid/metrics.rb', line 52
def self.histogram(name)
registry.histogram(name)
end
|
.meter(name) ⇒ Object
48
49
50
|
# File 'lib/liquid/metrics.rb', line 48
def self.meter(name)
registry.meter(name)
end
|
.register_reporter(reporter) ⇒ Object
31
32
33
34
|
# File 'lib/liquid/metrics.rb', line 31
def self.register_reporter(reporter)
reporter.start(@period, @unit)
@reporters << reporter
end
|
.registry ⇒ Object
36
37
38
|
# File 'lib/liquid/metrics.rb', line 36
def self.registry
@registry
end
|
.start ⇒ Object
16
17
18
19
20
21
|
# File 'lib/liquid/metrics.rb', line 16
def self.start
@period = $conf.metrics.interval
@unit = TimeUnit::SECONDS
JmxReporter.forRegistry(@registry).build.start
Signal.register_shutdown_handler { stop }
end
|
.stop ⇒ Object
23
24
25
26
27
28
29
|
# File 'lib/liquid/metrics.rb', line 23
def self.stop
@reporters.each do |reporter|
reporter.run if reporter.respond_to?(:run)
reporter.stop
end
@reporters.clear
end
|
.timer(name) ⇒ Object
56
57
58
|
# File 'lib/liquid/metrics.rb', line 56
def self.timer(name)
registry.timer(name)
end
|