summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>2009-12-12 10:08:09 +0000
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>2009-12-12 10:08:09 +0000
commit015d3d46b6de2f95386a515a7d166d996a0416db (patch)
treeda6c07854ca7ac899f08d56e5185ba55b6b854ac /includes
parentdcba7784a1af5fd0c054031c49fe159d69af4f86 (diff)
downloadhaskell-015d3d46b6de2f95386a515a7d166d996a0416db.tar.gz
Expose all EventLog events as DTrace probes
- Defines a DTrace provider, called 'HaskellEvent', that provides a probe for every event of the eventlog framework. - In contrast to the original eventlog, the DTrace probes are available in all flavours of the runtime system (DTrace probes have virtually no overhead if not enabled); when -DTRACING is defined both the regular event log as well as DTrace probes can be used. - Currently, Mac OS X only. User-space DTrace probes are implemented differently on Mac OS X than in the original DTrace implementation. Nevertheless, it shouldn't be too hard to enable these probes on other platforms, too. - Documentation is at http://hackage.haskell.org/trac/ghc/wiki/DTrace
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/EventLogFormat.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/includes/rts/EventLogFormat.h b/includes/rts/EventLogFormat.h
index 83330dadaa..87010eea8a 100644
--- a/includes/rts/EventLogFormat.h
+++ b/includes/rts/EventLogFormat.h
@@ -112,7 +112,7 @@
#define EVENT_GC_END 10 /* () */
#define EVENT_REQUEST_SEQ_GC 11 /* () */
#define EVENT_REQUEST_PAR_GC 12 /* () */
-#define EVENT_CREATE_SPARK_THREAD 15 /* (thread, spark_thread) */
+#define EVENT_CREATE_SPARK_THREAD 15 /* (spark_thread) */
#define EVENT_LOG_MSG 16 /* (message ...) */
#define EVENT_STARTUP 17 /* (num_capabilities) */
#define EVENT_BLOCK_MARKER 18 /* (size, end_time, capability) */
@@ -148,6 +148,7 @@ typedef StgWord64 EventTimestamp; // in nanoseconds
typedef StgWord32 EventThreadID;
typedef StgWord16 EventCapNo;
typedef StgWord16 EventPayloadSize; // variable-size events
+typedef StgWord16 EventThreadStatus; // status for EVENT_STOP_THREAD
#endif