Sha256: 91d5c1bb50544976659ce419b0268e3a27e2e2b44925e896cb39f4751389753e
Contents?: true
Size: 1.25 KB
Versions: 3
Compression:
Stored size: 1.25 KB
Contents
module Skylight class Subscriber include Util::Logging attr_reader :config def initialize(config) @config = config @subscriber = nil @normalizers = Normalizers.build(config) end def register! unregister! if @subscriber @subscriber = ActiveSupport::Notifications.subscribe nil, self end def unregister! ActiveSupport::Notifications.unsubscribe @subscriber @subscriber = nil end def start(name, id, payload) return unless trace = Instrumenter.current_trace cat, title, desc, annot = normalize(trace, name, payload) trace.start(now - gc_time, cat, title, desc, annot) trace rescue Exception => e error "Subscriber#start error; msg=%s", e.message end def finish(name, id, payload) return unless trace = Instrumenter.current_trace trace.stop(now - gc_time) rescue Exception => e error "Subscriber#finish error; msg=%s", e.message end def publish(name, *args) # Ignored for now because nothing in rails uses it end private def normalize(*args) @normalizers.normalize(*args) end def gc_time GC.update GC.time end def now Util::Clock.default.now end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
skylight-0.1.3 | lib/skylight/subscriber.rb |
skylight-0.1.2 | lib/skylight/subscriber.rb |
skylight-0.1.1 | lib/skylight/subscriber.rb |