summaryrefslogtreecommitdiff
path: root/includes/rts/EventLogFormat.h
diff options
context:
space:
mode:
authorDuncan Coutts <duncan@well-typed.com>2011-10-25 18:55:55 +0100
committerDuncan Coutts <duncan@well-typed.com>2011-10-26 12:00:43 +0100
commit4856d15a87d9052e2d9729c6a3e4312eb00622a2 (patch)
treee43d369cf1e1bd372c22c9a58dce71996c06a5fe /includes/rts/EventLogFormat.h
parentece21ea00b8681b09c9eedbebbac1af764864367 (diff)
downloadhaskell-4856d15a87d9052e2d9729c6a3e4312eb00622a2.tar.gz
Add new eventlog EVENT_WALL_CLOCK_TIME for time matching
Eventlog timestamps are elapsed times (in nanoseconds) relative to the process start. To be able to merge eventlogs from multiple processes we need to be able to align their timelines. If they share a clock domain (or a user judges that their clocks are sufficiently closely synchronised) then it is sufficient to know how the eventlog timestamps match up with the clock. The EVENT_WALL_CLOCK_TIME contains the clock time with (up to) nanosecond precision. It is otherwise an ordinary event and so contains the usual timestamp for the same moment in time. It therefore enables us to match up all the eventlog timestamps with clock time.
Diffstat (limited to 'includes/rts/EventLogFormat.h')
-rw-r--r--includes/rts/EventLogFormat.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/includes/rts/EventLogFormat.h b/includes/rts/EventLogFormat.h
index 925aec4ed1..7773bae6a9 100644
--- a/includes/rts/EventLogFormat.h
+++ b/includes/rts/EventLogFormat.h
@@ -141,9 +141,10 @@
#define EVENT_SPARK_FIZZLE 40 /* () */
#define EVENT_SPARK_GC 41 /* () */
#define EVENT_INTERN_STRING 42 /* (string, id) {not used by ghc} */
+#define EVENT_WALL_CLOCK_TIME 43 /* (capset, unix_epoch_seconds, nanoseconds) */
-/* Range 43 - 59 is available for new GHC and common events */
+/* Range 44 - 59 is available for new GHC and common events */
/* Range 60 - 80 is used by eden for parallel tracing
* see http://www.mathematik.uni-marburg.de/~eden/
@@ -156,7 +157,7 @@
* ranges higher than this are reserved but not currently emitted by ghc.
* This must match the size of the EventDesc[] array in EventLog.c
*/
-#define NUM_GHC_EVENT_TAGS 42
+#define NUM_GHC_EVENT_TAGS 44
#if 0 /* DEPRECATED EVENTS: */
/* we don't actually need to record the thread, it's implicit */