diff options
author | johannst <johannes.stoelp@gmail.com> | 2020-04-19 22:13:44 +0200 |
---|---|---|
committer | johannst <johannes.stoelp@gmail.com> | 2020-04-19 22:13:44 +0200 |
commit | fef4d6ff2ad9f48e6dccde0f061453e6a3ac624e (patch) | |
tree | c21dfcf8e7c8895a94e1c72cb9588c94794656b1 /src/trace_profile/perf.md | |
parent | 43e402ba2320ced7972d33c9442b2745afe230f6 (diff) | |
download | notes-fef4d6ff2ad9f48e6dccde0f061453e6a3ac624e.tar.gz notes-fef4d6ff2ad9f48e6dccde0f061453e6a3ac624e.zip |
added new hierarchy
Diffstat (limited to 'src/trace_profile/perf.md')
-rw-r--r-- | src/trace_profile/perf.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/trace_profile/perf.md b/src/trace_profile/perf.md new file mode 100644 index 0000000..57118ed --- /dev/null +++ b/src/trace_profile/perf.md @@ -0,0 +1,56 @@ +# perf(1) + +```markdown +perf list show supported hw/sw events + +perf stat + -p <pid> .. show stats for running process + -I <ms> ... show stats periodically over interval <ms> + -e <ev> ... filter for events + +perf top + -p <pid> .. show stats for running process + -F <hz> ... sampling frequency + -K ........ hide kernel threads + +perf record + -p <pid> ............... record stats for running process + -F <hz> ................ sampling frequency + --call-graph <method> .. [fp, dwarf, lbr] method how to caputre backtrace + fp : use frame-pointer, need to compile with + -fno-omit-frame-pointer + dwarf: use .cfi debug information + lbr : use hardware last branch record facility + -g ..................... short-hand for --call-graph fp + -e <ev> ................ filter for events + +perf report + -n .................... annotate symbols with nr of samples + --stdio ............... report to stdio, if not presen tui mode + -g graph,0.5,caller ... show caller based call chains with value >0.5 +``` + +```markdown +Useful <ev>: + page-faults + minor-faults + major-faults + cpu-cycles` + task-clock +``` + +## [`Flamegraph`](https://github.com/brendangregg/FlameGraph) + +### Flamegraph with single event trace +```markdown +perf record -g -e cpu-cycles -p <pid> +perf script | FlameGraph/stackcollapse-perf.pl | FlameGraph/flamegraph.pl > cycles-flamegraph.svg +``` + +### Flamegraph with multiple event traces +```markdown +perf record -g -e cpu-cycles,page-faults -p <pid> +perf script --per-event-dump +# fold & generate as above +``` + |