Brenden Blanco [Sat, 6 Feb 2016 20:34:53 +0000 (12:34 -0800)]
Merge pull request #343 from ceeaspb/master
typo trawl
Brenden Blanco [Sat, 6 Feb 2016 20:34:25 +0000 (12:34 -0800)]
Merge pull request #340 from linuxfood/master
Add bpf_module.h to CMakeLists.txt
Brenden Blanco [Sat, 6 Feb 2016 20:33:57 +0000 (12:33 -0800)]
Merge pull request #342 from mcaleavya/master
Add in tool bitesize
Brenden Blanco [Sat, 6 Feb 2016 17:07:20 +0000 (09:07 -0800)]
Merge pull request #337 from mbertrone/master
Simple HTTP Filter Example
Bertrone Matteo [Sat, 6 Feb 2016 17:04:47 +0000 (18:04 +0100)]
Merge branch 'master' into master
Bertrone Matteo [Sat, 6 Feb 2016 16:12:45 +0000 (17:12 +0100)]
README changes
Alex Bagehot [Sat, 6 Feb 2016 16:09:58 +0000 (16:09 +0000)]
one slipped the net
Alex Bagehot [Sat, 6 Feb 2016 16:04:10 +0000 (16:04 +0000)]
recommend using a spell checker before committing
Alex Bagehot [Sat, 6 Feb 2016 16:01:02 +0000 (16:01 +0000)]
trawl typos with aspell
Bertrone Matteo [Sat, 6 Feb 2016 15:56:01 +0000 (16:56 +0100)]
http filter example
Allan McAleavy [Sat, 6 Feb 2016 12:06:18 +0000 (12:06 +0000)]
Update README.md
mcaleavya [Sat, 6 Feb 2016 12:02:40 +0000 (12:02 +0000)]
Added update to README.md
mcaleavya [Sat, 6 Feb 2016 12:00:34 +0000 (12:00 +0000)]
Add bitesize tool
Allan McAleavy [Sat, 6 Feb 2016 11:54:17 +0000 (11:54 +0000)]
Merge pull request #1 from iovisor/master
update local repo
Brendan Gregg [Fri, 5 Feb 2016 23:45:55 +0000 (15:45 -0800)]
Merge pull request #341 from iovisor/brendangregg-patch-1
documentation typos
Brendan Gregg [Fri, 5 Feb 2016 23:40:28 +0000 (15:40 -0800)]
Merge branch 'master' into brendangregg-patch-1
4ast [Fri, 5 Feb 2016 23:39:01 +0000 (15:39 -0800)]
Merge pull request #339 from iovisor/segfault_fix
Fix segfault in ~BPFModule on syntax error
Brendan Gregg [Fri, 5 Feb 2016 23:37:56 +0000 (15:37 -0800)]
documentation typos
linuxfood [Fri, 5 Feb 2016 23:03:56 +0000 (15:03 -0800)]
Merge branch 'master' into master
Brenden Blanco [Fri, 5 Feb 2016 22:49:10 +0000 (14:49 -0800)]
Fix segfault in ~BPFModule on syntax error
~BPFModule was segfaulting because tables_ was an empty pointer. The
pointer is valid only for valid compilations. Add a test as well.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 5 Feb 2016 22:44:00 +0000 (14:44 -0800)]
Merge pull request #338 from brendangregg/master
contributing scripts guide
Brendan Gregg [Fri, 5 Feb 2016 22:40:34 +0000 (14:40 -0800)]
different man formats
Brian Smith [Fri, 5 Feb 2016 22:03:16 +0000 (14:03 -0800)]
Add bpf_module.h to CMakeLists.txt
The C++ API should also be exported, in addition to the C API.
Because type safety is nice.
Brendan Gregg [Fri, 5 Feb 2016 21:36:06 +0000 (13:36 -0800)]
contributing scripts guide
Bertrone Matteo [Fri, 5 Feb 2016 10:38:06 +0000 (11:38 +0100)]
http filter example
4ast [Thu, 4 Feb 2016 17:13:06 +0000 (09:13 -0800)]
Merge pull request #335 from iovisor/p4-fixes
Reorder P4 struct key initializers and blocks
Brenden Blanco [Wed, 3 Feb 2016 00:07:56 +0000 (16:07 -0800)]
Reorder P4 struct key initializers and blocks
The basic_routing.p4 program was failing verification due to missed map
key initializers in some paths. Put the goto label at the head of the
block and add a " = {}" for each key declaration inside the block.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 4 Feb 2016 06:07:52 +0000 (22:07 -0800)]
Merge pull request #334 from iovisor/ast_dev
use __builtin_memcpy() instead of unrolled loop
Alexei Starovoitov [Thu, 4 Feb 2016 05:25:43 +0000 (21:25 -0800)]
use __builtin_memcpy() instead of unrolled loop
also remove tab and unused import
Signed-off-by: Alexei Starovoitov <ast@fb.com>
4ast [Sun, 31 Jan 2016 18:38:14 +0000 (10:38 -0800)]
Merge pull request #332 from mcaleavya/master
Added cachestat tool
unixtest [Sun, 31 Jan 2016 10:47:03 +0000 (10:47 +0000)]
update with cachestat , squashed commit
Added .txt to exmaple file to allow link to work
duplicate file
duplicate of .txt version
Author: allan mcaleavy <allan.mcaleavy@gmail.com>
4ast [Sat, 30 Jan 2016 19:15:48 +0000 (11:15 -0800)]
Merge pull request #331 from brendangregg/master
offwaketime
Brendan Gregg [Sat, 30 Jan 2016 19:05:40 +0000 (11:05 -0800)]
fix synopsis options in docs
Brendan Gregg [Sat, 30 Jan 2016 19:02:29 +0000 (11:02 -0800)]
offwaketime
4ast [Fri, 29 Jan 2016 20:06:48 +0000 (12:06 -0800)]
Merge pull request #329 from iovisor/dump_func
Update test_dump_func to be python3 compatible
Brenden Blanco [Fri, 29 Jan 2016 19:58:54 +0000 (11:58 -0800)]
Update test_dump_func to be python3 compatible
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 29 Jan 2016 07:18:26 +0000 (23:18 -0800)]
Merge pull request #326 from brendangregg/master
gethostlatency
Brendan Gregg [Fri, 29 Jan 2016 07:00:44 +0000 (23:00 -0800)]
Merge remote-tracking branch 'upstream/master'
Brendan Gregg [Fri, 29 Jan 2016 07:00:00 +0000 (23:00 -0800)]
gethostlatency
Brenden Blanco [Fri, 29 Jan 2016 06:48:38 +0000 (22:48 -0800)]
Merge pull request #325 from brendangregg/master
bashreadline
Brendan Gregg [Fri, 29 Jan 2016 06:43:37 +0000 (22:43 -0800)]
bashreadline
Brenden Blanco [Fri, 29 Jan 2016 06:42:39 +0000 (22:42 -0800)]
Merge pull request #324 from brendangregg/master
more strlen examples
Brendan Gregg [Fri, 29 Jan 2016 06:39:23 +0000 (22:39 -0800)]
more strlen examples
4ast [Fri, 29 Jan 2016 06:24:39 +0000 (22:24 -0800)]
Merge pull request #323 from iovisor/strlen
Add uprobe strlen histogram example
Brenden Blanco [Fri, 29 Jan 2016 06:15:25 +0000 (22:15 -0800)]
Add uprobe strlen histogram example
This example traces all calls to libc's strlen(). The program is attached as a
retprobe, therefore giving access to the resulting string length. The value is
kept in a log2 histogram that is printed to console once per second.
Example:
```
$ sudo ./strlen_hist.py
22:12:51
strlen return: : count distribution
0 -> 1 : 2041 |**************** |
2 -> 3 : 1120 |******** |
4 -> 7 : 3300 |************************** |
8 -> 15 : 4995 |****************************************|
16 -> 31 : 2130 |***************** |
32 -> 63 : 562 |**** |
^C
```
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Fri, 29 Jan 2016 05:12:02 +0000 (21:12 -0800)]
Merge pull request #322 from iovisor/uprobes
Uprobe support
Brenden Blanco [Fri, 29 Jan 2016 05:07:28 +0000 (21:07 -0800)]
Fixup objdump calling syntax and add docstrings
Use the full path invocation of objdump in both places.
Add a docstring for the variants of attach_retprobe.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 28 Jan 2016 22:18:46 +0000 (14:18 -0800)]
Fixes for address calculation
The calculation of function address in non-shared libraries was
incorrect. Fix it.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 28 Jan 2016 18:26:06 +0000 (10:26 -0800)]
Add python support for attaching bpf programs to uprobes
This adds a similar set of functions to kprobes for userspace probes.
The calling convention is different, however, since the user must
provide a library/binary name and function symbol or address. Add two
simple test cases for both.
I don't see an easy way in this api to add auto-loading support, as in
kprobe functions that start with "kprobe__". Such niceties can come
later.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 28 Jan 2016 18:24:56 +0000 (10:24 -0800)]
Add libbpf.c support for uprobes
The base calling convention for uprobes is the same as kprobes, but just
the path in debug/tracing/ is slightly different. Add a new API for this
and slightly refactor the code.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Thu, 28 Jan 2016 17:32:13 +0000 (09:32 -0800)]
Merge pull request #321 from brendangregg/master
wakeuptime
Brendan Gregg [Thu, 28 Jan 2016 07:17:40 +0000 (23:17 -0800)]
wakeuptime
Brendan Gregg [Thu, 28 Jan 2016 07:11:12 +0000 (23:11 -0800)]
wordwrap fix, and terminology adjustment
Brenden Blanco [Wed, 27 Jan 2016 16:15:24 +0000 (08:15 -0800)]
Merge pull request #320 from iovisor/offcputime_fix
Add decode() to ascii string in offcputime.py
Brenden Blanco [Wed, 27 Jan 2016 07:12:59 +0000 (23:12 -0800)]
Add decode() to ascii string in offcputime.py
Fixes: #318
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Wed, 27 Jan 2016 06:10:25 +0000 (22:10 -0800)]
Merge pull request #319 from iovisor/cmake_fixes
Updates to use cmake GLOB and libbcc.so.0 in python init
Brenden Blanco [Tue, 26 Jan 2016 20:04:06 +0000 (12:04 -0800)]
Updates to use cmake GLOB and libbcc.so.0 in python init
In order not to miss some files in the tools and examples source
directories, use cmake file(GLOB) to collect relevant files. To ease the
implementation, move all tools to be .py suffixed in the source, but
sans-suffix in the installation (same as before)
In addition, to prevent future API breakage confusion (though of course
that may still happen), use CDLL("libbcc.so.0") in the bcc __init__.py.
Fixes: #317
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 20 Jan 2016 01:39:27 +0000 (17:39 -0800)]
Merge pull request #316 from brendangregg/master
offcputime improvements
Brendan Gregg [Wed, 20 Jan 2016 01:15:02 +0000 (17:15 -0800)]
docs for offcputime -u
Brendan Gregg [Wed, 20 Jan 2016 01:12:52 +0000 (17:12 -0800)]
add -u, and change from 2 to 1 traced funcitons
Brendan Gregg [Tue, 19 Jan 2016 22:40:41 +0000 (14:40 -0800)]
optimize code, remove unnecessary filter check
Brenden Blanco [Tue, 19 Jan 2016 15:12:21 +0000 (07:12 -0800)]
Merge pull request #315 from brendangregg/master
stack walker typo and improvement
Brendan Gregg [Tue, 19 Jan 2016 09:07:20 +0000 (01:07 -0800)]
Merge branch 'master' into master
Brendan Gregg [Tue, 19 Jan 2016 08:55:12 +0000 (00:55 -0800)]
stack walker typo and improvement
4ast [Mon, 18 Jan 2016 22:32:58 +0000 (14:32 -0800)]
Merge pull request #314 from iovisor/map_unshare
Close fd and unshare when public map is destructed
Brenden Blanco [Mon, 18 Jan 2016 21:56:49 +0000 (13:56 -0800)]
Close fd and unshare when public map is destructed
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Sat, 16 Jan 2016 01:47:37 +0000 (17:47 -0800)]
Merge pull request #313 from brendangregg/master
stack walking scripts
Brendan Gregg [Sat, 16 Jan 2016 01:26:30 +0000 (17:26 -0800)]
stack walking scripts
Brenden Blanco [Thu, 14 Jan 2016 19:33:22 +0000 (11:33 -0800)]
Merge pull request #312 from iovisor/ast_dev
fix pep8 lint errors in the rest of the tools
Alexei Starovoitov [Thu, 14 Jan 2016 18:09:20 +0000 (10:09 -0800)]
fix pep8 lint errors in the rest of the tools
no functional changes
Signed-off-by: Alexei Starovoitov <ast@fb.com>
Brenden Blanco [Sun, 10 Jan 2016 16:26:49 +0000 (08:26 -0800)]
Merge pull request #310 from iovisor/ast_dev
fix pep8 lint errors in biolatency and biosnoop
Alexei Starovoitov [Sat, 9 Jan 2016 20:06:40 +0000 (12:06 -0800)]
fix pep8 lint errors in biolatency and biosnoop
Signed-off-by: Alexei Starovoitov <ast@fb.com>
4ast [Fri, 8 Jan 2016 19:28:27 +0000 (11:28 -0800)]
Merge pull request #309 from iovisor/sharedmaps
Add ability to export maps, enables cross-program sharing
Brenden Blanco [Fri, 8 Jan 2016 16:30:13 +0000 (08:30 -0800)]
Rename BPF_EXPORT to BPF_TABLE_PUBLIC
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 16 Dec 2015 00:39:35 +0000 (16:39 -0800)]
Add ability to export maps, enables cross-program sharing
Allow a program to export a map for other programs to use. This enables
cross-program map sharing.
parent program syntax:
BPF_TABLE("array", int, int, shared, 10);
BPF_TABLE_EXPORT(shared);
child program syntax:
BPF_TABLE("extern", int, int, shared, 10);
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Wed, 6 Jan 2016 21:58:26 +0000 (13:58 -0800)]
Merge pull request #308 from iovisor/cflags
Add ability to set custom cflags when loading programs
Brenden Blanco [Wed, 6 Jan 2016 16:45:42 +0000 (08:45 -0800)]
Add ability to set custom cflags when loading programs
Example:
b = bcc.BPF("myprog.c", cflags=["-DMYCUSTOMFLAG1", ...])
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Mon, 4 Jan 2016 19:47:08 +0000 (11:47 -0800)]
Merge pull request #307 from iovisor/kbuild_fix
Remove runtime dependency on gcc stdarg headers and make
Brenden Blanco [Mon, 4 Jan 2016 17:54:00 +0000 (09:54 -0800)]
Remove runtime dependency on gcc stdarg headers and make
Remove the runtime dependency on gcc's stdarg.h. Do this by packaging
the (non-GPL) version shipped with clang. This allows the bulk of
kbuild_helper to be removed, at the expense of hardcoding the kernel
include paths. If in the future the kernel make system changes again to
require different -I paths, we'll have to think this through again.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 1 Jan 2016 20:13:11 +0000 (12:13 -0800)]
Merge pull request #306 from troyengel/te_dev
add new Arch packages, new TOC and spiffy up the formatting
troyengel [Fri, 1 Jan 2016 19:51:29 +0000 (13:51 -0600)]
add new Arch packages, new TOC and spiffy up the formatting
Brenden Blanco [Thu, 10 Dec 2015 17:57:27 +0000 (09:57 -0800)]
Merge pull request #305 from iovisor/bblanco_dev
Drop broken p4/docs symlink and create README.md+URL
Brenden Blanco [Thu, 10 Dec 2015 16:00:02 +0000 (08:00 -0800)]
Drop broken p4/docs symlink and create README.md+URL
There was a symlink to a local file, which would instead work better as
a URL to the bpf-docs repository.
Fixes: #304
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Mon, 7 Dec 2015 04:05:53 +0000 (20:05 -0800)]
Merge pull request #303 from iovisor/bblanco_dev
Improve json type support for misc struct/union types
Brenden Blanco [Mon, 7 Dec 2015 03:58:38 +0000 (19:58 -0800)]
Improve json type support for misc struct/union types
The ability of the clang rewriter to extract the type information for
some types of structs, unions, and pointers to the aforementioned was
somewhat buggy. This became exposed in a test_clang case after a user
upgraded to a newer kernel, wherein the struct definition changed. The
functionality in question is only used to pass json-ified representation
of the struct to python in order to program the Key/Leaf metaclass.
Improve support for this and other types, including unions.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 3 Dec 2015 22:11:00 +0000 (14:11 -0800)]
Merge pull request #302 from iovisor/ast_dev
make sure LDFLAGS are propagated as well
Alexei Starovoitov [Thu, 3 Dec 2015 22:04:16 +0000 (14:04 -0800)]
make sure LDFLAGS are propagated as well
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
4ast [Thu, 3 Dec 2015 21:00:06 +0000 (13:00 -0800)]
Merge pull request #301 from iovisor/bblanco_dev
Fix breakage from LLVM 3.8 API change
Brenden Blanco [Thu, 3 Dec 2015 20:43:52 +0000 (12:43 -0800)]
Fix breakage from LLVM 3.8 API change
There is some difference in how to take a pointer from an iterator. This
code should work for both 3.7 and 3.8 APIs.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Tue, 1 Dec 2015 07:08:20 +0000 (23:08 -0800)]
Merge pull request #299 from iovisor/bblanco_dev
p4: fixed bugs in control-flow generation
Brenden Blanco [Tue, 1 Dec 2015 07:06:49 +0000 (23:06 -0800)]
Merge pull request #300 from lcp/build_and_test
Honor the external C/CXX FLAGS
Gary Lin [Tue, 17 Nov 2015 02:48:39 +0000 (10:48 +0800)]
Honor the external C/CXX FLAGS
Signed-off-by: Gary Lin <glin@suse.com>
Mihai Budiu [Tue, 1 Dec 2015 00:25:00 +0000 (16:25 -0800)]
fixed bugs in control-flow generation
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Mon, 30 Nov 2015 19:21:50 +0000 (11:21 -0800)]
Merge pull request #298 from iovisor/bblanco_dev
Automatically bump memlock ulimit
Brenden Blanco [Mon, 30 Nov 2015 18:54:47 +0000 (10:54 -0800)]
Automatically bump memlock ulimit
Instead of requiring the user to bump the ulimit in their shell before
starting a bcc script, try to setrlimit automatically when a failure
occurs. Since there is no getrusage for memlock limit, unfortunately we
have to brute force setting the limit. For now, just try bpf() once and
then try to set unlimited ulimit, then try bpf() again.
Fixes: #281
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Mon, 30 Nov 2015 07:24:15 +0000 (23:24 -0800)]
Merge pull request #297 from iovisor/bblanco_dev
Fixup dependencies of bcc-tools package
Brenden Blanco [Mon, 30 Nov 2015 01:51:01 +0000 (17:51 -0800)]
Fixup dependencies of bcc-tools package
This should depend on python-bcc, which itself depends on libbcc.
Fixes: #291
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Mon, 30 Nov 2015 01:41:36 +0000 (17:41 -0800)]
Merge pull request #296 from iovisor/bblanco_dev
Add bcc-tools package
Brenden Blanco [Mon, 30 Nov 2015 01:07:52 +0000 (17:07 -0800)]
Add rpm and deb packaging for bcc-tools
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 26 Nov 2015 02:22:42 +0000 (18:22 -0800)]
Package tools into share/bcc/tools
Ticket: #291
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>