[erlang-questions] RELEASE project D2.2 (WP2), DTrace, and timestamps
Scott Lystig Fritchie
Tue Sep 24 08:47:02 CEST 2013
Howdy. I was reading this status report from the RELEASE project from
earlier this year:
I see this on page 16:
"we added timestamps to all new and existing DTrace probes that we
wanted to associate with some trace (or proling) message."
As an example, on page 17:
probe message__queued(char *receiver, uint32_t size, uint32_t queue_len,
int token_label, int token_previous, int token_current,
* ts: the timestamp (in microseconds)
I'm a bit curious about the addition of these timestamp items to various
probes. The D2.2.pdf paper doesn't say what the timestamps are, e.g.,
wallclock time-of-day (UNIX time_t/epoch-style, perhaps, but with
microsecond resolution?) or relative to the start of the virtual
machine, or some other basis.
DTrace provides a reliable, strictly increasing timestamp value, whose D
script variable name is "timestamp", which has nanosecond resolution. A
related variable, "vtimestamp", provides the time (also in nanoseconds)
that the thread has been on-CPU.
The SystemTap framework also supplies a similar built-in functions,
e.g., gettimeofday_ns() and gettimeofday_us().
It seems to me that adding the "ts" argument to the message-queued probe
and others isn't Strictly Necessary(tm) for DTrace or SystemTap. I
don't know enough about LTT:NG to know if they were added to make life
with LTT easier? Thoughts?
More information about the erlang-questions