-#define EVENT_CREATE_THREAD 0 /* (cap, thread) */
-#define EVENT_RUN_THREAD 1 /* (cap, thread) */
-#define EVENT_STOP_THREAD 2 /* (cap, thread, status) */
-#define EVENT_THREAD_RUNNABLE 3 /* (cap, thread) */
-#define EVENT_MIGRATE_THREAD 4 /* (cap, thread, new_cap) */
-#define EVENT_RUN_SPARK 5 /* (cap, thread) */
-#define EVENT_STEAL_SPARK 6 /* (cap, thread, victim_cap) */
-#define EVENT_SHUTDOWN 7 /* (cap) */
-#define EVENT_THREAD_WAKEUP 8 /* (cap, thread, other_cap) */
-#define EVENT_GC_START 9 /* (cap) */
-#define EVENT_GC_END 10 /* (cap) */
-#define EVENT_REQUEST_SEQ_GC 11 /* (cap) */
-#define EVENT_REQUEST_PAR_GC 12 /* (cap) */
-#define EVENT_CREATE_SPARK_THREAD 15 /* (cap, thread, spark_thread) */
-#define EVENT_LOG_CAP_MSG 16 /* (cap, message ...) */
-#define EVENT_LOG_MSG 17 /* (message ...) */
-#define EVENT_STARTUP 18 /* (num_capabilities) */
-
-#define NUM_EVENT_TAGS 19
+#define EVENT_CREATE_THREAD 0 /* (thread) */
+#define EVENT_RUN_THREAD 1 /* (thread) */
+#define EVENT_STOP_THREAD 2 /* (thread, status, blockinfo) */
+#define EVENT_THREAD_RUNNABLE 3 /* (thread) */
+#define EVENT_MIGRATE_THREAD 4 /* (thread, new_cap) */
+#define EVENT_RUN_SPARK 5 /* (thread) */
+#define EVENT_STEAL_SPARK 6 /* (thread, victim_cap) */
+#define EVENT_SHUTDOWN 7 /* () */
+#define EVENT_THREAD_WAKEUP 8 /* (thread, other_cap) */
+#define EVENT_GC_START 9 /* () */
+#define EVENT_GC_END 10 /* () */
+#define EVENT_REQUEST_SEQ_GC 11 /* () */
+#define EVENT_REQUEST_PAR_GC 12 /* () */
+/* 13, 14 deprecated */
+#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) */
+#define EVENT_USER_MSG 19 /* (message ...) */
+#define EVENT_GC_IDLE 20 /* () */
+#define EVENT_GC_WORK 21 /* () */
+#define EVENT_GC_DONE 22 /* () */
+/* 23, 24 used by eden */
+#define EVENT_CAPSET_CREATE 25 /* (capset, capset_type) */
+#define EVENT_CAPSET_DELETE 26 /* (capset) */
+#define EVENT_CAPSET_ASSIGN_CAP 27 /* (capset, cap) */
+#define EVENT_CAPSET_REMOVE_CAP 28 /* (capset, cap) */
+/* the RTS identifier is in the form of "GHC-version rts_way" */
+#define EVENT_RTS_IDENTIFIER 29 /* (capset, name_version_string) */
+/* the vectors in these events are null separated strings */
+#define EVENT_PROGRAM_ARGS 30 /* (capset, commandline_vector) */
+#define EVENT_PROGRAM_ENV 31 /* (capset, environment_vector) */
+#define EVENT_OSPROCESS_PID 32 /* (capset, pid, parent_pid) */
+
+
+/* Range 33 - 59 is available for new events */
+
+/* Range 60 - 80 is used by eden for parallel tracing
+ * see http://www.mathematik.uni-marburg.de/~eden/
+ */
+
+/*
+ * 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_EVENT_TAGS 33