- 06 Nov, 2015 6 commits
-
-
yonghong-song authored
Add perf_output support for high rate events
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
Incoporating feedback from bgregg: Make per-cpu nature of output buffer be hidden and implicit. As such, incoporate some rewriting into the definition of the PERF_OUTPUT. Create two different macros to distinguish the perf_array (hardware counters) from the perf_output (ring buffer) use cases. Also, rename perf_output to perf_submit. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
This adds support for the bpf_perf_event_output command. This is intended for per-process events from bpf to userspace at high rate. The events from the bpf program can be completely customized. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
- 05 Nov, 2015 2 commits
-
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
- 04 Nov, 2015 2 commits
-
-
yonghong-song authored
Reorganize examples into subdirectories
-
Brenden Blanco authored
Examples directory has been growing, so add a bit of organization. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
- 24 Oct, 2015 2 commits
-
-
4ast authored
Bump ulimit for locked memory in test wrapper
-
Brenden Blanco authored
This follows from a change in upstream kernel for counting bpf maps against the locked memory limit. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
- 23 Oct, 2015 2 commits
-
-
Brenden Blanco authored
Python: fix detach_kprobe()
-
Dr.Z authored
As open_kprobes contains not fd but pointer to struct perf_reader, it should call lib.perf_reader_free() instead of os.close()
-
- 21 Oct, 2015 3 commits
-
-
Brenden Blanco authored
perf_reader: allow more than one reader to poll
-
Dr.Z authored
When more than one events are used with attach_kprobe, the perf_reader_poll() will segfault by buffer overflow like below. *** buffer overflow detected ***: python terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x7338f)[0x7fcc971fb38f] /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7fcc97292c9c] /lib/x86_64-linux-gnu/libc.so.6(+0x109b60)[0x7fcc97291b60] /lib/x86_64-linux-gnu/libc.so.6(+0x10ac04)[0x7fcc97292c04] /usr/lib/x86_64-linux-gnu/libbcc.so(perf_reader_poll+0x42)[0x7fcc93969cc2] /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call_unix64+0x4c)[0x7fcc95c2badc] /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call+0x1fc)[0x7fcc95c2b40c] /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so(_ctypes_callproc+0x48e)[0x7fcc95e425fe] /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so(+0x15f9e)[0x7fcc95e43f9e] python(PyEval_EvalFrameEx+0x965)[0x499be5] python(PyEval_EvalCodeEx+0x2ac)[0x4a090c] python(PyEval_EvalFrameEx+0x7d2)[0x499a52] python[0x4a1634] python(PyRun_FileExFlags+0x92)[0x44e4a5] python(PyRun_SimpleFileExFlags+0x2ee)[0x44ec9f] python(Py_Main+0xb5e)[0x44f904] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fcc971a9ec5] python[0x578c4e]
-
Brenden Blanco authored
softirq and hardirq
-
- 20 Oct, 2015 1 commit
-
-
Brendan Gregg authored
-
- 16 Oct, 2015 3 commits
-
-
Brenden Blanco authored
tcpconnect for IPv4 and IPv6, and make tcpv4connect a trimmed example
-
Brendan Gregg authored
-
Brendan Gregg authored
-
- 14 Oct, 2015 2 commits
-
-
Brenden Blanco authored
perf_reader : add timeout argument to perf_reader_poll
-
SunKyu authored
-
- 13 Oct, 2015 4 commits
-
-
Brenden Blanco authored
tcpaccept
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-
- 12 Oct, 2015 5 commits
-
-
4ast authored
Fixes for deb/rpm packaging
-
Brenden Blanco authored
These fixes are manually included in the released 0.1.7 packages, but will help with future builds. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
4ast authored
Update tag to v0.1.7
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
handle return value in kretprobe handler for tcpv4connect
-
- 08 Oct, 2015 1 commit
-
-
Brenden Blanco authored
Fix an uninitialized variable access in test_clang
-
- 07 Oct, 2015 2 commits
-
-
Yonghong Song authored
Signed-off-by: Yonghong Song <yhs@plumgrid.com>
-
Yonghong Song authored
Signed-off-by: Yonghong Song <yhs@plumgrid.com>
-
- 06 Oct, 2015 5 commits
-
-
4ast authored
Make KeyboardInterrupt catch more aggressive
-
Brenden Blanco authored
Fixes: #186 Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
4ast authored
Fixes for table indexing and clear()
-
Brenden Blanco authored
In the case that python process tries to clear() a table object while the bpf program is still running and doing lookup_or_init, the python clean() routine will race with the bpf program (and bpf will win in the case of frequent kprobe hits) causing a hang. Instead, first get the full list of keys and then delete them rather than rely on the default popitem implementation. Fixes: #233 Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
In the case that 0-filled keys are valid in the table, the previous algorithm did not properly iterate. The API of the bpf_get_next_key routine is such that the iteration over a map should start with an invalid key. When a 0 key is valid, this causes iteration to start anywhere inside the hash table, skipping some entries. So, add logic to the Iter object to test if the init key is invalid. If otherwise, try a few alternatives until an invalid key is found. If none found, raise an exception. Also adds a test for indexing arrays from 0, which nows works with this too. Fixes: #260 Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-