<div>According to the manual:</div><div><br></div>"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."<div>
<br></div><div><a href="http://www.erlang.org/doc/man/seq_trace.html">http://www.erlang.org/doc/man/seq_trace.html</a><br><div><br></div><div>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.)</div>
<div><br></div><div>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.</div>
<div><br></div><div>-michael turner </div></div>