Sha256: d55bcc7cf3dcddf5b2a566d13c5a4a5972626fdda2b79b2dd498c2c39d7f0fec

Contents?: true

Size: 604 Bytes

Versions: 31

Compression:

Stored size: 604 Bytes

Contents

module Errplane
  module Rails
    module Instrumentation
      def benchmark_for_instrumentation
        start = Time.now
        yield
        elapsed = ((Time.now - start) * 1000).ceil
        Errplane.report("instrumentation/#{controller_name}##{action_name}", :value => elapsed)
      end

      def self.included(base)
        base.extend(ClassMethods)
      end

      module ClassMethods
        def instrument(methods = [])
          methods = [methods] unless methods.is_a?(Array)
          around_filter :benchmark_for_instrumentation, :only => methods
        end
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
errplane-1.0.0 lib/errplane/rails/instrumentation.rb
errplane-0.6.10 lib/errplane/rails/instrumentation.rb
errplane-0.6.9 lib/errplane/rails/instrumentation.rb
errplane-0.6.8 lib/errplane/rails/instrumentation.rb
errplane-0.6.7 lib/errplane/rails/instrumentation.rb
errplane-0.6.6 lib/errplane/rails/instrumentation.rb
errplane-0.6.5 lib/errplane/rails/instrumentation.rb
errplane-0.6.4 lib/errplane/rails/instrumentation.rb
errplane-0.6.3 lib/errplane/rails/instrumentation.rb
errplane-0.6.2 lib/errplane/rails/instrumentation.rb
errplane-0.6.1 lib/errplane/rails/instrumentation.rb
errplane-0.6.0 lib/errplane/rails/instrumentation.rb
errplane-0.5.30 lib/errplane/rails/instrumentation.rb
errplane-0.5.29 lib/errplane/rails/instrumentation.rb
errplane-0.5.28 lib/errplane/rails/instrumentation.rb
errplane-0.5.27 lib/errplane/rails/instrumentation.rb
errplane-0.5.26 lib/errplane/rails/instrumentation.rb
errplane-0.5.25 lib/errplane/rails/instrumentation.rb
errplane-0.5.24 lib/errplane/rails/instrumentation.rb
errplane-0.5.23 lib/errplane/rails/instrumentation.rb