Module: Dalia::MiniGraphite

Defined in:
lib/mini_graphite.rb,
lib/mini_graphite/logger.rb,
lib/mini_graphite/version.rb,
lib/mini_graphite/routes_reporter.rb

Defined Under Namespace

Classes: Logger, RoutesReporter

Constant Summary collapse

DEFAULTS =
{
  :graphite_host => "graphite.host.com",
  :graphite_port => 2003,
  :statsd_host => "statsd.host.com",
  :statsd_port => 8125,
  :mock_mode => false,
  :debug_mode => false
}
VERSION =
"0.2.1"

Class Method Summary collapse

Class Method Details

.benchmark_wrapper(key, send_result = false) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mini_graphite.rb', line 40

def self.benchmark_wrapper(key, send_result = false)
  counter("#{key}.ini")

  result = nil

  time =
    Benchmark.realtime do
      result = yield
    end

  counter("#{key}.time", time * 1000)
  counter("#{key}.result", result) if send_result
  counter("#{key}.end")

  result
end

.config(opts = {}) ⇒ Object



19
20
21
22
23
24
# File 'lib/mini_graphite.rb', line 19

def self.config(opts = {})
  @opts = DEFAULTS.merge(opts)
  @logger = Dalia::MiniGraphite::Logger.new(opts[:debug_mode])
  logger.debug("Initalized with opts")
  logger.debug(opts.inspect)
end

.counter(key, value = 1) ⇒ Object



33
34
35
36
37
38
# File 'lib/mini_graphite.rb', line 33

def self.counter(key, value = 1)
  signal = "#{key}:#{value}|c"
  logger.debug("Sending counter: '#{signal}'")

  send_udp(signal) if !opts[:mock_mode]
end

.datapoint(key, value = 1, timestamp = Time.now) ⇒ Object



26
27
28
29
30
31
# File 'lib/mini_graphite.rb', line 26

def self.datapoint(key, value = 1, timestamp = Time.now)
  signal = "#{key} #{value} #{timestamp.to_i}"
  logger.debug("Sending datapoint: '#{signal}'")

  send_tcp(signal) if !opts[:mock_mode]
end