summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2022-06-21 17:04:12 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-07-04 17:55:55 -0400
commitaba482ea941bb0b06f041be950712ed71e047e81 (patch)
tree72ecb5bd029a37818f40cb7fd77851f8c59e3aa8 /rts
parent3b13aab14589823744495306bfb4c7bb522d22a5 (diff)
downloadhaskell-aba482ea941bb0b06f041be950712ed71e047e81.tar.gz
Ticky:Make json info a separate field.
Fixes #21233
Diffstat (limited to 'rts')
-rw-r--r--rts/Ticky.c2
-rw-r--r--rts/eventlog/EventLog.c4
-rw-r--r--rts/include/rts/Ticky.h1
3 files changed, 5 insertions, 2 deletions
diff --git a/rts/Ticky.c b/rts/Ticky.c
index f82cd27104..a216fcb00f 100644
--- a/rts/Ticky.c
+++ b/rts/Ticky.c
@@ -17,7 +17,7 @@
*/
StgEntCounter top_ct
= { 0, 0, 0,
- "TOP", "", NULL,
+ "TOP", "", "",NULL,
0, 0, NULL };
/* Data structure used in ``registering'' one of these counters. */
diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c
index 0536ecdab6..bd65b6e642 100644
--- a/rts/eventlog/EventLog.c
+++ b/rts/eventlog/EventLog.c
@@ -1357,7 +1357,7 @@ void postProfBegin(void)
#if defined(TICKY_TICKY)
static void postTickyCounterDef(EventsBuf *eb, StgEntCounter *p)
{
- StgWord len = 8 + 2 + strlen(p->arg_kinds)+1 + strlen(p->str)+1 + 8;
+ StgWord len = 8 + 2 + strlen(p->arg_kinds)+1 + strlen(p->str)+1 + 8 + strlen(p->ticky_json)+1;
ensureRoomForVariableEvent(eb, len);
postEventHeader(eb, EVENT_TICKY_COUNTER_DEF);
postPayloadSize(eb, len);
@@ -1367,6 +1367,8 @@ static void postTickyCounterDef(EventsBuf *eb, StgEntCounter *p)
postString(eb, p->arg_kinds);
postString(eb, p->str);
postWord64(eb, (W_) (INFO_PTR_TO_STRUCT(p->info)));
+ postString(eb, p->ticky_json);
+
}
void postTickyCounterDefs(StgEntCounter *counters)
diff --git a/rts/include/rts/Ticky.h b/rts/include/rts/Ticky.h
index 7658e3c08a..4d58c8e63a 100644
--- a/rts/include/rts/Ticky.h
+++ b/rts/include/rts/Ticky.h
@@ -26,6 +26,7 @@ typedef struct _StgEntCounter {
/* (rest of args are in registers) */
char *str; /* name of the thing */
char *arg_kinds; /* info about the args types */
+ char *ticky_json; /* json_info for eventlog mostly describing the tick */
StgInfoTable *info; /* Info table corresponding to this closure */
StgInt entry_count; /* Trips to fast entry code */
StgInt allocs; /* number of allocations by this fun */