Hi, I am trying use the ruby provider... but that seems to be failing for some reason : -- snip -- dtrace -n ''ruby$target::: {trace(arg0);}'' -c /var/tmp/ruby dtrace: invalid probe specifier ruby$target::: {trace(arg0);}: probe description ruby2063::: does not match any probes ... -- snip -- I picked up the ruby binary from http://svn.joyent.com/opensource/dtrace/ruby/binaries/solaris/ (ie. ruby-x86) I am on onnv-b76. Any help in regard would be very helpful ! Thanks and regards, Sanjeev
Does -Z help? -- This message posted from opensolaris.org
On 2/8/08, Sanjeev Bagewadi <Sanjeev.Bagewadi at sun.com> wrote:> Hi, > > I am trying use the ruby provider... but that seems to be failing for > some reason : > -- snip -- > dtrace -n ''ruby$target::: {trace(arg0);}'' -c /var/tmp/ruby > dtrace: invalid probe specifier ruby$target::: {trace(arg0);}: probe > description ruby2063::: does not match any probes > ... > -- snip -- > > I picked up the ruby binary from > http://svn.joyent.com/opensource/dtrace/ruby/binaries/solaris/ (ie. > ruby-x86)It looks like the ruby-x86 binary doesn''t actually have DTrace enabled, whereas the -CSK and -CSW binaries do: # dtrace -n ''ruby$target:::'' -c ./ruby-x86 dtrace: invalid probe specifier ruby$target:::: probe description ruby7173::: does not match any probes vs # dtrace -n ''ruby$target:::'' -c ./ruby-CSK dtrace: description ''ruby$target:::'' matched 11 probes CPU ID FUNCTION:NAME 0 74783 rb_obj_alloc:object-create-start 0 74782 rb_obj_alloc:object-create-done ... Odd, but perhaps that''s what''s meant by "standard build" in the README? Chris.
On Sun, Feb 10, 2008 at 02:29:26AM -0800, Matthieu Chase Heimer wrote:> Does -Z help?While -Z will certainly make the error message go away, it''s not necessarily the solution to the problem. The -Z flag tells dtrace(1m) to keep running even if the specified probes don''t (yet) exist. If they''re later created (e.g. because a shared object containing USDT probes is loaded) then those probes will be matched and traced. -Z isn''t the default because it can lead to problems. For example, typos won''t be reported so, for example if I specified fbt::entry rather than fbt:::entry or java*::: rather than hotspot*::: the command wouldn''t complain, but neither would I trace what I expected to trace. There are situations in which -Z needs to be used because -- for example if the probes being traced are in a object that''s not loaded initially -- but it should be used sparingly as it can lead to confusion. Adam -- Adam Leventhal, Fishworks http://blogs.sun.com/ahl
Apologies for a delayed response. Chris, You are right ! Looks like the ruby-CSW does have the dtrace-probes.two binaries : -- snip -- bash-3.2$ nm /var/tmp/ruby-x86 | grep dtrace [1616] | 134982572| 10|FUNC |LOCL |0 |10 |ruby_dtrace_fir bash-3.2$ nm Desktop/ruby-CSW | grep dtrace [51] | 134685956| 5821|FUNC |LOCL |2 |13 |$dtrace11297.rb_call0 [49] | 134666000| 19954|FUNC |LOCL |2 |13 |$dtrace11297.rb_eval [52] | 134699996| 892|FUNC |LOCL |2 |13 |$dtrace11297.rb_longjmp [53] | 134784196| 4886|FUNC |LOCL |2 |13 |$dtrace11299.garbage_collect [50] | 135188840| 54|FUNC |LOCL |2 |13 |$dtrace11322.ruby_dtrace_fire [76] | 0| 0|FILE |LOCL |0 |ABS |dtrace.o [83] | 134636188| 149|FUNC |LOCL |0 |13 |dtrace_dof_fini [80] | 134635600| 588|FUNC |LOCL |0 |13 |dtrace_dof_init [1416] | 135188840| 54|FUNC |LOCL |0 |13 |ruby_dtrace_fire -- snip -- Thanks again to all of you who responded to this query ! Regards, Sanjeev. Chris Andrews wrote:> On 2/8/08, Sanjeev Bagewadi <Sanjeev.Bagewadi at sun.com> wrote: > >> Hi, >> >> I am trying use the ruby provider... but that seems to be failing for >> some reason : >> -- snip -- >> dtrace -n ''ruby$target::: {trace(arg0);}'' -c /var/tmp/ruby >> dtrace: invalid probe specifier ruby$target::: {trace(arg0);}: probe >> description ruby2063::: does not match any probes >> ... >> -- snip -- >> >> I picked up the ruby binary from >> http://svn.joyent.com/opensource/dtrace/ruby/binaries/solaris/ (ie. >> ruby-x86) >> > > It looks like the ruby-x86 binary doesn''t actually have DTrace > enabled, whereas the -CSK and -CSW binaries do: > > # dtrace -n ''ruby$target:::'' -c ./ruby-x86 > dtrace: invalid probe specifier ruby$target:::: probe description > ruby7173::: does not match any probes > > vs > > # dtrace -n ''ruby$target:::'' -c ./ruby-CSK > dtrace: description ''ruby$target:::'' matched 11 probes > CPU ID FUNCTION:NAME > 0 74783 rb_obj_alloc:object-create-start > 0 74782 rb_obj_alloc:object-create-done > ... > > Odd, but perhaps that''s what''s meant by "standard build" in the README? > > > Chris. > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org >