[erlang-questions] Ramblings about the Event Tracer
Per Melin
per.melin@REDACTED
Sun May 3 23:34:48 CEST 2009
Once I saw the screenshots of the Event Tracer viewer I decided that I
should figure out how to use it.
http://erlang.org/doc/apps/et/part_frame.html
That was some eight-nine hours ago. I now have a splitting headache.
I would really have appreciated if the documentation started out with
a much simpler example. Maybe like this:
1> et_viewer:start([{trace_global, true}, {trace_pattern, {et, max}}]).
{ok,<0.41.0>}
2> et:report_event(50, from, to, action, data).
hopefully_traced
That's all you need to do some really cool things with ET.
I wasted frustrating hours before I figured out that the trace_pattern
option does absolutely nothing without trace_global, even if used on a
single node. Though I later saw that there is a place in the User's
guide where this is hinted at.
I also wasted time before I found out that calls to report_event/5
with detail level 100 is ignored (or not shown), even with the detail
slider in the viewer at 100.
What does the doc say, you ask?
DetailLevel = integer(X) when X =< 0, X >= 100 (sic)
One thing that concerns me is that if I launch the viewer with
trace_global true when connected to other nodes, I've found that even
after I shut down the viewer, the collector and even the whole node,
there is still a trace in place on the other nodes.
(production@REDACTED)1> erlang:trace_info({et, report_event, 5}, all).
{all,[{traced,global},
{match_spec,[{['$1','_','_','_','_'],[{'<','$1',100}],[]}]},
{meta,false},
{meta_match_spec,false},
{call_count,false}]}
I have no idea what kind of overhead that brings. If I run dbg:i() at
this point I get a dbg_server_crash error.
More information about the erlang-questions
mailing list