summaryrefslogtreecommitdiff
path: root/rts/Threads.c
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 /rts/Threads.c
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 'rts/Threads.c')
-rw-r--r--rts/Threads.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Threads.c b/rts/Threads.c
index 799cf9062a..8eaa951a2d 100644
--- a/rts/Threads.c
+++ b/rts/Threads.c
@@ -107,7 +107,7 @@ createThread(Capability *cap, nat size)
RELEASE_LOCK(&sched_mutex);
// ToDo: report the stack size in the event?
- traceSchedEvent (cap, EVENT_CREATE_THREAD, tso, tso->stack_size);
+ traceEventCreateThread(cap, tso);
return tso;
}
@@ -254,7 +254,7 @@ unblockOne_ (Capability *cap, StgTSO *tso,
cap->context_switch = 1;
#endif
- traceSchedEvent (cap, EVENT_THREAD_WAKEUP, tso, tso->cap->no);
+ traceEventThreadWakeup (cap, tso, tso->cap->no);
return next;
}