Sasha Goldshtein [Thu, 11 Feb 2016 09:55:11 +0000 (01:55 -0800)]
Implemented histogram functionality, including strings; added examples
Sasha Goldshtein [Thu, 11 Feb 2016 06:10:09 +0000 (22:10 -0800)]
Initial version of gentrace with raw counting only
4ast [Tue, 9 Feb 2016 14:40:57 +0000 (15:40 +0100)]
Merge pull request #358 from brendangregg/master
updates and 3 tools: statsnoop, filelife, filetop
Brendan Gregg [Tue, 9 Feb 2016 08:37:12 +0000 (00:37 -0800)]
inspiration section for biotop
Brendan Gregg [Tue, 9 Feb 2016 08:36:43 +0000 (00:36 -0800)]
filetop.8
Brendan Gregg [Tue, 9 Feb 2016 08:32:51 +0000 (00:32 -0800)]
filelife
Brendan Gregg [Tue, 9 Feb 2016 08:31:24 +0000 (00:31 -0800)]
statsnoop
Brendan Gregg [Tue, 9 Feb 2016 08:28:43 +0000 (00:28 -0800)]
missing options section on biotop
Brendan Gregg [Tue, 9 Feb 2016 08:28:09 +0000 (00:28 -0800)]
makes more sense to invert the -X usage
Brenden Blanco [Mon, 8 Feb 2016 21:51:26 +0000 (22:51 +0100)]
Merge pull request #355 from goldshtn/master
New tool: memleak
Brenden Blanco [Mon, 8 Feb 2016 21:30:19 +0000 (22:30 +0100)]
Merge pull request #353 from brendangregg/master
3 tools: fsslower, execsnoop, runqlat
Brendan Gregg [Mon, 8 Feb 2016 15:50:33 +0000 (07:50 -0800)]
mecs typo
4ast [Mon, 8 Feb 2016 14:34:44 +0000 (15:34 +0100)]
Merge pull request #357 from iovisor/prandom
Add bpf_get_prandom_u32 to helpers
Brenden Blanco [Mon, 8 Feb 2016 14:22:23 +0000 (15:22 +0100)]
Add bpf_get_prandom_u32 to helpers
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Sasha Goldshtein [Mon, 8 Feb 2016 13:48:31 +0000 (05:48 -0800)]
Added -s switch to perform allocation sampling
Sasha Goldshtein [Mon, 8 Feb 2016 12:05:48 +0000 (04:05 -0800)]
Added memleak.py to README
Sasha Goldshtein [Mon, 8 Feb 2016 12:04:15 +0000 (04:04 -0800)]
Added man page
Sasha Goldshtein [Mon, 8 Feb 2016 11:41:43 +0000 (03:41 -0800)]
Clarified example output
Sasha Goldshtein [Mon, 8 Feb 2016 11:39:44 +0000 (03:39 -0800)]
Fixed indentation and Python style issues from pep
Sasha Goldshtein [Mon, 8 Feb 2016 11:10:13 +0000 (03:10 -0800)]
Added examples
Sasha Goldshtein [Mon, 8 Feb 2016 10:57:02 +0000 (02:57 -0800)]
Added -c switch to run a command and trace that process
Brendan Gregg [Mon, 8 Feb 2016 09:20:31 +0000 (01:20 -0800)]
runqlat
Brendan Gregg [Mon, 8 Feb 2016 02:48:20 +0000 (18:48 -0800)]
rename fsslower to fileslower
Brendan Gregg [Mon, 8 Feb 2016 00:36:10 +0000 (16:36 -0800)]
extra dot
Brendan Gregg [Sun, 7 Feb 2016 23:28:50 +0000 (15:28 -0800)]
execsnoop
Brendan Gregg [Sun, 7 Feb 2016 21:05:09 +0000 (13:05 -0800)]
docs typo
Brendan Gregg [Sun, 7 Feb 2016 20:22:50 +0000 (12:22 -0800)]
more advice in the man page
Sasha Goldshtein [Sun, 7 Feb 2016 20:20:19 +0000 (12:20 -0800)]
Refactored StackDecoder, added 'run command' option with no implementation yet
Brendan Gregg [Sun, 7 Feb 2016 20:14:37 +0000 (12:14 -0800)]
fsslower
Sasha Goldshtein [Sun, 7 Feb 2016 20:03:54 +0000 (12:03 -0800)]
Refactored Time class and added usage example
Sasha Goldshtein [Sun, 7 Feb 2016 19:16:24 +0000 (11:16 -0800)]
Merge remote-tracking branch 'upstream/master'
Sasha Goldshtein [Sun, 7 Feb 2016 19:11:56 +0000 (11:11 -0800)]
Added source for gettime code
Sasha Goldshtein [Sun, 7 Feb 2016 19:09:36 +0000 (11:09 -0800)]
Don't show allocations newer than a configurable age
4ast [Sun, 7 Feb 2016 15:11:55 +0000 (07:11 -0800)]
Merge pull request #351 from iovisor/iteritems
Fix python map.items() racing with bpf delete
Brenden Blanco [Sun, 7 Feb 2016 14:57:17 +0000 (06:57 -0800)]
Fix python map.items() racing with bpf delete
The default python implementation of itervalues(), iteritems(), items(), and
values() do a sequence of iter().next followed by self[key], which may
produce a KeyError since a bpf program can delete them quickly. It
should be safe to suppress such errors, hiding them from the user.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Sun, 7 Feb 2016 14:30:37 +0000 (06:30 -0800)]
Merge pull request #349 from brendangregg/master
biotop
4ast [Sun, 7 Feb 2016 14:03:01 +0000 (06:03 -0800)]
Merge pull request #348 from iovisor/scanf_fix
Support array and pointer types in scanf generated function
Sasha Goldshtein [Sun, 7 Feb 2016 09:57:42 +0000 (01:57 -0800)]
Added memory leak tracer
Brendan Gregg [Sun, 7 Feb 2016 08:54:44 +0000 (00:54 -0800)]
update comments
Brendan Gregg [Sun, 7 Feb 2016 08:46:34 +0000 (00:46 -0800)]
biotop
Brenden Blanco [Sun, 7 Feb 2016 04:59:10 +0000 (20:59 -0800)]
Support array and pointer types in scanf generated function
The rewriter-created sscanf and snprintf routines did not support map
structs with arrays or pointer types in them. Add such support.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Sun, 7 Feb 2016 04:07:03 +0000 (20:07 -0800)]
Merge pull request #346 from brendangregg/master
biosnoop.py: use one map instead of two
Brendan Gregg [Sun, 7 Feb 2016 01:19:59 +0000 (17:19 -0800)]
simplify
Brendan Gregg [Sun, 7 Feb 2016 01:11:59 +0000 (17:11 -0800)]
nits
Brendan Gregg [Sun, 7 Feb 2016 01:08:38 +0000 (17:08 -0800)]
bitesize nits
Brendan Gregg [Sun, 7 Feb 2016 00:45:29 +0000 (16:45 -0800)]
use one map instead of two
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