class Lapine::DTrace
Attributes
probes[R]
provider[R]
Public Class Methods
fire!(probe_name, *args)
click to toggle source
# File lib/lapine/dtrace.rb, line 24 def self.fire!(probe_name, *args) raise ArgumentError.new("Unknown probe: #{probe_name}") unless self.provider.probes[probe_name] probe = self.provider.probes[probe_name] probe.fire(*args) if probe.enabled? end
new()
click to toggle source
# File lib/lapine/dtrace.rb, line 7 def initialize @provider = USDT::Provider.create(:ruby, :lapine) @probes = { # args: Class name, payload dispatch_enter: provider.probe(:dispatch, :enter, :string, :string), # args: Class name, payload dispatch_return: provider.probe(:dispatch, :return, :string, :string), } end
provider()
click to toggle source
# File lib/lapine/dtrace.rb, line 18 def self.provider @provider ||= new.tap do |p| p.provider.enable end end