Sha256: 75416b0ad83c3a452dd750a0b44a5a4e6bf0256a1ab946c7488b13387c25c874

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

# Fozzie is an implementation of the Statsd statistics gathering tool,
# designed to make gathering stastistics from applications easy, fast, and effective.
#
# Configuration can be applied through a block and/or configuration file ('config/fozzie.yml')
#
# Fozzie provides automatic namespacing for the current environment, and host.
#
# Rack and Rails middleware is avaliable to gather statistics on the processing time of Controller actions.
#
module Fozzie

  require 'core_ext/module/monitor'

  require 'fozzie/configuration'
  require "fozzie/interface"
  require "fozzie/version"

  require "fozzie/rack/middleware"
  require "fozzie/rails/middleware"

  require 'fozzie/railtie' if defined?(::Rails)

  class << self

    # Shortcut for `Fozzie.config`
    def c
      config
    end

    # Returns the current configuration. Creates configuration on first-time request
    def config
      @config ||= Configuration.new
    end

    # Allows the setting on valudes against the configuration
    #
    # `Fozzie.configure {|config| config.wat = :random }`
    def configure
      yield c if block_given?
    end

    # Set a logger
    #
    #
    # `Fozzie.logger = Logger.new(STDOUT)`
    def logger=(logger)
      @logger = logger
    end

    # Accessor for logger
    #
    # `Fozzie.logger.warn 'foo'`
    def logger
      @logger
    end

  end

  # Loads each namespace for registering statistics
  self.c.namespaces.each do |klas|
    Kernel.const_set(klas, Interface.instance) unless const_defined?(klas)
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fozzie-0.0.27 lib/fozzie.rb
fozzie-0.0.26 lib/fozzie.rb
fozzie-0.0.25 lib/fozzie.rb
fozzie-0.0.24 lib/fozzie.rb
fozzie-0.0.23 lib/fozzie.rb
fozzie-0.0.22 lib/fozzie.rb
fozzie-0.0.21 lib/fozzie.rb