| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* ALL: Use new runtime.h. Change init_module()
to probe_start() and don't do transport calls.
Remove MODULE_LICENSE and cleanup_module().
|
| |
|
|
|
|
|
|
| |
* shellsnoop/shellsnoop.c (init_module): Call _stp_transport_close()
if initialization fails.
(cleanup_module): Call _stp_transport_cleanup().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* transport.c: Rename pid to _stp_pid.
Rename t to _stp_tport.
(_stp_cleanup_and_exit): New internal function.
(stp_exit_helper): Call _stp_cleanup_and_exit().
(_stp_transport_cleanup): New function.
(_stp_cmd_handler): Remove handler for STP_TRANSPORT_MODE.
The transport now notifies the daemon of the transport.
(_stp_transport_close): No longer calls _stp_exit_helper().
That is done by _stp_transport_cleanup().
(_stp_transport_open): When done, call _stp_handle_transport()
to notify the daemon what our transport is.
(_stp_transport_send): Put a retry limit on sends.
* transport.h: Rename pid to _stp_pid.
(_stp_transport_cleanup): Add prototype.
|
|
|
|
|
|
| |
* print.c (_stp_print_flush): Rename "t" to "_stp_tport".
* io.c (_stp_vlog): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* librelay.c (sigchld): Signal handler to detect
completion of module loading.
(init_stp): Use fork/exec instead of system() so
we can get async signal of module load success/failure.
(cleanup_and_exit): New function.
(sigproc): If module is not loaded, don't send message to it.
(stp_main_loop): Call cleanup_and_exit() when STP_EXIT
is received. Don't send a request for the transport
mode. The module will send notification to the daemon
when it is ready.
* stpd.c (main): Don't print message until module
is loaded.
|
|
|
|
|
|
|
|
| |
* staptree.{h,cxx} (deep_copy_visitor): New visitor.
* elaborate.cxx
(derived_probe::derived_probe):
(alias_expansion_builder::build): Use it.
* testsuite/semok/fifteen.stp: New test which relies on deep copy.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (dist): Package up the source tree, including
testsuite and runtime.
* main.cxx: Use clog instead of cerr for logging messages.
* buildrun.cxx: Ditto.
(compile_pass): Add -Iruntime/user for test mode.
* translate.cxx (*): Commonalize test/real mode output.
* Makefile.in: Regenerated.
|
| |
|
|
|
|
|
|
|
|
|
| |
* elaborate.{h,cxx}: Revert previous changes.
* tapsets.{h,cxx}: Adapt to verbose as a member of session.
* elaborate.cxx (alias_expansion_builder::build): Avoid copying
locals between alias definition and use.
* testsuite/semok/{twelve,thirteen,fourteen}.stp: New tests.
* staptree.cxx (probe_alias::printsig): Print equals sign.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.h (systemtap_session): Add more command-line arguments.
* staptree.h (verbose): Bad global, no donut.
* elaborate.cxx: Temporarily disable verbose variable access.
* main.cxx: Support more arguments, build/run passes. Revamp
temporary file generation and partial-pass output generation.
* tapsets.cxx, translate.cxx: Emit just enough extra punctuation
and fluff to make generated probe pass -Werror.
* buildrun.cxx, buildrun.h: New files for passes 4/5. Partial
support for build pass, nothing on probe execution yet.
* testsuite/transok/*.stp: Force just -p3, now that -p4/5 exist.
* Makefile.am, Makefile.in: Corresponding changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.h (systemtap_session): Add more command-line arguments.
* staptree.h (verbose): Bad global, no donut.
* elaborate.cxx: Temporarily disable verbose variable access.
* main.cxx: Support more arguments, build/run passes. Revamp
temporary file generation and partial-pass output generation.
* tapsets.cxx, translate.cxx: Emit just enough extra punctuation
and fluff to make generated probe pass -Werror.
* buildrun.cxx, buildrun.h: New files for passes 4/5. Partial
support for build pass, nothing on probe execution yet.
* testsuite/transok/*.stp: Force just -p3, now that -p4/5 exist.
* Makefile.am, Makefile.in: Corresponding changes.
|
|
|
|
|
|
|
|
|
| |
* elaborate.h (symresolution_info::current_derived_probe): New field.
(symresolution_info::current_probe): Change type.
* elaborate.cxx (semantic_pass_symbols): Add passes for resolving
locals in pre-derivation base probes and pre-expansion aliases.
(symresolution_info::visit_symbol):
(symresolution_info::find_scalar): Update to match new field.
|
|
|
|
|
|
|
| |
* string.c (_stp_string_init): CAll stp_error() on bad
init.
* list.c (_stp_list_clear): Call _stp_warn().
|
|
|
|
|
|
|
|
| |
* Makefile.template (debug): New target.
* build: Support "debug" target.
* build_probe: Ditto.
|
|
|
|
|
|
|
|
|
| |
* probes.c: Convert all _stp_log() calls to either stp_warn() or
dbug().
* print.c: Comment out dbug()s.
* stat-common.c: Comment out dbug()s.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.c (_stp_map_new): Call _stp_error() on a bad map type.
Comment out dbug()s.
* map-stat.c (_stp_map_new_hstat_log): Call _stp_warn().
(_stp_map_new_hstat_linear): Ditto.
* map-int.c: Comment out dbug()s.
* map-str.c: Comment out dbug()s.
* map-keys.c: Use _stp_warn(). Comment out dbug()s.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* alloc.c (_stp_alloc): Call _stp_error().
(_stp_valloc): Ditto.
* io.c (_stp_warn): New function.
(_stp_exit): New function.
(_stp_error): New function.
(_stp_dbug): New function.
* runtime.h (dbug): Call _stp_dbug() if DEBUG is defined.
|
|
|
|
| |
* librelay.c: Removed the color coding of cpu output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* staptree.{h,cxx} (probe_alias): New structure.
* parse.{h,cxx} (parser::parse): Parse probes or probe aliases.
(parser::parse_probe): Likewise.
* tapsets.{h,cxx}:
(derived_probe_builder):
(match_key):
(match_node):
(alias_derived_probe): Move from here,
* elaborate.{h,cxx}: to here.
* elaborate.h (systemtap_session::pattern_root): New member.
(register_library_aliases): New function.
* tapsets.cxx: Build one dwarf_derived_probe per target address.
|
|
|
|
|
|
|
| |
* map-values.c (_stp_map_add_int64): Fix docs.
* map-str.c: Fix some docs
* map.c: Ditto.
* map.doc: Ditto.
|
|
|
|
|
|
| |
* current.c (_stp_ret_addr_r): New function.
(_stp_probe_addr): New function.
(_stp_probe_addr_r): New function.
|
| |
|
| |
|
|
|
|
| |
* bench/bench_ret.c (inst_sys_write_ret): Fix prototype.
|
| |
|
|
|
|
| |
* bench: New probe to do benchmarks.
|
|
|
|
|
|
|
|
|
| |
* librelay.c (merge_output): Use unlocked stdio
to improve speed.
* stp_merge.c: New file.
* Makefile: Add stp_merge.
|
|
|
|
|
|
|
|
| |
* stpd.c (main): Add new command line arg, "-m"
to disable the per-cpu merging.
* librelay.c (merge_output): Replacement for sort_output().
Efficiently merges per-cpu streams.
|
| |
|
|
|
|
|
|
|
| |
* Doxyfile (PREDEFINED): Added USE_RET_PROBES.
* probes.c (_stp_register_kretprobes): New function.
(_stp_unregister_kretprobes): New function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx
(probe_type): New enum.
(probe_spec): New struct.
(dwarf_derived_probe): Reorganize a bit, interpret .return.
(query_statement): Translate addresses back to module space.
(probe_entry_function_name):
(probe_entry_struct_kprobe_name):
(foreach_dwarf_probe_entry):
(declare_dwarf_kernel_entry):
(deregister_dwarf_kernel_entry):
(register_dwarf_kernel_entry):
(register_dwarf_module):
(declare_dwarf_module_entry):
(deregister_dwarf_module_entry):
(register_dwarf_module_entry): New functions.
(dwarf_derived_probes::emit_probe_entries):
(dwarf_derived_probes::emit_registrations):
(dwarf_derived_probes::emit_deregistrations): Implement.
|
|
|
|
| |
* all probes: MOdified to use latest changes to transport.h.
|
|
|
|
|
| |
* transport.h: Move all the transport open stuff here
and provide a convenient macro.
|
|
|
|
|
| |
* control.c: Replace macro DEFINE_SPINLOCK because
some kernels don't have it.
|
|
|
|
|
| |
* runtime.h: Include config.h first then redefine CONFIG_SMP
and NR_CPUS.
|
| |
|
| |
|
|
|
|
|
| |
* build_probe (build): Add relay_flush and relay_switch_subbuf to the
list of undefines to ignore.
|
|
|
|
|
| |
* config.in, configure: Regenerated.
* tapsets.cxx: Make dwarf code conditional on new elfutils header.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Scan for libdwfl.
* staptree.h (verbose): New global.
* main.cxx (usage, main): Implement -v option.
* tapsets.cxx (dwflpp): New struct.
(query_statement): New function.
(query_function): New function.
(query_cu): New function.
(query_module): New function.
(dwarf_derived_probe): Implement primary forms.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* counter.c: New file. Counter aggregations.
* stat.c: New file. Stat aggregations.
* stat.h: Header file for stats.
* map-int.c: New file. Support for int64 values.
* map-stat.c: New file. Support for stat values.
* map-str.c: New file. Support for string values.
* map-values.c: Now just includes the necessary map-*.c files.
* stat-common.c: New file. Stats stuff common to Stats and maps
containing stats.
* Doxyfile: Bumped version to 0.6.
* README: Renamed README.doc and reorganized.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* build: Modified to use build_probe.
* build_probe: New file. This does the work of building
a single probe or set of probes in a directory.
* Makefile.template: New file. Template used by
build_probe to create Makefiles.
* agg: New set of probes to test/demonstrate
Counter and Stat aggregations.
* all probes modified for latest changes and new build
process.
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.h: New file.
(derived_probe_builder): Callback for making derived probes.
(match_key): Component of pattern-matching tree.
(match_node): Other component of pattern-matching tree.
* tapsets.cxx: Add pattern-matching system for probes.
(alias_derived_probe): Skeleton for alias probes.
(dwarf_derived_probe): Skeleton for dwarf probes.
(register_standard_tapsets): Registry for standard tapsets.
|
| |
|