• Michael Matloob's avatar
    runtime/pprof/internal: add package protopprof · f72a629d
    Michael Matloob authored
    This change adds code, originally written by Russ Cox <rsc@golang.org>
    and open-sourced by Google, that converts from the "legacy"
    binary pprof profile format to a struct representation of the
    new protocol buffer pprof profile format.
    
    This code reads the entire binary format for conversion to the
    protobuf format. In a future change, we will update the code
    to incrementally read and convert segments of the binary format,
    so that the entire profile does not need to be stored in memory.
    
    This change also contains contributions by Daria Kolistratova
    <daria.kolistratova@intel.com> from the rolled-back change
    golang.org/cl/30556 adapting the code to be used by the package
    runtime/pprof.
    
    This code also appeared in the change golang.org/cl/32257, which was based
    on Daria Kolistratova's change, but was also rolled back.
    
    Updates #16093
    
    Change-Id: I5c768b1134bc15408d80a3ccc7ed867db9a1c63d
    Reviewed-on: https://go-review.googlesource.com/32811
    Run-TryBot: Michael Matloob <matloob@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    f72a629d
protopprof.go 2.83 KB