- 31 Jul, 2016 1 commit
-
-
Mark Drayton authored
-
- 29 Jul, 2016 4 commits
-
-
chantra authored
The current logic was only initializing page accesses, mark dirty.. at the beginning of the method, preventing counters to be ever reset for each PIDs. Piggyback https://github.com/iovisor/bcc/pull/615#discussion_r71056842 Tested by running both tools manually.
-
Brendan Gregg authored
fix reference_guide.md bpf_get_current_comm search
-
Junli Ou authored
-
Brenden Blanco authored
Add xdp_drop_count example
-
- 28 Jul, 2016 4 commits
-
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
This adds the xdp drop count example relicensed under ASL2, along with some minor modifications to print pkt/s. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
Added XDP support to BCC
-
Jan Rüth authored
Concretely, it adds two functions to bcc, namely: `attach_xdp` and `remove_xdp` which allows to attach an XDP program to a device (given via its name, e.g., en0) (in the future this might change to a specific queue on a device once the kernel offers this interface) and `remove_xdp` removes a XDP program from a device. Please note that there can currently be only one program attached to the device and attaching another program replaces the previous. One example is available to test XDP, in networking/xdp which drops all packets an counts for which protocol a packet was dropped (this is taken from the kernel xdp1 example). Please note that you cannot use the network headers defined in <bcc/proto.h> as they cause llvm/clang to generate instructions not available on XDP layer. On XDP layer you do not have an skb yet, so you are operating on the bare packet data. XDP support is currently limited to only some network adapters, there is the `mlx4` and there is also a patch available for the `e1000` driver.
-
- 27 Jul, 2016 5 commits
-
-
Brenden Blanco authored
Probe registration fixes
-
Mark Drayton authored
`open_kprobes` is a dict of open kprobes. Its keys are strings for normal probes and a tuple for perf buffers. Normal probes need unregistering on script exit; perf buffers do not. `cleanup` currently looks for string keys (specifically type `str`) when working out what to unregister, which is a bit brittle -- in Python2 strings can be both native `str` and `unicode`, depending what exactly was passed to `attach-*/detach_*` and whether `from __future__ import unicode_literals` is used (e.g. #623). This diff makes the API more relaxed by casting the probe name to `str` to match the expectations of `cleanup`. This works in py2 (with and without unicode_literals) and py3.
-
Mark Drayton authored
* rework `_get_kprobe_functions` to avoid unclosed blacklist warning * rework `cleanup` to avoid changing size of dict while iterating * make handling return of `bpf_function_name` work in py2 and py3
-
Brenden Blanco authored
[cachetop] Display sorting field and order.
-
Brenden Blanco authored
add a reference guide
-
- 26 Jul, 2016 5 commits
-
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brenden Blanco authored
tutorials: end-user, and python developer
-
chantra authored
This will make it easier to visualize what is the sorting field and order
-
- 25 Jul, 2016 5 commits
-
-
Brendan Gregg authored
-
Brendan Gregg authored
-
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
-