- 15 Jan, 2019 9 commits
-
-
Brendan Gregg authored
Make bpftrace -l list sofware and hardware types (#44)
-
Brendan Gregg authored
tracepoint shortcut t breaks args
-
Brendan Gregg authored
hist: split negative, zero, and one into separate buckets
-
Brendan Gregg authored
Add --version
-
Augusto Caringi authored
- Also refactored code in attached_probe.cpp and ast/semantic_analyzer.cpp to use the sw/hw lists instead of the hardcoded probe names.
-
-
Brendan Gregg authored
lhist: interval notation tweak
-
Brendan Gregg authored
-
Brendan Gregg authored
-
- 14 Jan, 2019 6 commits
-
-
Brendan Gregg authored
runqlat.bt: remove if semicolon
-
Brendan Gregg authored
-
Brendan Gregg authored
if semicolon
-
williangaspar authored
-
-
-
- 11 Jan, 2019 5 commits
-
-
Daniel Xu authored
-
Dan Xu authored
Link against system bcc Previously, bpftrace was clone bcc from github at build time, building a version of bcc, then linking against the built bcc. This is a no-go for many packaging systems including Fedora, openSUSE, and the internal Facebook one. This patch requires bcc and bcc development headers be installed to build bpftrace and removes the build time downloading behavior. Also simplifies some of the header search logic. Test plan: ``` $ ./build/tests/bpftrace_test ... $ sudo make -C build runtime-tests ... $ cat ~/scratch/bpftrace/path.bt kprobe:vfs_open { printf("open path: %s\n", str(((path *)arg0)->dentry->d_name.name)); } $ sudo ./build/src/bpftrace ~/scratch/bpftrace/path.bt [sudo] password for dlxu: Attaching 1 probe... open path: stat open path: user-745673103.journal open path: user-1001.journal open path: user-745673103.journal open path: user-1001.journal open path: user-745673103.journal open path: user-1001.journal open path: iio:device0 open path: stat ...
-
Matheus Marchini authored
-
Daniel Xu authored
`*-inl.h` files, or inline headers, are an implementation detail. Users of an interface that is backed by an inline header should not concern themselves with the details of implementation. This patch normalizes the interface.
-
Brendan Gregg authored
Avoid crashing if mistakenly just '-d' or '-v' is used
-
- 10 Jan, 2019 1 commit
-
-
Augusto Caringi authored
Currently, if by mistake just '-v' or '-d' is used without any additional parameter (no filename nor -e 'program') bpftrace crashes: ./src/bpftrace -v terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_M_construct null not valid Aborted (core dumped) This commit fix this problem.
-
- 08 Jan, 2019 2 commits
-
-
Brendan Gregg authored
Return cleanly after printing help
-
Daniel Xu authored
Test plan: ``` $ ./build/src/bpftrace -h &> /dev/null && echo $? 0 ```
-
- 07 Jan, 2019 1 commit
-
-
David Calavera authored
This allows operators to use other tools, like bpftool, to introspect a running program. Signed-off-by: David Calavera <david.calavera@gmail.com>
-
- 04 Jan, 2019 6 commits
-
-
Dan Xu authored
Fix use-after-free in BPFtrace::get_arg_values
-
Brendan Gregg authored
Docs
-
Alex Birch authored
implement review feedback: pass vector by const ref, use reinterpret cast, remove move() of returned string
-
Alex Birch authored
we were moving as far as constructor arg, but afterwards we were copying to member. this fixes that. https://stackoverflow.com/a/16725030/5257399
-
Alex Birch authored
implement review feedback: avoid copying strings, prefer make_unique, use standard naming convention for private members
-
Peter Sanford authored
Previously get_arg_values was returning a vector of uint64_t values that could be passed directly to printf(3). For string values get_arg_values was returning a pointer to a char*. For some cases it was attempting to handle freeing the char* memory via a stack allocated std::vector. Unfortunately, this was stack allocated in get_arg_values so the char* data would get freed before it was used in the subsequent call to printf(). In other cases get_arg_values was not freeing char* values and was leaking memory (probe, stack, and ustack). get_arg_values() now returns a vector of objects of type IPrintable instead of uint64_t values. Each object has a method .value() that returns the uint64_t value usable by printf(). For strings this allows us to keep around the original std::string until after we've called printf(), so we don't need to strdup() anymore. Fixes #194
-
- 03 Jan, 2019 5 commits
-
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
improve tracepoint not found message
-
Augusto Caringi authored
-
Brendan Gregg authored
-
- 02 Jan, 2019 5 commits
-
-
Brendan Gregg authored
[test] fix runtime-tests cmake settings
-
Matheus Marchini authored
-
Matheus Marchini authored
Co-Authored-By: Birch-san <Birch-san@users.noreply.github.com>
-
Matheus Marchini authored
Co-Authored-By: Birch-san <Birch-san@users.noreply.github.com>
-
Alex Birch authored
-