Sha256: d64d5af21f97b54c5e670ca715b1b4ddd6dd4c26ec0a2017b8d12162e0392d0c
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
require 'statsd' module Fozzie module Classes class AbstractFozzie < Statsd attr_reader :prefix def initialize(host, port, prefix = nil) @namespace = prefix unless prefix.nil? super host, port end def time_to_do(stat, sample_rate=1, &block); time_for(stat, sample_rate, &block); end def time_for(stat, sample_rate=1, &block) begin time(stat, sample_rate, &block) rescue => exc yield block end end def committed; commit; end def commit event :commit end def build; built; end def built event :build end def deploy; deployed; end def deployed event :deploy end private def event(type) timing "event.#{type.to_s}", Time.now.usec end end NAMESPACES = %w{Stats S Statistics Warehouse} def self.included(klass) host, port, prefix = Fozzie.c.host, Fozzie.c.port, Fozzie.c.data_prefix NAMESPACES.each do |klas| # set a constant Kernel.const_set(klas, AbstractFozzie.new(host, port, prefix)) unless const_defined?(klas) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fozzie-0.0.3 | lib/fozzie/classes.rb |