Sha256: 1d2bc8b2d10df98f795648b485391ec39476585d77f4a1e1656c945c7f1d1838

Contents?: true

Size: 1.46 KB

Versions: 1

Compression:

Stored size: 1.46 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_relative 'fozzie/configuration'
  require_relative "fozzie/interface"
  require_relative "fozzie/version"

  require_relative "fozzie/rack/middleware"
  require_relative "fozzie/rails/middleware"

  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

1 entries across 1 versions & 1 rubygems

Version Path
fozzie-0.0.18 lib/fozzie.rb