Sha256: 2fa24ce462f1565d929f4d2f31a7150c38b330af66e9055bc1f42bd7ecd10671

Contents?: true

Size: 383 Bytes

Versions: 1

Compression:

Stored size: 383 Bytes

Contents

require 'speed_gun'

# @abstract
class SpeedGun::Profiler
  def self.profile(*args, &block)
    new.profile(*args, &block)
  end

  def profile(name = self.class.name, payload = {}, &block)
    starts_at = Time.now

    ret = yield

    event = SpeedGun::Event.new(
      name, payload, starts_at, Time.now
    )
    SpeedGun.current_profile.record!(event)

    return ret
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
speed_gun-1.0.0.rc1 lib/speed_gun/profiler.rb