Sha256: e030c635f5cbeb946074a23a329fba69a548e5141088189144d3995a36c8f14e

Contents?: true

Size: 1.45 KB

Versions: 2

Compression:

Stored size: 1.45 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/adapter'

  require "fozzie/exception"
  require 'fozzie/configuration'
  require "fozzie/dsl"
  require "fozzie/bulk_dsl"
  require "fozzie/version"

  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, Dsl.instance) unless const_defined?(klas)
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fozzie-1.0.1 lib/fozzie.rb
fozzie-1.0.0 lib/fozzie.rb