Update GHC.Stats docs
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Mon, 28 May 2018 06:59:55 +0000 (09:59 +0300)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Mon, 28 May 2018 07:00:04 +0000 (10:00 +0300)
Make it clear that max_live_bytes is updated after a major GC whereas
live_bytes is updated after all GCs (including minor collections) and
considers data in uncollected generations as live.

Reviewers: bgamari, simonmar, hvr

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4734

includes/RtsAPI.h
libraries/base/GHC/Stats.hsc

index 69ec607..79c4d8e 100644 (file)
@@ -127,7 +127,9 @@ typedef struct GCDetails_ {
   uint32_t threads;
     // Number of bytes allocated since the previous GC
   uint64_t allocated_bytes;
-    // Total amount of live data in the heap (incliudes large + compact data)
+    // Total amount of live data in the heap (incliudes large + compact data).
+    // Updated after every GC. Data in uncollected generations (in minor GCs)
+    // are considered live.
   uint64_t live_bytes;
     // Total amount of live data in large objects
   uint64_t large_objects_bytes;
@@ -165,7 +167,8 @@ typedef struct _RTSStats {
   uint32_t major_gcs;
     // Total bytes allocated
   uint64_t allocated_bytes;
-    // Maximum live data (including large objects + compact regions)
+    // Maximum live data (including large objects + compact regions) in the
+    // heap. Updated after a major GC.
   uint64_t max_live_bytes;
     // Maximum live data in large objects
   uint64_t max_large_objects_bytes;
index d81173f..58b5e22 100644 (file)
@@ -56,7 +56,8 @@ data RTSStats = RTSStats {
   , major_gcs :: Word32
     -- | Total bytes allocated
   , allocated_bytes :: Word64
-    -- | Maximum live data (including large objects + compact regions)
+    -- | Maximum live data (including large objects + compact regions) in the
+    -- heap. Updated after a major GC.
   , max_live_bytes :: Word64
     -- | Maximum live data in large objects
   , max_large_objects_bytes :: Word64
@@ -120,7 +121,9 @@ data GCDetails = GCDetails {
   , gcdetails_threads :: Word32
     -- | Number of bytes allocated since the previous GC
   , gcdetails_allocated_bytes :: Word64
-    -- | Total amount of live data in the heap (incliudes large + compact data)
+    -- | Total amount of live data in the heap (incliudes large + compact data).
+    -- Updated after every GC. Data in uncollected generations (in minor GCs)
+    -- are considered live.
   , gcdetails_live_bytes :: Word64
     -- | Total amount of live data in large objects
   , gcdetails_large_objects_bytes :: Word64