48 filesupdated Jun 17, 2026
files10Download
./examplesJun 17, 2026./extJun 17, 2026./libJun 17, 2026./testJun 17, 2026.gitignoreJun 17, 2026History.txtJun 17, 2026LICENCEJun 17, 2026RakefileJun 17, 2026README.mdJun 17, 2026ruby-dtrace-consumer.gemspecJun 17, 2026README
ruby-dtrace-consumer is Ruby bindings for libdtrace, which allows you to write D-based programs with Ruby, accessing traced data in Ruby.
The corresponding provider library, allowing you to create probes meaningful to your Ruby programs, may be found as "ruby-usdt".
"ruby-dtrace", the predecessor to both these gems, is now deprecated and will not be updated.
== FEEDBACK
Fork the repository on Github: http://github.com/chrisa/ruby-dtrace
== FEATURES
- Access to the D API
- Probe metadata
- Run D programs
- Access aggregates
- Consume output from D programs
== SYNOPSIS
require 'dtrace'
t = DTrace.new
progtext = 'ruby$1:::function-entry{ @a[strjoin(strjoin(copyinstr(arg0),"."),copyinstr(arg1))] = count(); } END { printa(@a); }'
prog = t.compile progtext
prog.execute
t.go
[...]
c = DTraceConsumer.new(t)
c.consume_once do |rec|
# handle records
end
== REQUIREMENTS
-
For the consumer API, platform with DTrace support (Solaris and Illumos-derived systems, Mac OS X 10.5+, FreeBSD).
-
root, or some/all of the dtrace privileges on Solaris: dtrace_user, dtrace_proc and dtrace_kernel.
== INSTALL
$ sudo gem install ruby-dtrace-consumer