From 95b791732c6c7a5becc01b70e9496266cec5444e Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt <m@jaspervdj.be> Date: Wed, 22 May 2019 11:49:15 +0200 Subject: [PATCH] Fix padding of entries in .prof files When the number of entries of a cost centre reaches 11 digits, it takes up the whole space reserved for it and the prof file ends up looking like: ... no. entries %time %alloc %time %alloc ... ... 120918 978250 0.0 0.0 0.0 0.0 ... 118891 0 0.0 0.0 73.3 80.8 ... 11890229702412351 8.9 13.5 73.3 80.8 ... 118903 153799689 0.0 0.1 0.0 0.1 ... This results in tooling not being able to parse the .prof file. I realise we have the JSON output as well now, but still it'd be good to fix this little weirdness. Original bug report and full prof file can be seen here: <https://github.com/jaspervdj/profiteur/issues/28>. --- rts/ProfilerReport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rts/ProfilerReport.c b/rts/ProfilerReport.c index 4142c00032..60c90a72da 100644 --- a/rts/ProfilerReport.c +++ b/rts/ProfilerReport.c @@ -233,7 +233,7 @@ logCCS(FILE *prof_file, CostCentreStack const *ccs, ProfilerTotals totals, max_src_len - strlen_utf8(cc->srcloc), ""); fprintf(prof_file, - " %*" FMT_Int "%11" FMT_Word64 " %5.1f %5.1f %5.1f %5.1f", + " %*" FMT_Int " %11" FMT_Word64 " %5.1f %5.1f %5.1f %5.1f", max_id_len, ccs->ccsID, ccs->scc_count, totals.total_prof_ticks == 0 ? 0.0 : ((double)ccs->time_ticks / (double)totals.total_prof_ticks * 100.0), totals.total_alloc == 0 ? 0.0 : ((double)ccs->mem_alloc / (double)totals.total_alloc * 100.0), -- GitLab