| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
* testsuite/systemtap.base/const_value.c: New test.
* testsuite/systemtap.base/const_value.exp: Likewise.
* testsuite/systemtap.base/const_value.stp: Likewise.
|
| |
| |
| |
| |
| |
| | |
* dwflpp.cxx (translate_location): Call c_translate_constant when
attribute is DW_AT_const_value.
(literal_stmt_for_local): Allow both DW_AT_location and DW_AT_const_value.
|
| |
| |
| |
| |
| |
| |
| | |
* loc2c.c (declare_noncontig_union): Name union u_pieces for
loc_noncontiguous or u_const for loc_constant.
(translate_base_store): Use u_pieces for loc_noncontiguous.
(translate_base_fetch): Likewise or u_const for loc_constant.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds kernel tracepoints based probes to the scheduler tapset
along with the testcase, scheduler-test-tracepoints.stp and an example
script, sched_switch.stp.
Signed-off-by: Kiran Prakash <kiran@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
|
| |
| |
| |
| |
| | |
* tapset/indent.stp (_generic_indent): Use "%-*s" instead of
string concatenation loop.
|
| |
| |
| |
| | |
argument.
|
| |
| |
| |
| |
| | |
* loc2c.c (loc_constant): Add offset to size after creating piece in
loc_constant loop.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
libdwfl tries to resolve all relocations in a module debuginfo file and
if it cannot find a symbol used in a relocation it will fail when
dwfl_module_getdwarf() is called. So we must make sure all possible
dependencies of the module are also in the dwfl. We do this by trying
to find and parse the modules.dep file and insert all dependencies
into the dwfl.
* setupdwfl.cxx (elfutils_kernel_path): Lift from setup_dwfl_kernel and
make static.
(is_comma_dash): New function.
(modname_from_path): Likewise.
(setup_mod_deps): Likewise.
(setup_dwfl_report_kernel_p): Call setup_mod_deps().
* testsuite/buildok/pr10678.stp: New test.
|
|/
|
|
| |
* systemtap.spec: Updated grapher's buildreqs and file list.
|
|
|
|
|
| |
* configure.ac: Clarify fail/help string when gtkmm support wasn't found.
* configure: Regenerated.
|
|
|
|
|
|
| |
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Add
DEBUG_UPROBES for sdt semaphores
* dtrace.in (main): Add -k option to keep around the temp files.
|
|
|
|
|
|
|
| |
Makes it easier to see which probe queries use lots of memory.
* main.cxx (getmemusage): New function.
(main): Use new function printing passes in verbose mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sometimes you're probing something that is not related to
any task, as an interrupt function, and if the application
changes during the interrupt, the indentation gets confused.
For example:
0 swapper(0): -> neo_copy_data_from_queue_to_uart
69 a.out(7659): -> neo_parse_modem
74 a.out(7659): -> neo_param
14 swapper(0): <- neo_copy_data_from_queue_to_uart
83 a.out(7659): -> jsm_carrier
86 a.out(7659): <- jsm_carrier
0 swapper(0): -> neo_parse_modem
94 a.out(7659): <- jsm_tty_set_termios
8 swapper(0): <- neo_parse_modem
So, I decided to create a simpler function that doesn't
consider the task.
Much of the idea of this implementation came from Frank(Thanks)
|
|
|
|
|
| |
* configure.ac: Check for xmlto --stringparam support.
* doc/Systemtap_Tapset_Reference/Makefile.am: Be sensitive to the result.
|
|
|
|
|
|
|
|
|
| |
* grapher/grapher.cxx (GraphicalStapLauncher): New class.
(GrapherWindow constructor): Bind actions for graphical launcher buttons
(GrapherWindow::setGraphicalLauncher): new method
(GrapherWindow::on_menu_script_start): new method
grapher/stap-start.glade, grapher/stap-start.gladep: new files
grapher/Makefile.am: install stap-start.glade
|
|
|
|
|
|
|
|
|
| |
* grapher/grapher.cxx (ChildDeathReader): New class to handle I/O signalling
death of a child.
(GrapherWindow): Inherit from ChildDeathReader.
(StapLauncher): New class for passing arguments to inferior stap process
and checking for its demise.
(main): Move launching logic to StapLauncher.
|
|
|
|
| |
* grapher/grapher.cxx (main): Pass program arguments to stap
|
|
|
|
|
| |
* grapher/GraphWidget.cxx (on_button_release_event, onDataAdd): tweaks
for graph data dialog
|
|
|
|
|
|
| |
* grapher/grapher.c (main): Set up signal and i/o handlers to detect death
of child.
* grapher/StapParser.cxx (errIoCallback): New method
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Test for libglademm
* grapher/GraphWidget.hxx (DataModelColumns): new class
(onDataDialogCancel, void onDataAdd, onDataRemove, onDataDialogOpen):
new methods
* grapher/GraphWidget.cxx: ditto; methods for the graph data dialog.
* grapher/graph-dialog.glade: New file.
* grapher/graph-dialog.gladep: New file.
* grapher/Makefile.am (dist_pkgdata_DATA): add graph-dialog.glade to
installation.
* grapher/GraphWidget.cxx (GraphWidget constructor): Use PKGDATADIR
|
|
|
|
|
|
| |
* grapher/Graph.cxx (Graph constructor): set _drawX, _drawY
* grapher/GraphWidget.cxx (addGraph): Fix graph layout
(on_button_press_event): Fix test of play button in multiple graphs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* grapher/Graph.cxx (Graph constructor): Initialize graph dimensions.
(draw): Don't clear the drawing area.
* grapher/GraphWidget.hxx (GraphWidget): Add dimensions and
on_size_request() method.
* grapher/GraphWidget.cxx (GraphWidget constructor): Initialize
dimensions.
(addGraph): New method.
(on_size_request): New method to pass widget's size to parent widgets
* grapher/grapher.cxx (GrapherWindow constructor): add "add graph"
action.
(addGraph): New method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First part of a fix for PR10678. Always include the kernel in the dwfl.
This doesn't seem to impact performance noticable, so for now enable
always.
* setupdwfl.cxx (setup_dwfl_done): New variable, used to clean up logic
in setup_dwfl_report_kernel_p().
(setup_all_deps): New static bool to indicate we want all deps (just
the kernel for now, other modules coming).
(setup_dwfl_report_kernel_p): Use new variables, shortcut kernel
inclusion.
(setup_dwfl_kernel): Setup setup_dwfl_done (false).
|
|
|
|
|
|
| |
* configure.ac: Look for tr1/memory and boost/shared_ptr.hpp
* setupdwfl.h (shared_ptr): Define conditionally based on above.
* systemtap.spec (with_boost): New parameter, default-off.
|
| |
|
|
|
|
|
| |
Add information from the manual pages and from Prerna Saxena about
userspace probing to the Language Reference Guide.
|
|
|
|
|
|
|
|
| |
The final module build uses -Werror, so tracequery should as well to
catch problems as early as possible. Some ext4 errors have crept in
again (PR10703).
* buildrun.cxx (make_tracequery): Add -Werror to EXTRA_CFLAGS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several problems: some invalid <command> etc. directives
in the tapset embedded docs; some analysis about the
non-generation of the pdf; some cleanup of the generated
man pages.
* configure.ac (BUILD_PDFREFDOCS): Correct condition typo, but still
leave disabled.
* doc/SystemTap_Tapset_Reference/Makefile.am (XMLTOMANPARMS): Add,
to disable noise "AUTHORS" / "COPYRIGHT" sections.
* tapset/*.stp: Removed several docbook-y markup that is not valid
in kerneldoc.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* setupdwfl.h: Introduce DwflPtr.
* setupdwfl.cxx: Cache kernel_dwfl and user_dwfl. Keep track of last used
module strings. Return cached versions if same query used.
* dwflpp.h: Use DwflPtr instead of Dwfl*.
* dwflpp.cxx: Use DwflPtr and don't dwfl_end().
* translate.cxx: Likewise. Run through dwfl_getmodules() with returned
ptr offset.
|
|
|
|
|
|
| |
* setupdwfl.cxx (setup_dwfl_kernel(unsigned*,systemtap_session&)):
Don't switch around offline_search_modname and offline_search_names here.
(setup_dwfl_kernel(string&,unsigned*,systemtap_session&): But here.
|
|
|
|
|
| |
* tapset/x86_64/nd_syscalls.stp: Switch by kernel version.
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
| |
relocation base.
|
|
|
|
|
| |
* cache.cxx (cache_ent_info::cache_ent_info): Count the sgn in the size
(cache_ent_info::unlink): Remove the sgn too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every single copy_file call we had was converting strings to char*,
printing the same error message, and optionally printing the same
verbose string. Let's canonicalize that.
* util.cxx (copy_file): Take string filenames, add a verbose flag, and
consolidate the message printing.
* cache.cxx (add_to_cache): Pass strings and remove message printing.
(get_from_cache): Ditto.
* main.cxx (main): Ditto.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
(dwarf_cast_expanding_visitor::filter_special_modules): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To mitigate PR10424, we switched to building a separate tracequery
module for each tracepoint header, so a bad header wouldn't break all of
the others. However, with recent kernels that leads to ~18 make
commands, which adds up quickly in time. It's cached, so that's not too
bad, but as a developer who rebuilds stap frequently, it gets annoying.
If we're going to call 18 makes, it's worth it to start with one bigger
make that covers all the headers at once (like we used to). If that one
fails, we can still fall back to compiling individually.
FWIW, the failing ext4.h header was only created in 2.6.31, and was
fixed before 2.6.32, so the specific failure in PR10424 has a fairly
small window.
* buildrun.cxx (make_tracequery): Just take a single vector of headers.
* hash.cxx (find_tracequery_hash): Deal with multiple headers.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
(tracepoint_builder::init_dw): Attempt all system headers together,
and if that fails, try again individually.
|
|
|
|
|
|
|
|
|
| |
* setupdwfl.h: Add setup_dwfl_user() and is_user_module().
* setupdwfl.cxx: Likewise.
* dwflpp.cxx (setup_user): Use setup_dwfl_user().
* translate.cxx (emit_symbol_data): Likewise and is_user_module().
* tapsets.cxx (dwarf_cast_expanding_visitor::visit_cast_op):
Use is_user_module().
|
|
|
|
| |
* setupdwfl.cxx (setup_dwfl_kernel): First report all full path modules.
|
|
|
|
| |
* testsuite/systemtap.base/cmd_parse.exp: Remove temporary module.
|
|
|
|
|
|
| |
* elaborate.cxx (semantic_pass_opt2): Use "never-assigned" instead
of "read-only".
(dead_stmtexpr_remover::visit_expr_statement): Ditto.
|
|
|
|
|
|
|
|
|
|
|
| |
Tracepoint modules ended up going through dwflpp::setup_user() because
there was no setup_kernel that takes a list of module names.
* dwflpp.h: Add kernel_p bool to constructor that takes a module list.
Add setup_kernel() variant that takes a module list.
* dwflpp.cxx: Likewise.
* tapsets.cxx (tracepoint_builder::init_dw): Call dwflpp constructor
indicating we expect kernel modules.
|
|
|
|
|
|
|
|
|
|
|
| |
* setupdwfl.h: New header file.
* setupdwfl.cxx: New source file containing shared setup_dwfl_kernel() code.
* dwflpp.cxx (dwfl_report_offline_predicate): Removed.
(setup_kernel): Call setup_dwfl_kernel().
* translate.cxx (dwfl_report_offline_predicate2): Remove.
(emit_symbol_data): Call setup_dwfl_kernel().
* Makefile.am (stap_SOURCES): Add setupdwfl.cxx.
* Makefile.in: Regenerated.
|
|
|
|
| |
* tapset/logging.stp (log): Use _stp_printf "%s\n".
|
|
|
|
|
| |
OutBcastPkts. As they are not needed for tcpipstat and tend to break
easily with kernel changes.
|
|
|
|
| |
* runtime/tranport/ring_buffer.c: Removed 'USE_ITERS' definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/buildok/fortysix.stp: Add -w.
* testsuite/buildok/fortytwo.stp: Likewise.
* testsuite/buildok/four.stp: Avoid empty begin.
* testsuite/buildok/memory-all-probes.stp: Add -w.
* testsuite/buildok/nfsd-all-probes.stp: Likewise.
* testsuite/buildok/nine.stp: Likewise.
* testsuite/buildok/one.stp: Use q.
* testsuite/buildok/printf.stp: Remove unused foo(), printf x.
* testsuite/buildok/process-all-probes.stp: Add -w.
* testsuite/buildok/scheduler-all-probes.stp: Likewise.
* testsuite/buildok/scsi-all-probes.stp: Likewise.
* testsuite/buildok/signal-all-probes.stp: Likewise.
* testsuite/buildok/sixteen.stp: log in foo().
* testsuite/buildok/socket-all-probes.stp: Add -w.
* testsuite/buildok/stat_insert.stp: Declare x, y global.
* testsuite/buildok/syscall.stp: Add -w.
* testsuite/buildok/tcp-all-probes.stp: Likewise.
* testsuite/buildok/thirtyone.stp: Likewise.
* testsuite/buildok/twentyeight.stp: log absolute.
* testsuite/buildok/twentyfour.stp: Add -w.
* testsuite/buildok/udp-all-probes.stp: Likewise.
* testsuite/buildok/vfs-all-probes.stp: Likewise.
|
|
|
|
|
| |
* .mailmap: Normalize David (J.) Wilder.
* AUTHORS: Rebuild, also adding Charley Wang & Roland Grunberg.
|