summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-04-13 21:12:53 -0400
committerBen Gamari <ben@smart-cactus.org>2020-11-21 13:13:29 -0500
commit7e93ae8b2257c17d5ae5ef7832db723e897c8e8b (patch)
tree89e8f5af3d57e78177da45d13a3037912ad9eb7d /includes
parent69bfbc216c2278c9796aa999c7815c19c12b0f2c (diff)
downloadhaskell-7e93ae8b2257c17d5ae5ef7832db723e897c8e8b.tar.gz
rts: Post ticky entry counts to the eventlog
We currently only post the entry counters, not the other global counters as in my experience the former are more useful. We use the heap profiler's census period to decide when to dump. Also spruces up the documentation surrounding ticky-ticky a bit.
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/EventLogFormat.h5
-rw-r--r--includes/rts/Flags.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/includes/rts/EventLogFormat.h b/includes/rts/EventLogFormat.h
index 89a07bf5e1..d069ec6595 100644
--- a/includes/rts/EventLogFormat.h
+++ b/includes/rts/EventLogFormat.h
@@ -154,12 +154,15 @@
#define EVENT_CONC_UPD_REM_SET_FLUSH 206
#define EVENT_NONMOVING_HEAP_CENSUS 207
+#define EVENT_TICKY_COUNTER_DEF 210
+#define EVENT_TICKY_COUNTER_SAMPLE 211
+
/*
* The highest event code +1 that ghc itself emits. Note that some event
* 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 208
+#define NUM_GHC_EVENT_TAGS 212
#if 0 /* DEPRECATED EVENTS: */
/* we don't actually need to record the thread, it's implicit */
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h
index 9455892cdb..35b45b0940 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -176,6 +176,7 @@ typedef struct _TRACE_FLAGS {
bool nonmoving_gc; /* trace nonmoving GC events */
bool sparks_sampled; /* trace spark events by a sampled method */
bool sparks_full; /* trace spark events 100% accurately */
+ bool ticky; /* trace ticky-ticky samples */
bool user; /* trace user events (emitted from Haskell code) */
char *trace_output; /* output filename for eventlog */
} TRACE_FLAGS;