Class: DTrace::Tracer

Inherits:
Object
  • Object
show all
Defined in:
lib/dtrace/tracer.rb

Defined Under Namespace

Classes: NullTracer

Constant Summary collapse

@@tracer =
nil

Class Method Summary collapse

Class Method Details

.fire(*args) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dtrace/tracer.rb', line 18

def self.fire(*args)
  if @@tracer == nil
    begin
      # Avoid getting ourselves here:
      @@tracer = Module.const_get('Tracer')
    rescue NameError
      begin
        @@tracer = DTracer
      rescue NameError
        @@tracer = DTrace::Tracer::NullTracer
      end
    end
  end
  @@tracer.fire(*args)
end