| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* grapher/grapher.cxx (main): Fix problems with call to execlp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* grapher/GraphData.hxx (GraphDataBase): new superclass for
GraphData. Split time data out as a separate vector.
(GraphData): Rewrite as template.
* grapher/GraphWidget.cxx (on_expose_event): Reflect GraphData
templatization. Handle events with string values.
* grapher/GraphWidget.hxx (GraphWidget): Keep pointers to
GraphDataBase objects instead of GraphData.
* grapher/StapParser.cxx (parseData): new member function
(ioCallback): Handle new discreet event
* grapher/StapParser.hxx (StapParser): keep pointers to GraphDataBase
objects instead of GraphData
* testsuite/systemtap.examples/general/grapher.stp: Display actual key
pressed for keyboard event
|
|
|
|
|
| |
* grapher/grapher.cxx (main): Start stap + script from program if supplied
as an argument.
|
|
|
|
|
| |
* grapher/grapher.cxx (GrapherWindow): New class.
(main): Instantiate GrapherWindow.
|
|
|
|
|
|
| |
* grapher/GraphData.hxx (CSVData): new class
* grapher/GraphData.cxx (commaSplit): new function
(ioCallback): handle CSV definition and data
|
|
|
|
|
|
| |
* grapher/StapParser.cxx: new file
* grapher/StapParser.hxx: new file
* grapher/grapher.cxx: Use external StapParser class.
|
|
|
|
|
| |
* grapher/GraphWidget.cxx (on_expose_event): Don't draw axis labels
that would overlap others.
|
|
|
|
| |
* testsuite/systemtap.examples/general/grapher.stp: Restore newlines.
|
|
|
|
|
|
|
|
| |
* dwflpp.cxx (iterate_over_srcfile_lines): Check the line range
and tolerate invalid line number for WILDCARD line type.
* testsuite/systemtap.base/bz6905.c: Test case.
* testsuite/systemtap.base/bz6905.exp: Ditto.
* testsuite/systemtap.base/bz6905.stp: Ditto.
|
|
|
|
|
| |
* tapsets.cxx (query_cu): When statement check fails and no line info
available, mention the CU had no line info.
|
|
|
|
|
|
|
|
|
|
|
|
| |
GNU gold depends on all libraries providing symbols being explicitly
linked in (PR 10238). And it is pedantically more correct indeed.
* Makefile.am (stap_LD_ADD): Add -lnspr4 when HAVE_NSS.
(staprun_LDADD): Likewise.
(stap_client_connect_LDADD): Add -lnss3 -lnspr4 -lplc4 when BUILD_SERVER.
(stap_server_connect_LDADD): Likewise.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
|
|
|
|
|
| |
* tapset-mark.cxx (visit_target_symbol_context): Add $$vars/$$parms.
* testsuite/systemtap.base/marker.exp : Test case.
|
|
|
|
|
| |
* dwflpp.cxx (get_cfa_ops): Only define cfa_nops if _ELFUTILS_PREREQ(0,142).
* loc2c-test.c (main): Likewise.
|
|
|
|
|
| |
* dwflpp.cxx (get_cfa_ops): Call dwarf_frame_cfa with cfa_nops size_t.
* loc2c-test.c (main): Likewise.
|
|
|
|
|
|
|
| |
* runtime/transport/ring_buffer.c (_stp_event_to_user): Added debug prints.
(_stp_ring_buffer_consume): New function.
(_stp_find_next_event): Avoid incrementing the buffer iterator here.
(_stp_data_write_commit): Added debug prints.
|
|
|
|
|
| |
* testsuite/systemtap.base/tracepoints.stp: Only print once, when enough hits,
or at the begin probe.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a bad assumption in the probe_table initialization that the
dwflpp->module would be immediately valid. We should not assume that
dwflpp only has one module, or that any module is necessarily in focus.
Instead, I've created an sdt_query class which will call an
iterate_over_modules like the other dwarf probe types. For now this
means just a single module, but it will also open the door to iterating
over all linked libraries too, for example.
* dwflpp.cxx (dwflpp::setup_user): don't "save mod!" anymore
* tapsets.cxx (probe_table -> sdt_query): convert to a query-style
class, and also take over the task of iterating over the probes.
(dwarf_builder::build): leave the iteration to sdt_query
|
| |
|
|
|
|
| |
* tapset/task.stp (pid2task): Use find_get_pid for 2.6.31.
|
|
|
|
| |
systemtap.spec (post,preun): Call rmmod uprobes.
|
|
|
|
| |
* dwflpp.cxx (setup_user): Set module to mod.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the current monolithic tracepoint query module, a failure in any of
the discovered tracepoint headers means that you can't use any of the
others either. This patch creates a separate query module for each
header so they can pass or fail independently.
* buildrun.cxx (make_tracequery): take a single header name instead of
globbing for everything we can find.
* hash.cxx (find_tracequery_hash): name the header file we're hashing.
* tapsets.cxx (tracepoint_query::handle_query_func): make sure we don't
duplicate tracepoints found through different headers.
(tracepoint_builder::get_tracequery_module): get a header's module
(tracepoint_builder::init_dw): glob for all tracepoint headers, and
feed all their modules into dwflpp.
|
|
|
|
|
|
|
| |
The fact that a file _doesn't_ exist is significant, so adding such a
file to a computed hash should still influence the output.
* hash.cxx (hash::add_file): add bogus stat info for non-existent files
|
|
|
|
|
|
|
|
|
| |
This will be used to load tracepoint modules as a bunch of little query
modules into a single dwflpp.
* dwflpp.cxx (setup_user): take a vector instead of a single module
(dwflpp::dwflpp): form a vector in the singular case, and add a
variant that takes and passes through a vector of modules.
|
|
|
|
|
|
|
|
| |
* session.h (systemtap_session): remove tracequery_path
* hash.cxx (find_tracequery_hash, find_typequery_hash): return strings
* tapsets.cxx (dwarf_cast_expanding_visitor::filter_special_modules):
get the hashed path from the return value instead of a parameter
(tracepoint_builder::init_dw): ditto, and don't stuff it in session
|
|
|
|
|
| |
failures of compiling ipmib.stp and tcpmib.stp, rtable and dst fields are
deleted.
|
|
|
|
|
|
|
|
|
| |
* runtime/itrace.c (usr_itrace_init): Changed prototype to take a
task_struct instead of a pid.
* tapset-itrace.cxx (emit_module_decls): Updated usr_itrace_init() call.
* runtime/autoconf-find-task-pid.c: Removed, since only user_itrace_init()
was using it.
* buildrun.cxx (compile_pass): Removed autoconf-find-task-pid.c test.
|
|
|
|
|
|
| |
First check kprobe and utrace (did we arrive via stap?) then check
if probe arg matches mark("NAME")
* sdt.h (STAP_PROBE?_): Use STAP_GUARD for stap check, not gettid.
|
|
|
|
|
|
| |
* tapset/nfs_proc.stp: Change '?' notation to "!".
* tapset/nfsd.stp: Ditto.
* tapset/scsi.stp: Ditto.
|
| |
|
| |
|
| |
|
|
|
|
| |
* sym.c (_stp_usymbol_print): Ditto.
|
| |
|
|
|
|
| |
* sym.c (_stp_symbol_print): (Redundantly) initialize locals.
|
|
|
|
|
| |
* AUTHORS: Add David J. Wilder and Jeff Moyer.
* .mailmap: Add a real name for <wjhuang@localhost.localdomain>
|
| |
|
|\
| |
| |
| |
| |
| | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
Add chng_cpu.stp and migrate.stp examples.
Add network/tcpipstat.stp descriptions.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
* tapset/dentry.stp: New d_path, d_name, reverse_path_walk.
* .../examples/.../autofs4.*: New autofs demo.
Signed-off-by: Frank Ch. Eigler <fche@elastic.org>
|
|
|
|
|
| |
* tapsets.cxx (get_{user,kern}_dw): Skip partially allocated (0-initialized)
FOO_dw[] slots that may result from dwflpp::ctor exceptions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events. The probes mirror many of the SNMP statistics defined
in /usr/include/linux/snmp.h. Each probe represents a single SNMP
statistic or MIB. Each of the probe's handler is called when system
performs an operation that would alter the associated statistic. Along
with each probe is defined an indexed set of counters used to record
probe hits. The probe handlers call a user supplied callback functions
to determine which counter to alter. The user's callback should returns a
key value that will be used to index the counter. For example a callback
could return a unique value for each socket. This would results in a
separate counter being used for each socket.
tcpipstat.stp shows how snmp tapsets could be used. Tcpipstat collects and
displays network statistics related to individual TCP sockets or groups of
sockets. The statistics that are collected are simmer to that of the command
netstat -s, only sorted and grouped by individual sockets.
Signed-off-by: David Wilder <dwilder@us.ibm.com>
|
|
|
|
|
|
|
| |
* dwflpp.cxx (translate_location): Call get_cfa_ops with relative pc plus
module bias.
(literal_addr_to_sym_addr): Add verbose logging.
(get_cfa_ops): Adjust pc for returned bias. Add verbose logging.
|
|
|
|
| |
* loc2c-test.c: Include elfutils/version.h when available.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the '&' operator to get the address of @cast and $target
variable expressions.
* staptree.h (target_symbol): add addressof field
* staptree.cxx (target_symbol::print): print '&' for addressof
(cast_op::print): ditto
* parse.cxx (parser::parse_value): allow '&' prefix on $target/@cast
* dwflpp.cxx (dwflpp::translate_final_fetch_or_store): allow taking the
computed address without actually doing a final fetch.
* tapset* (*::visit_target_symbol): throw errors for $vars w/o addresses
* testsuite/systemtap.base/cast.stp: add &@cast test
* testsuite/semok/target_addr.stp: test '&' on different member types
* testsuite/semko/target_addr?.stp: test failure on bitfields/registers
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
* testsuite/systemtap.base/utrace_syscall_args.stp: Makes sure the open
syscall is from the target pid.
|