summaryrefslogtreecommitdiff
path: root/rts/Trace.c
diff options
context:
space:
mode:
authorDuncan Coutts <duncan@well-typed.com>2011-06-06 10:39:16 +0100
committerDuncan Coutts <duncan@well-typed.com>2011-07-18 16:31:14 +0100
commitd77df1caad3a5f833aac9275938a0675e1ee6aac (patch)
tree611e7bb5cb902a0bc0987f541627d565c4563c0a /rts/Trace.c
parent5d091088ce94be4c389fa669911d0e842bd08952 (diff)
downloadhaskell-d77df1caad3a5f833aac9275938a0675e1ee6aac.tar.gz
Add spark counter tracing
A new eventlog event containing 7 spark counters/statistics: sparks created, dud, overflowed, converted, GC'd, fizzled and remaining. These are maintained and logged separately for each capability. We log them at startup, on each GC (minor and major) and on shutdown.
Diffstat (limited to 'rts/Trace.c')
-rw-r--r--rts/Trace.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/rts/Trace.c b/rts/Trace.c
index 70f4a39742..0c32737e1b 100644
--- a/rts/Trace.c
+++ b/rts/Trace.c
@@ -335,6 +335,22 @@ void traceOSProcessInfo_(void) {
}
}
+void traceSparkCounters_ (Capability *cap,
+ SparkCounters counters,
+ StgWord remaining)
+{
+#ifdef DEBUG
+ if (RtsFlags.TraceFlags.tracing == TRACE_STDERR) {
+ /* we currently don't do debug tracing of spark stats but we must
+ test for TRACE_STDERR because of the !eventlog_enabled case. */
+ } else
+#endif
+ {
+ postSparkCountersEvent(cap, counters, remaining);
+ }
+}
+
+
void traceEvent_ (Capability *cap, EventTypeNum tag)
{
#ifdef DEBUG