Module: Strumbar

Defined in:
lib/strumbar.rb,
lib/strumbar/client.rb,
lib/strumbar/version.rb,
lib/strumbar/configuration.rb,
lib/strumbar/instrumentation.rb,
lib/strumbar/instrumentation/redis.rb,
lib/strumbar/instrumentation/active_record.rb,
lib/strumbar/instrumentation/action_controller.rb

Defined Under Namespace

Modules: Instrumentation Classes: Client, Configuration

Constant Summary collapse

VERSION =
"0.1.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject (readonly)

Returns the value of attribute configuration.



11
12
13
# File 'lib/strumbar.rb', line 11

def configuration
  @configuration
end

Class Method Details

.applicationObject



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

def application
  configuration.try(:application) || 'statsd_appname'
end

.clientObject



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

def client
  @client ||= Client.new host, port
end

.configure {|@configuration| ... } ⇒ Object

Yields:



13
14
15
16
17
# File 'lib/strumbar.rb', line 13

def configure
  @configuration = Configuration.new
  yield @configuration
  Instrumentation.load
end

.default_rateObject



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

def default_rate
  configuration.try(:default_rate) || 1
end

.hostObject



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

def host
  configuration.try(:host) || 'localhost'
end

.portObject



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

def port
  configuration.try(:port) || 8125
end

.strum(event, payload, &block) ⇒ Object



46
47
48
# File 'lib/strumbar.rb', line 46

def strum event, payload, &block
  ActiveSupport::Notifications.instrument event, payload, &block
end

.subscribe(identifier) ⇒ Object



39
40
41
42
43
44
# File 'lib/strumbar.rb', line 39

def subscribe identifier
  ActiveSupport::Notifications.subscribe identifier do |*args|
    event = ActiveSupport::Notifications::Event.new(*args)
    yield client, event
  end
end