summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* grapher fixupsTim Moore2009-07-281-1/+1
| | | | * grapher/grapher.cxx (main): Fix problems with call to execlp.
* Templatize GraphDataTim Moore2009-07-286-70/+146
| | | | | | | | | | | | | | | | * 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
* run stap from grapherTim Moore2009-07-281-2/+32
| | | | | * grapher/grapher.cxx (main): Start stap + script from program if supplied as an argument.
* Incorporate grapher widget in real applicationTim Moore2009-07-281-11/+78
| | | | | * grapher/grapher.cxx (GrapherWindow): New class. (main): Instantiate GrapherWindow.
* Add CSV syntax support to the grapherTim Moore2009-07-283-10/+78
| | | | | | * grapher/GraphData.hxx (CSVData): new class * grapher/GraphData.cxx (commaSplit): new function (ioCallback): handle CSV definition and data
* Refactor StapParser into its own filesTim Moore2009-07-285-90/+123
| | | | | | * grapher/StapParser.cxx: new file * grapher/StapParser.hxx: new file * grapher/grapher.cxx: Use external StapParser class.
* Tweaks to grapher axis drawingTim Moore2009-07-281-7/+15
| | | | | * grapher/GraphWidget.cxx (on_expose_event): Don't draw axis labels that would overlap others.
* restore newlines to grapher script headerTim Moore2009-07-281-4/+4
| | | | * testsuite/systemtap.examples/general/grapher.stp: Restore newlines.
* PR6905: tweak WILDCARD and RANGE line type for process.statementWenji Huang2009-07-274-4/+64
| | | | | | | | * 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.
* Mention where we looked and if we didn't find line info on statement probe.Mark Wielaard2009-07-271-0/+3
| | | | | * tapsets.cxx (query_cu): When statement check fails and no line info available, mention the CU had no line info.
* Explicitly link with nss3 nspr4 and plc4 when used.Mark Wielaard2009-07-253-423/+576
| | | | | | | | | | | | 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.
* PR6898: support $$vars and $$parms for markerWenji Huang2009-07-232-14/+81
| | | | | * tapset-mark.cxx (visit_target_symbol_context): Add $$vars/$$parms. * testsuite/systemtap.base/marker.exp : Test case.
* Workaround cfa_nops not being needed on earlier elfutils.Mark Wielaard2009-07-232-2/+2
| | | | | * dwflpp.cxx (get_cfa_ops): Only define cfa_nops if _ELFUTILS_PREREQ(0,142). * loc2c-test.c (main): Likewise.
* Adjust to new elfutils dwarf_frame_cfa interface.Mark Wielaard2009-07-232-4/+6
| | | | | * dwflpp.cxx (get_cfa_ops): Call dwarf_frame_cfa with cfa_nops size_t. * loc2c-test.c (main): Likewise.
* Make ring_buffer transport work on new kernels.David Smith2009-07-221-13/+44
| | | | | | | * 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.
* PR10427 Multiple tracepoints OK!Mark Wielaard2009-07-221-1/+3
| | | | | * testsuite/systemtap.base/tracepoints.stp: Only print once, when enough hits, or at the begin probe.
* Use the query paradigm for resolving sdt probesJosh Stone2009-07-212-377/+384
| | | | | | | | | | | | | | | | 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
* Remove unused 'sess' from dwarf_query ctorJosh Stone2009-07-211-6/+4
|
* PR10421: Update task.stp for 2.6.31Wenji Huang2009-07-211-3/+9
| | | | * tapset/task.stp (pid2task): Use find_get_pid for 2.6.31.
* PR10182 systemtap.spec should try to clean up old leftover uprobes module.Mark Wielaard2009-07-211-0/+2
| | | | systemtap.spec (post,preun): Call rmmod uprobes.
* Save module when dwflpp setup_user.Mark Wielaard2009-07-211-0/+1
| | | | * dwflpp.cxx (setup_user): Set module to mod.
* PR10424: Consider each tracepoint header separatelyJosh Stone2009-07-205-52/+83
| | | | | | | | | | | | | | | | 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.
* Make sure that non-existent files still affect hashingJosh Stone2009-07-201-6/+6
| | | | | | | 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
* Allow dwflpp to take a vector of module namesJosh Stone2009-07-202-21/+38
| | | | | | | | | 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.
* Return hash module values directly as stringsJosh Stone2009-07-204-20/+19
| | | | | | | | * 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
* Fixes for 2.6.31. There are some changes in sk_buff structure those causeDavid J. Wilder2009-07-202-10/+81
| | | | | failures of compiling ipmib.stp and tcpmib.stp, rtable and dst fields are deleted.
* Fixed PR 10386 by removing the need to convert a pid to a task.David Smith2009-07-204-18/+6
| | | | | | | | | * 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.
* * tapsets.cxx (dwarf_builder::probe_table::convert_probe):Stan Cox2009-07-202-59/+54
| | | | | | 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.
* Tweak kernel or module resident probeWenji Huang2009-07-193-132/+132
| | | | | | * tapset/nfs_proc.stp: Change '?' notation to "!". * tapset/nfsd.stp: Ditto. * tapset/scsi.stp: Ditto.
* minor typoDon Domingo2009-07-201-1/+1
|
* revising for brew buildDon Domingo2009-07-202-2/+32
|
* minor revisions to languageDon Domingo2009-07-201-9/+19
|
* PR6961: gcc warning tweakFrank Ch. Eigler2009-07-171-3/+4
| | | | * sym.c (_stp_usymbol_print): Ditto.
* regenerate example indexesFrank Ch. Eigler2009-07-174-1/+51
|
* PR6961: gcc warning tweakFrank Ch. Eigler2009-07-171-3/+4
| | | | * sym.c (_stp_symbol_print): (Redundantly) initialize locals.
* Update AUTHORS and .mailmapJosh Stone2009-07-172-0/+3
| | | | | * AUTHORS: Add David J. Wilder and Jeff Moyer. * .mailmap: Add a real name for <wjhuang@localhost.localdomain>
* save_stack_trace autoconf: fix typo to activate code in runtime/stack.cFrank Ch. Eigler2009-07-171-1/+1
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2009-07-178-1/+186
|\ | | | | | | | | | | * 'master' of ssh://sources.redhat.com/git/systemtap: Add chng_cpu.stp and migrate.stp examples. Add network/tcpipstat.stp descriptions.
| * Add chng_cpu.stp and migrate.stp examples.William Cohen2009-07-178-0/+144
| |
| * Add network/tcpipstat.stp descriptions.William Cohen2009-07-174-1/+42
| |
* | PR10410: dentry tapset, autofs4 sampleJeff Moyer2009-07-174-1/+227
|/ | | | | | | * 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>
* PR3498 cont'd: better tolerate missing modulesFrank Ch. Eigler2009-07-171-4/+4
| | | | | * tapsets.cxx (get_{user,kern}_dw): Skip partially allocated (0-initialized) FOO_dw[] slots that may result from dwflpp::ctor exceptions.
* This SNMP group of tapsets provides probes used to count SNMP managementDavid J. Wilder2009-07-1611-1/+1805
| | | | | | | | | | | | | | | | | | | 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>
* PR10398 DW_OP_call_frame CFA support doesn't work for prelink shared libs.Mark Wielaard2009-07-161-3/+40
| | | | | | | * 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.
* Include elfutils/version.h in loc2c-test.Mark Wielaard2009-07-161-0/+3
| | | | * loc2c-test.c: Include elfutils/version.h when available.
* BUG! "yes" breaks ustack PR10323 was fixed a while ago, remove comment.Mark Wielaard2009-07-161-1/+1
|
* PR5930: Address-op for $target and @cast membersJosh Stone2009-07-1515-2/+100
| | | | | | | | | | | | | | | | 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
* Update for RHEL 5.4William Cohen2009-07-151-1/+1
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-07-154-23/+112
|\
| * utrace_syscall_args.stp makes sure open syscall is from target pid.David Smith2009-07-151-1/+1
| | | | | | | | | | * testsuite/systemtap.base/utrace_syscall_args.stp: Makes sure the open syscall is from the target pid.