- 21 Feb, 2017 9 commits
-
-
Sasha Goldshtein authored
Remove addresses from stack output, as these are not used in the vast majority of the cases.
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
The default profile output used to include stack addresses, which are not used in 99+% of the cases.
-
Sasha Goldshtein authored
Remove usyms.py dependency and replace with new symbols API.
-
Sasha Goldshtein authored
The new API has two main methods: `sym` and `ksym` (the second is a trivial wrapper of the first one). Both methods accept two Boolean flags arguments: `show_module` and `show_address`. The first controls whether the resulting symbol name should contain the name of the symbol's module, in brackets. For kernel symbols, this is simply "[kernel]". The second controls whether the resulting symbol name should contain the instruction offset from the beginning of the symbol, e.g. "start_thread+0x202".
-
Sasha Goldshtein authored
This class was obsolete and replaced by the SymbolCache class.
-
4ast authored
Support base + index * scale addressing for USDT arguments
-
- 20 Feb, 2017 4 commits
-
-
4ast authored
trace, argdist: Treat small USDT arguments correctly
-
Sasha Goldshtein authored
trace and argdist currently only work correctly for USDT arguments whose size is exactly 8 bytes. Smaller types, such as chars, shorts, ints (signed or unsigned) are not treated correctly. The reason is that the produced program would invoke the `bpf_usdt_readarg` helper with the address of a u64 local variable, and then cast that variable to the user-specified type derived from the format string. However, the `bpf_usdt_readarg` rewriting then passes `sizeof(u64)` to the generated `bpf_..._readarg` macro, which then fails to read anything because the provided size doesn't match the argument size it knows about. The fix is fairly easy: instead of declaring a u64 unconditionally and reading into that variable with `bpf_usdt_readarg`, declare a variable that has the correct type according to what we know about the USDT probe.
-
4ast authored
Fix file descriptor leak
-
Paul Chaignon authored
-
- 19 Feb, 2017 1 commit
-
-
Sasha Goldshtein authored
It turns out that some software will have USDT probe arguments referencing memory using the full `nnn@(%basereg + %idxreg * scale` syntax. This is represented as `nnn@(%basereg,%idxreg,scale)` in the `NT_STAPSDT` note, encountered in building a recent version of PostgreSQL on FC25. This format is now recognized by the USDT parser, and the correct BPF code is emitted to retrieve arguments that reference memory using this full addressing syntax.`
-
- 16 Feb, 2017 10 commits
-
-
Brenden Blanco authored
llcstat: fix TypeError on python3
-
Brendan Gregg authored
dbslower and dbstat
-
Brendan Gregg authored
-
Brenden Blanco authored
syscount: Summarize syscall counts and latencies
-
Brenden Blanco authored
Adds zlib1g-dev Debian package build dependency
-
Alexandros authored
When building from source in Debian, zlib1g-dev is needed or else '/usr/bin/ld: cannot find -lz' error will occur.
-
Sasha Goldshtein authored
This new tool attaches to the raw_syscalls:sys_enter and sys_exit tracepoints, and collects frequency counts and optionally latencies of syscalls (aggregated by syscall or by process). It is a fairly natural and efficient extension of Brendan Gregg's syscount from perf-tools. Options include latency tracing, interval printouts, process filtering, summarizing only failed syscalls, and more. NOTE: The translation of syscall numbers to names is performed using a static list, borrowed from strace sources. It is accurate up to syscall 313, and does not include the bpf() syscall, for example. Also, it is only relevant for x86_64. Basic example: ``` $ syscount -P Tracing syscalls, printing top 10... Ctrl+C to quit. [10:13:21] PID COMM COUNT 30216 sshd 533 31391 vi 494 25188 screen 134 25776 mysqld 24 31394 python 10 494 systemd-journal 5 ^C $ syscount -L Tracing syscalls, printing top 10... Ctrl+C to quit. [10:13:34] SYSCALL COUNT TIME (us) select 132 1902458.009 nanosleep 166 11136.305 write 89 41.308 ftruncate 1 33.217 stat 1 22.117 fstat 1 6.134 [unknown: 321] 28 4.553 ioctl 7 4.544 wait4 166 3.962 timerfd_settime 1 3.786 ^C ``` Related: #786
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
This tool traces MySQL/PostgreSQL queries, and aggregates their latencies into a histogram. The histogram is then printed when the tool is stopped, or at user-specified intervals.
-
Sasha Goldshtein authored
This tool traces MySQL/PostgreSQL queries, including an optional minimum duration threshold. This is based on `mysqld_qslower` but adapted to automatically detect MySQL/PostgreSQL processes, and a couple of other code fixes. I believe at this time, `mysqld_qslower` can be retired, as this tool completely supersedes it.
-
- 15 Feb, 2017 4 commits
-
-
Brenden Blanco authored
Revert "undo rebase"
-
Rafael Fonseca authored
This reverts commit a112514c. The changes the commit reverted are legit and should not have been reverted.
-
Brenden Blanco authored
Move monotonic_time to BPF class, use CLOCK_MONOTONIC
-
Rafael Fonseca authored
The bytes object has no __format__ method of its own, inheriting it from object, so an exception is thrown in python3 when it's passed to a formatted string since formatting instructions are type specific. $: ./llcstat Running for 10 seconds or hit Ctrl-C to end. PID NAME CPU REFERENCE MISS HIT% Traceback (most recent call last): File "./llcstat", line 108, in <module> (float(hit) / float(v.value)) * 100.0)) TypeError: non-empty format string passed to object.__format__
-
- 14 Feb, 2017 9 commits
-
-
Brenden Blanco authored
Add pkg-config file to Debian packages.
-
Marcin Ślusarz authored
-
Brenden Blanco authored
filetop: Fix TypeError by not mixing bytes and str.
-
Rafael Fonseca authored
When executing the filetop command tool, the following message was generated: Traceback (most recent call last): File "/usr/share/bcc/tools/filetop", line 190, in <module> name = name[:-3] + "..." TypeError: can't concat bytes to str Also, by decoding the bytes we print the strings without a leading "b'" making the output more readable.
-
Brenden Blanco authored
Add optional kernel flags for running networking examples in INSTALL.md
-
Brenden Blanco authored
-
Brenden Blanco authored
tools/trace accepts abspath arguments to -I (and some doc tweaks)
-
Brenden Blanco authored
Fix ucalls
-
Brenden Blanco authored
fixes #962 - fix lambda on both py2 and py3
-
- 13 Feb, 2017 3 commits
-
-
Brendan Gregg authored
gethostlatency: Filter by process ID
-
Paul Chaignon authored
-
4ast authored
u* tools: Gracefully handle missing probes
-