quickstep-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Navneet Potti <po...@wisc.edu>
Subject Comparing profile outputs
Date Sun, 03 Jul 2016 01:45:51 GMT
If, like me, you often find yourself struggling to compare two Google Profiler output graphs,
you might find this<https://github.com/navsan/diff_profiles> little utility script I
wrote helpful. It takes two dot files as input (Google profiler output files) and compares
them using the cumulative_percentage attribute (or anything else you’d like). Functions
whose cumulative_percentage has shown variation (positive or negative diffs) are colored red
or green like a heatmap. As an added bonus, the script also does some heuristic hacks to improve
readability of some long function names which break the standard demangler and pollute the
profiler output with extra wide node boxes.

A sample diff output profile is attached. Take a look, try it out and let me know if you find
it helpful or need some new features.

Here’s how to use it:
* Build quickstep with ENABLE_GOOGLE_PROFILER=true
* Run quickstep_cli_shell with -profile_name=“profile1.prof” and “profile2.prof” to
get the two profile outputs. You often need/want to use two different binaries (like comparing
feature_branch with master).
* Convert them to dot files using google-pprof.
google-pprof --dot /path/to/quickstep_cli_shell profile1.prof > profile1.dot
google-pprof --dot /path/to/quickstep_cli_shell profile2.prof > profile2.dot
* Run diff_profiles.
./diff_profiles.py profile1.dot profile2.dot -o profile_1vs2.dot
* Open the output.
dot -Tpdf profile_1vs2.dot -o profile_1vs2.pdf
open profile_1vs2.pdf


  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message