diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2009-12-12 10:08:09 +0000 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2009-12-12 10:08:09 +0000 |
commit | 015d3d46b6de2f95386a515a7d166d996a0416db (patch) | |
tree | da6c07854ca7ac899f08d56e5185ba55b6b854ac /includes | |
parent | dcba7784a1af5fd0c054031c49fe159d69af4f86 (diff) | |
download | haskell-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.h | 3 |
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 |