ext/usdt/test.rb in ruby-usdt-0.1.2 vs ext/usdt/test.rb in ruby-usdt-0.2.0
- old
+ new
@@ -1,22 +1,39 @@
require File.expand_path(File.dirname(__FILE__)) + '/usdt'
+puts "## Provider"
provider = USDT::Provider.create :ruby, :test
puts provider
-p = provider.probe(:myfn, :probe,
+
+puts
+puts "## Probe with sym definition"
+probe = provider.probe(:myfn, :probe,
:string, :string, :integer)
+puts probe
+puts "probe.function: #{probe.function.inspect}"
+puts "probe.name: #{probe.name.inspect}"
+puts "probe.arguments: #{probe.arguments.inspect}"
+puts
+puts "## Probe with string definition"
+probe_str = provider.probe('myfn', 'str', :string)
+puts probe_str
+puts "probe.function: #{probe_str.function.inspect}"
+puts "probe.name: #{probe_str.name.inspect}"
+puts "probe.arguments: #{probe_str.arguments.inspect}"
+
provider.enable
+puts
puts "run:\nsudo dtrace -n 'ruby*:test:myfn:probe { printf(\"%s %s %d\",
copyinstr(arg0),
copyinstr(arg1),
args[2])
}'"
while true
- if p.enabled?
- p.fire("one", "two", 3)
+ if probe.enabled?
+ probe.fire("one", "two", 3)
puts("Fired!")
end
sleep 0.5
end