Module: Twingly::Metrics

Defined in:
lib/twingly/metrics.rb,
lib/twingly/metrics/ewma.rb,
lib/twingly/metrics/gauge.rb,
lib/twingly/metrics/meter.rb,
lib/twingly/metrics/timer.rb,
lib/twingly/metrics/counter.rb,
lib/twingly/metrics/version.rb,
lib/twingly/metrics/registry.rb,
lib/twingly/metrics/snapshot.rb,
lib/twingly/metrics/histogram.rb,
lib/twingly/metrics/time_tracker.rb,
lib/twingly/metrics/uniform_sample.rb,
lib/twingly/metrics/utilization_timer.rb,
lib/twingly/metrics/simple_moving_average.rb,
lib/twingly/metrics/grafana_cloud_reporter.rb,
lib/twingly/metrics/exponentially_decaying_sample.rb

Defined Under Namespace

Classes: Counter, EWMA, ExponentiallyDecayingSample, Gauge, GrafanaCloudReporter, Histogram, Meter, Registry, SimpleMovingAverage, Snapshot, TimeTracker, Timer, UniformSample, UtilizationTimer

Constant Summary collapse

VERSION =
"0.6.0"

Class Method Summary collapse

Class Method Details

.counter(name) ⇒ Object



19
20
21
# File 'lib/twingly/metrics.rb', line 19

def self.counter(name)
  Registry.default.counter(name)
end

.gauge(name, callable = nil, &block) ⇒ Object



23
24
25
# File 'lib/twingly/metrics.rb', line 23

def self.gauge(name, callable = nil, &block)
  Registry.default.gauge(name, callable, &block)
end

.get(name) ⇒ Object



15
16
17
# File 'lib/twingly/metrics.rb', line 15

def self.get(name)
  Registry.default.get(name)
end

.histogram(name) ⇒ Object



53
54
55
# File 'lib/twingly/metrics.rb', line 53

def self.histogram(name)
  Registry.default.histogram(name)
end

.mark(name, val = 1) ⇒ Object



39
40
41
# File 'lib/twingly/metrics.rb', line 39

def self.mark(name, val = 1)
  meter(name).mark(val)
end

.meter(name) ⇒ Object



35
36
37
# File 'lib/twingly/metrics.rb', line 35

def self.meter(name)
  Registry.default.meter(name)
end

.set(name, val) ⇒ Object



43
44
45
# File 'lib/twingly/metrics.rb', line 43

def self.set(name, val)
  gauge(name).set(val)
end

.time(name, duration = nil, &block) ⇒ Object



47
48
49
50
51
# File 'lib/twingly/metrics.rb', line 47

def self.time(name, duration = nil, &block)
  return timer(name).update(duration) if duration

  timer(name).time(&block)
end

.timer(name) ⇒ Object



27
28
29
# File 'lib/twingly/metrics.rb', line 27

def self.timer(name)
  Registry.default.timer(name)
end

.utilization_timer(name) ⇒ Object



31
32
33
# File 'lib/twingly/metrics.rb', line 31

def self.utilization_timer(name)
  Registry.default.utilization_timer(name)
end