[commit: ghc] master: rts, base: Refactor stats.c to improve --machine-readable report (2d4bda2)

git at git.haskell.org git at git.haskell.org
Mon Mar 19 20:46:38 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/2d4bda2e4ac68816baba0afab00da6f769ea75a7/ghc

>---------------------------------------------------------------

commit 2d4bda2e4ac68816baba0afab00da6f769ea75a7
Author: Douglas Wilson <douglas.wilson at gmail.com>
Date:   Mon Mar 19 13:26:41 2018 -0400

    rts, base: Refactor stats.c to improve --machine-readable report
    
    There should be no change in the output of the '+RTS -s' (summary)
    report, or the 'RTS -t' (one-line) report.
    
    All data shown in the summary report is now shown in the machine
    readable report.
    
    All data in RTSStats is now shown in the machine readable report.
    
    init times are added to RTSStats and added to GHC.Stats.
    
    Example of the new output:
    ```
     [("bytes allocated", "375016384")
     ,("num_GCs", "113")
     ,("average_bytes_used", "148348")
     ,("max_bytes_used", "206552")
     ,("num_byte_usage_samples", "2")
     ,("peak_megabytes_allocated", "6")
     ,("init_cpu_seconds", "0.001642")
     ,("init_wall_seconds", "0.001027")
     ,("mut_cpu_seconds", "3.020166")
     ,("mut_wall_seconds", "0.757244")
     ,("GC_cpu_seconds", "0.037750")
     ,("GC_wall_seconds", "0.009569")
     ,("exit_cpu_seconds", "0.000890")
     ,("exit_wall_seconds", "0.002551")
     ,("total_cpu_seconds", "3.060452")
     ,("total_wall_seconds", "0.770395")
     ,("major_gcs", "2")
     ,("allocated_bytes", "375016384")
     ,("max_live_bytes", "206552")
     ,("max_large_objects_bytes", "159344")
     ,("max_compact_bytes", "0")
     ,("max_slop_bytes", "59688")
     ,("max_mem_in_use_bytes", "6291456")
     ,("cumulative_live_bytes", "296696")
     ,("copied_bytes", "541024")
     ,("par_copied_bytes", "493976")
     ,("cumulative_par_max_copied_bytes", "104104")
     ,("cumulative_par_balanced_copied_bytes", "274456")
     ,("fragmentation_bytes", "2112")
     ,("alloc_rate", "124170795")
     ,("productivity_cpu_percent", "0.986838")
     ,("productivity_wall_percent", "0.982935")
     ,("bound_task_count", "1")
     ,("sparks_count", "5836258")
     ,("sparks_converted", "237")
     ,("sparks_overflowed", "1990408")
     ,("sparks_dud ", "0")
     ,("sparks_gcd", "3455553")
     ,("sparks_fizzled", "390060")
     ,("work_balance", "0.555606")
     ,("n_capabilities", "4")
     ,("task_count", "10")
     ,("peak_worker_count", "9")
     ,("worker_count", "9")
     ,("gc_alloc_block_sync_spin", "162")
     ,("gc_alloc_block_sync_yield", "0")
     ,("gc_alloc_block_sync_spin", "162")
     ,("gc_spin_spin", "18840855")
     ,("gc_spin_yield", "10355")
     ,("mut_spin_spin", "70331392")
     ,("mut_spin_yield", "61700")
     ,("waitForGcThreads_spin", "241")
     ,("waitForGcThreads_yield", "2797")
     ,("whitehole_gc_spin", "0")
     ,("whitehole_lockClosure_spin", "0")
     ,("whitehole_lockClosure_yield", "0")
     ,("whitehole_executeMessage_spin", "0")
     ,("whitehole_threadPaused_spin", "0")
     ,("any_work", "1667")
     ,("no_work", "1662")
     ,("scav_find_work", "1026")
     ,("gen_0_collections", "111")
     ,("gen_0_par_collections", "111")
     ,("gen_0_cpu_seconds", "0.036126")
     ,("gen_0_wall_seconds", "0.036126")
     ,("gen_0_max_pause_seconds", "0.036126")
     ,("gen_0_avg_pause_seconds", "0.000081")
     ,("gen_0_sync_spin", "21")
     ,("gen_0_sync_yield", "0")
     ,("gen_1_collections", "2")
     ,("gen_1_par_collections", "1")
     ,("gen_1_cpu_seconds", "0.001624")
     ,("gen_1_wall_seconds", "0.001624")
     ,("gen_1_max_pause_seconds", "0.001624")
     ,("gen_1_avg_pause_seconds", "0.000272")
     ,("gen_1_sync_spin", "3")
     ,("gen_1_sync_yield", "0")
     ]
    ```
    
    Test Plan: Ensure that one-line and summary reports are unchanged.
    
    Reviewers: bgamari, erikd, simonmar, hvr
    
    Reviewed By: simonmar
    
    Subscribers: rwbarton, thomie, carter
    
    GHC Trac Issues: #14660
    
    Differential Revision: https://phabricator.haskell.org/D4303


>---------------------------------------------------------------

2d4bda2e4ac68816baba0afab00da6f769ea75a7
 includes/RtsAPI.h            |  34 +-
 libraries/base/GHC/Stats.hsc |   8 +
 rts/Stats.c                  | 921 +++++++++++++++++++++++++++++--------------
 rts/Stats.h                  |  45 +++
 4 files changed, 691 insertions(+), 317 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 2d4bda2e4ac68816baba0afab00da6f769ea75a7


More information about the ghc-commits mailing list