diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-07-31 19:24:22 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-02-20 21:21:38 -0500 |
commit | 185849ea3ce92fcb52d5ffbf3d73590a59dc1066 (patch) | |
tree | 4f654448bf5a14d905582f9f94d38133d469e041 | |
parent | 8468fd5b57526c53b6be2a323526cdcfbadc6a1f (diff) | |
download | haskell-185849ea3ce92fcb52d5ffbf3d73590a59dc1066.tar.gz |
rts: Report nonmoving collector statistics in machine-readable output
-rw-r--r-- | rts/Stats.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/rts/Stats.c b/rts/Stats.c index 2df71da8fd..11b1a72583 100644 --- a/rts/Stats.c +++ b/rts/Stats.c @@ -1169,6 +1169,26 @@ static void report_machine_readable (const RTSSummaryStats * sum) MR_STAT_GEN(g, "sync_yield", FMT_Word64, gc_sum->sync_yield); #endif } + // non-moving collector statistics + if (RtsFlags.GcFlags.useNonmoving) { + const int n_major_colls = sum->gc_summary_stats[RtsFlags.GcFlags.generations-1].collections; + MR_STAT("nonmoving_sync_wall_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_sync_elapsed_ns)); + MR_STAT("nonmoving_sync_max_pause_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_sync_max_elapsed_ns)); + MR_STAT("nonmoving_sync_avg_pause_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_sync_elapsed_ns) / n_major_colls); + + MR_STAT("nonmoving_concurrent_cpu_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_cpu_ns)); + MR_STAT("nonmoving_concurrent_wall_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_elapsed_ns)); + MR_STAT("nonmoving_concurrent_max_pause_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_max_elapsed_ns)); + MR_STAT("nonmoving_concurrent_avg_pause_seconds", "f", + TimeToSecondsDbl(stats.nonmoving_gc_elapsed_ns) / n_major_colls); + } + statsPrintf(" ]\n"); } |