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

git at git.haskell.org git at git.haskell.org
Mon Mar 26 19:17:11 UTC 2018


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

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

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

commit f0b258bc7e2d4ef32a20c61b7285a21f7680660e
Author: Douglas Wilson <douglas.wilson at gmail.com>
Date:   Mon Mar 26 15:16:11 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: erikd, simonmar, hvr
    
    Subscribers: duog, carter, thomie, rwbarton
    
    GHC Trac Issues: #14660
    
    Differential Revision: https://phabricator.haskell.org/D4529


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

f0b258bc7e2d4ef32a20c61b7285a21f7680660e
 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 f0b258bc7e2d4ef32a20c61b7285a21f7680660e


More information about the ghc-commits mailing list