- 25 Jul, 2016 3 commits
-
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brenden Blanco authored
merge most .c and .py examples
-
- 24 Jul, 2016 6 commits
-
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
[cachetop] top-like cachestat
-
- 23 Jul, 2016 4 commits
-
-
chantra authored
* pass -fno-color-diagnostics to clang * remove unicode import (#623) * add time to cachetop output * add keybindings to cachetop.8 * add cachetop links to README.md
-
chantra authored
make interval a positional parameter.
-
Emmanuel Bretelle authored
Alike cachestat.py but providing cache stats at the process level.
-
Brendan Gregg authored
* Python USDT API Code from @vmg * Basic USDT example * retire procstat.py * improve/fix USDT exceptions
-
- 22 Jul, 2016 1 commit
-
-
Brendan Gregg authored
* Add profile: a CPU profiler * move Perf to common class
-
- 19 Jul, 2016 1 commit
-
-
Brendan Gregg authored
Use errno symbols in offcputime.py
-
- 18 Jul, 2016 2 commits
-
-
Teng Qin authored
-
Brenden Blanco authored
Fix probe detaching and auto-kprobes
-
- 17 Jul, 2016 2 commits
-
-
Mark Drayton authored
* for #605, this diff moves probe storage from the BPF module to the BPF object, letting each instantiation clean up its own probes. A module-level counter for all open probes is provided for the quota check. It also adds a `cleanup()` function to force cleanup before the `atexit` handler runs. * for #614, it removes the `len(open_kprobes) == 0` check that prevented more than one autoload probe working. It fixes the tests that this change breaks by calling the `cleanup()` function added.
-
Mark Drayton authored
Prior to this diff we used inconsistent types for keys in `open_kprobes`. The results from the regex match (`attach_kprobe(event_re=..)`) and the automatic `kprobe__` features were passed through `str.decode()`, yielding unicode keys, but specific matches (i.e. from `attach_kprobe(event=..)`) were stored with string keys passed down from the caller. Only probes under string keys were released in `cleanup_kprobes`, leaving attached probes on program exit. This diff makes all the keys regular strings. I erred on the side of using regular strings over `str.decode()`ing them because a) this data isn't passed outside of Python, b) it's more Python 3 compatible (there is no `.decode()` on a regular string object in Python 3 so such a change would ultimately need removing again). I also cleaned up a few other things: * removed the call to `awk` for getting probable functions * removed the `isinstance` checks when cleaning uprobes/tracepoints -- we should only have string keys in these dicts * made `num_open_kprobes` skip the perf_events buffers. People likely use this to check that the right number of probes have been placed so counting perf_events buffers doesn't make sense here
-
- 14 Jul, 2016 2 commits
-
-
Brendan Gregg authored
killsnoop: s/failed opens/failed kill syscalls/
-
Chris Down authored
-
- 13 Jul, 2016 5 commits
-
-
Brendan Gregg authored
fileslower: try probing vfs_write if __vfs_write is missing
-
Mark Drayton authored
-
Mark Drayton authored
-
Brenden Blanco authored
Build debian packages in docker containers
-
Chris Down authored
-
- 12 Jul, 2016 2 commits
-
-
Ivan Babrou authored
-
Brendan Gregg authored
-
- 11 Jul, 2016 3 commits
-
-
Brenden Blanco authored
Full tracepoint support in Clang front-end
-
Trent Schafer authored
-
Sasha Goldshtein authored
Older versions of GCC don't support std::regex even though they support most of C++11. To avoid breaking the build on older systems, such as Ubuntu 14.04, use manual parsing instead of std::regex.
-
- 09 Jul, 2016 3 commits
-
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
When a probe function refers to a tracepoint arguments structure, such as `struct tracepoint__irq__irq_handler_entry`, add that structure on-the-fly using a Clang frontend action that runs before any other steps take place. Typically, the user will create tracepoint probe functions using the TRACEPOINT_PROBE macro, which avoids the need for specifying the tracepoint category and event twice in the signature of the probe function.
-
Sasha Goldshtein authored
When a function in the BPF program starts with "tracepoint__", parse the rest of the name as a tracepoint category and name and attach the tracepoint automatically. For example: ``` int tracepoint__sched__sched_switch(...) ``` As a result, the sched:sched_switch tracepoint is enabled and the function is attached to that tracepoint.
-
- 08 Jul, 2016 3 commits
-
-
Brenden Blanco authored
On some systems, was seeing a failure at tests/cc/test_c_api.cc:172 due to failure to open the /tmp/perf-pid.map file. Looking through the code, narrowed it down to an invalid use of c_str() on a temporary std::string. Fix it by storing the string in a variable. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Mark Drayton authored
-
Brenden Blanco authored
Upstream, params() was renamed to parameters(). In order to support both old and new LLVM, use the unchanged param_begin and param_end API. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
- 02 Jul, 2016 1 commit
-
-
Brendan Gregg authored
-
- 01 Jul, 2016 2 commits
-
-
Mark Drayton authored
* libbcc: fix off-by-one errors in resolving adjacent modules/symbols, add test * libbcc: use binary search in ProcSyms::Module::find_addr()
-
Sasha Goldshtein authored
Add ctypes declarations for `bpf_attach_tracepoint` and `bpf_detach_tracepoint` in libbcc.py. It works anyway, but now it's a bit safer.
-