summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-07-31 19:24:22 -0400
committerBen Gamari <ben@smart-cactus.org>2020-02-20 21:21:38 -0500
commit185849ea3ce92fcb52d5ffbf3d73590a59dc1066 (patch)
tree4f654448bf5a14d905582f9f94d38133d469e041
parent8468fd5b57526c53b6be2a323526cdcfbadc6a1f (diff)
downloadhaskell-185849ea3ce92fcb52d5ffbf3d73590a59dc1066.tar.gz
rts: Report nonmoving collector statistics in machine-readable output
-rw-r--r--rts/Stats.c20
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");
}