An error occurred fetching the project authors.
- 06 Nov, 2015 1 commit
-
-
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>
-
- 21 Oct, 2015 1 commit
-
-
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]
-
- 14 Oct, 2015 1 commit
-
-
SunKyu authored
-
- 28 Sep, 2015 2 commits
-
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-
Brenden Blanco authored
This adds the ability to consume perf events in libbpf/python using the ring buffer. For now, this is the only way to get access to the function call graph. Only kernel functions are supported. It does this by introducing a new set of libbpf helper functions that can open the perf fd, mmap it, and poll over the events as they are submitted by the kernel. This allow for faster event processing than trace_printks, but has not been tested. The functionality is disabled by default, the user can enable it by passing a non-empty cb parameter into the BPF constructor. That cb function will be invoked for each event that is read from the buffer. Buffers are per-fd, so each event is distinct as well as separated from other processes that may be running simultaneously. The initial test case uses this functionality to build a histogram of events keyed by the callchain. Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
-