[erlang-questions] seq_trace Serial - a unique event ID?

Michael Turner <>
Wed Jun 8 09:09:15 CEST 2011


According to the manual:

"The trace token contains a component which is called serial. It consists of
two integers Previous and Current. The purpose is to uniquely identify each
traced event within a trace sequence and to order the messages
chronologically and in the different branches if any."

http://www.erlang.org/doc/man/seq_trace.html

Is that passage actually asserting that Serial can "uniquely identify" a
seq_trace event? Or is it only implying that Serial *helps* to uniquely
identify those events?  If it's "to uniquely identify", is unique
identification of seq_trace events actually a proven property of the Serial
updating algorithm given?  (I assume that "event" means "either a
seq_trace:print() call or a traceable message between processes". Serial
can't uniquely identify each trace message sent to the tracer process,
because if you enable tracing of both sends and receives, you'll get the
same Serial value at the tracer process when it records both a traced send
and its corresponding (possibly much later) receive.)

Also: if seq_trace is based on some classic method for handling "sequential
tracing", is there a formal treatment of of this method somewhere?
 Searching on "sequential tracing" and some other likely terms just turns up
... the Erlang seq_trace manual page.

-michael turner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20110608/f2abb4bf/attachment.html>


More information about the erlang-questions mailing list