diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-07-31 19:24:22 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-03-02 19:36:32 -0500 |
commit | d5735ed76eb54584534b18f5c295b44115b61c58 (patch) | |
tree | a512234a07f1cb3629694aaa6523992c2037ba30 | |
parent | acd135d297d8a1bbe3bf5cef54fa700d3cd1ec56 (diff) | |
download | haskell-wip/gc/instrument-timings.tar.gz |
rts: Report nonmoving collector statistics in machine-readable outputwip/gc/instrument-timings
-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 89e003ee0c..2fbd8b2655 100644 --- a/rts/Stats.c +++ b/rts/Stats.c @@ -1171,6 +1171,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"); } |