- 30 Mar, 2016 26 commits
-
-
4ast authored
Support for global variable arguments in USDT probes
-
4ast authored
Lua Tools for BCC
-
Vicent Marti authored
-
Vicent Marti authored
-
Brenden Blanco authored
Percpu support
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Sasha Goldshtein authored
I previously thought it wouldn't be possible to probe arbitrary user-mode addresses, but it turns out that it is. This was required to support global variable arguments in USDT probes. For example, there are a few probes in libpthread whose arguments refer to the mp_ global variable. These are now supported. Additionally, refactored process-related utils into a ProcUtils class in procstat.py, and implemented a version of `which` (`ProcUtils.which`) that is as portable as possible -- it only relies on traversing the PATH environment variable.
-
Zaafar Ahmed authored
-
Zaafar Ahmed authored
changed pc_hash/array to percpu_hash/array table.py optimised/fixup table.py code based on Brenden feedback test_percpu.py Now tests are processor aware and doesn't use sleep added new line at the EOF
-
Brenden Blanco authored
solisten: clean endian conversion hack
-
- 29 Mar, 2016 8 commits
-
-
Zaafar Ahmed authored
-
Zaafar Ahmed authored
-
Zaafar Ahmed authored
Merge remote-tracking branch 'origin/master' into percpu
-
Zaafar Ahmed authored
removed kernel checks.
-
Brenden Blanco authored
Minor endian and debug enhancement
-
Jean-Tiare Le Bigot authored
-
Jean-Tiare Le Bigot authored
-
4ast authored
argdist, trace, and tplist support for USDT probes
-
- 28 Mar, 2016 5 commits
-
-
Jean-Tiare Le Bigot authored
-
Brenden Blanco authored
expose buitin byte swap methods
-
Jean-Tiare Le Bigot authored
-
Sasha Goldshtein authored
These tools now support USDT probes with the 'u:provider:probe' syntax. Probes in a library or process can be listed with 'tplist -l LIB' or 'tplist -p PID'. Probe arguments are also parsed and available in both argdist and trace as arg1, arg2, etc., regardless of the probe attach location. The same USDT probe can be used at multiple locations, which means the attach infra- structure must probe all these locations. argdist and trace register thunk probes at each location, which call a central probe function (which is static inline) with the location id (__loc_id). The central probe function checks the location id to determine how the arguments should be retrieved -- this is location-dependent. Finally, some USDT probes must be enabled first by writing a value to a memory location (this is called a "semaphore"). This value is per-process, so we require a process id for this kind of probes. Along with trace and argdist tool support, this commit also introduces new classes in the bcc module: ProcStat handles pid-wrap detection, whereas USDTReader, USDTProbe, USDTProbeLocation, and USDTArgument are the shared USDT-related infrastructure that enables enumeration, attachment, and argument retrieval for USDT probes.
-
Brenden Blanco authored
Fixed bug around local assignment from char array
-
- 27 Mar, 2016 1 commit
-
-
Sasha Goldshtein authored
-