🌐
GitHub
github.com › cisco-open › perf-trace-viewer
GitHub - cisco-open/perf-trace-viewer: Visualize linux scheduling data in Trace Event format · GitHub
Visualize linux scheduling data in Trace Event format - cisco-open/perf-trace-viewer
Starred by 15 users
Forked by 2 users
Languages   Python 89.3% | Shell 9.4% | Nix 1.3%
🌐
GitHub
github.com › brendangregg › perf-tools
GitHub - brendangregg/perf-tools: Performance analysis tools based on Linux perf_events (aka perf) and ftrace · GitHub
A miscellaneous collection of in-development and unsupported performance analysis tools for Linux ftrace and perf_events (aka the "perf" command). Both ftrace and perf are core Linux tracing tools, included in the kernel source.
Starred by 10.4K users
Forked by 1.7K users
Languages   Shell 88.3% | Perl 9.8% | Roff 1.9%
🌐
GitHub
github.com › torvalds › linux › blob › master › tools › perf › Documentation › perf-trace.txt
linux/tools/perf/Documentation/perf-trace.txt at master · torvalds/linux
December 18, 2018 - # perf trace -e sched:*switch/nr=2/,block:*_plug/nr=4/,block:*_unplug/nr=1/,net:*dev_queue/nr=3,max-stack=16/
Author   torvalds
🌐
GitHub
github.com › maartenbreddels › per4m
GitHub - maartenbreddels/per4m: Profiling and tracing information for Python using viztracer and perf, the GIL exposed. · GitHub
Profiling and tracing information for Python using viztracer and perf, the GIL exposed. - maartenbreddels/per4m
Starred by 62 users
Forked by 7 users
Languages   Python 95.3% | C++ 4.7%
🌐
GitHub
github.com › athre0z › idaperf
GitHub - athre0z/idaperf: View Linux perf traces in IDA Pro
November 18, 2019 - Simple tool for viewing Linux perf traces in IDA Pro.
Starred by 14 users
Forked by 5 users
Languages   Python 54.4% | Rust 45.6% | Python 54.4% | Rust 45.6%
🌐
GitHub
github.com › michoecho › perf2perfetto
GitHub - michoecho/perf2perfetto: An intel PT trace converter from `perf.data` to Fuchsia trace format. · GitHub
An intel PT trace converter from `perf.data` to Fuchsia trace format. - michoecho/perf2perfetto
Starred by 77 users
Forked by 5 users
Languages   Rust 80.8% | C 19.2%
🌐
GitHub
github.com › torvalds › linux › blob › master › include › trace › perf.h
linux/include/trace/perf.h at master · torvalds/linux
do_perf_trace_##call(void *__data, proto) \ { \ struct trace_event_call *event_call = __data; \ struct trace_event_data_offsets_##call __maybe_unused __data_offsets;\ struct trace_event_raw_##call *entry; \ struct pt_regs *__regs; \ u64 __count = 1; \ struct task_struct *__task = NULL; \ struct hlist_head *head; \ int __entry_size; \ int __data_size; \ int rctx; \ \ __data_size = trace_event_get_offsets_##call(&__data_offsets, args); \ \ head = this_cpu_ptr(event_call->perf_events); \ if (!bpf_prog_array_valid(ev
Author   torvalds
🌐
Perfwiki
perfwiki.github.io › main › perf-tools-support-for-intel-processor-trace
perf tools support for Intel® Processor Trace - perf: Linux profiling with performance counters
Typically, the kernel does not do particularly CPU intensive operations, making it possible to trace for longer periods. Tracing the kernel-only can be useful for analyzing latencies. perf tools support the ability to make snapshots of Intel PT trace. A snapshot can be made at any time during ...
🌐
GitHub
github.com › mysqlperformance › pt_perf
GitHub - mysqlperformance/pt_perf: Intel processor trace tools for analyzing performance of function · GitHub
Intel processor trace tools for analyzing performance of function - mysqlperformance/pt_perf
Starred by 108 users
Forked by 8 users
Languages   C 90.6% | Python 4.5% | Shell 1.7% | C++ 1.3% | Perl 0.7% | Makefile 0.6%
Find elsewhere
🌐
Perfwiki
perfwiki.github.io › main
perf: Linux profiling with performance counters
perf can also dynamically create tracepoints using the kprobes and uprobes frameworks, for kernel and userspace dynamic tracing.
🌐
GitHub
github.com › GoogleChromeLabs › perf-track
GitHub - GoogleChromeLabs/perf-track: Tracking framework performance and usage at scale
Tracking framework performance and usage at scale. Contribute to GoogleChromeLabs/perf-track development by creating an account on GitHub.
Starred by 153 users
Forked by 9 users
Languages   Svelte 64.7% | JavaScript 20.2% | HTML 15.1% | Svelte 64.7% | JavaScript 20.2% | HTML 15.1%
🌐
GitHub
github.com › tuxology › tracevizlab › tree › master › labs › 005-record-kernel-trace-perf
tracevizlab/labs/005-record-kernel-trace-perf at master · tuxology/tracevizlab
It can do both sampling or tracing, it is a very flexible tracer. In this lab, you will obtain a kernel trace that can then be analyzed by the visualization tools. Note on perf: The perf binary trace is not readable by Trace Compass.
Author   tuxology
🌐
GitHub
github.com › torvalds › linux › blob › master › tools › perf › scripts › python › check-perf-trace.py
linux/tools/perf/scripts/python/check-perf-trace.py at master · torvalds/linux
'/scripts/python/Perf-Trace-Util/lib/Perf/Trace') · from Core import * from perf_trace_context import * · unhandled = autodict() · def trace_begin(): print("trace_begin") pass · · def trace_end(): print_unhandled() ·
Author   torvalds
🌐
GitHub
github.com › brendangregg › Misc › blob › master › perf_events › perf.md
Misc/perf_events/perf.md at master · brendangregg/Misc
... # Trace new processes, until Ctrl-C: perf record -e sched:sched_process_exec -a # Trace all context-switches with stack traces, for 1 second: perf record -e context-switches –ag -- sleep 1 # Trace CPU migrations, for 10 seconds: perf record ...
Author   brendangregg
🌐
GitHub
gist.github.com › ohsix › 3b7cfd9ef8ef82477133
stuff I should write down: perf · GitHub
Found 1 probe_trace_events. Opening /sys/kernel/debug/tracing/uprobe_events write=1 Added new event: Writing event: p:probe_systemd/source_dispatch /usr/lib/systemd/systemd:0x2d340 description=+0(+16(%ax)):string probe_systemd:source_dispatch (on source_dispatch in /usr/lib/systemd/systemd with description=s->description:string) You can now use it in all perf tools, such as: perf record -e probe_systemd:source_dispatch -aR sleep 1
🌐
Iv-m
iv-m.github.io › notes › perf
perf_events notes - iv goes technical
perf record -- node --perf-basic-prof --print-code --redirect-code-traces /tmp/fib.js perf report --objdump=$HOME/src/chr/v8/tools/objdump-v8
🌐
GitHub
github.com › goldshtn › linux-tracing-workshop › blob › master › perf-io.md
linux-tracing-workshop/perf-io.md at master · goldshtn/linux-tracing-workshop
To identify block I/O operation sources, we are going to record the block:block_rq_insert kernel tracepoint, including user-space call stacks, and correlate them to our application's behavior. To do so, run the following command (while ./logger is still executing): # perf record -p $(pidof logger) -e block:block_rq_insert -g -- sleep 10
Author   goldshtn
🌐
GitHub
github.com › perfmark › perfmark
GitHub - perfmark/perfmark: PerfMark is a High Performance Tracing Library. · GitHub
PerfMark is a High Performance Tracing Library. Contribute to perfmark/perfmark development by creating an account on GitHub.
Starred by 215 users
Forked by 28 users
Languages   Java 98.6% | Starlark 1.4%
🌐
GitHub
github.com › brendangregg › perf-tools › blob › master › kernel › funcgraph
perf-tools/kernel/funcgraph at master · brendangregg/perf-tools
# as they happen (uses trace_pipe), context switching and consuming CPU to do · # so. If needed, you can try the "-d secs" option, which buffers events · # instead, reducing overhead. If you think the buffer option is losing events, # try increasing the buffer size (buffer_size_kb). # # From perf-tools: https://github.com/brendangregg/perf-tools ·
Author   brendangregg
🌐
GitHub
github.com › KDAB › hotspot
GitHub - KDAB/hotspot: The Linux perf GUI for performance analysis. · GitHub
By leveraging kernel trace points in the scheduler, the overhead is pretty manageable and we only pay a price, when the process is actually getting switched out. Most notably we do not pay a price when e.g. a mutex lock operation can be handled directly in user-space. To do off-CPU analysis with Hotspot, you need to record the data with a very specific command: perf record \ -e cycles \ # on-CPU profiling -e sched:sched_switch --switch-events \ # off-CPU profiling --sample-cpu \ # track on which core code is executed -m 8M \ # reduce chance of event loss --aio -z \ # reduce disk-I/O overhead and data size --call-graph dwarf \ # we definitely want backtraces <your application>
Starred by 5.1K users
Forked by 287 users
Languages   C++ 92.1% | CMake 3.4% | Python 1.4% | Shell 1.3% | Dockerfile 1.1% | C 0.7%