This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SystemTap release 0.9.9


The SystemTap team proudly announces release 0.9.9.

  faster script compilation, improved userspace probing, support for new
  DWARF_OPs, self-monitoring markers, enhanced variable access, new SNMP
  tapset, new dentry tapset, bug fixes, and more!

= Where to get it

  http://sourceware.org/systemtap/ - our project page
  http://sourceware.org/systemtap/ftp/releases/systemtap-0.9.9.tar.gz
  http://koji.fedoraproject.org/koji/packageinfo?packageID=615
  git tag release-0.9.9 (commit 1e9b189f)

= How to build it

  See the README and NEWS files at
  http://sourceware.org/git/?p=systemtap.git;a=tree
  Further information at http://sourceware.org/systemtap/wiki/

= SystemTap frontend (stap) changes

- Translation pass 2 is significantly faster by avoiding unnecessary
  searching through a kernel build/module directory tree.

- SystemTap now has userspace markers in its own binaries, and the stap
  tapset provides the available probepoints and local variables.

- Systemwide kernel .function.return (kretprobe) maxactive defaults may
  be overridden with the -DKRETACTIVE=nnn parameter.

- When compiled against elfutils 0.142 systemtap now handles the new
  DW_OP_call_frame_CFA generated by by GCC.

- Dwarf probes now show parameters and local variables in the verbose
  listing mode (-L).

- User space PROBE marks are not always found with or without separate
  debuginfo. The .probes section itself is now always put in the main
  elf file and marked as allocated. When when building pic code the
  section is marked writable.  fixes the selinux memory check problems
  seen with programs using STAP_PROBES.

- The stapgraph application can generate graphs of data and events
  emitted by systemtap scripts in real time.  Run "stapgraph
  testsuite/systemtap.examples/general/grapher.stp" for an example of
  graphing the system load average and keyboard events.

= SystemTap script language changes

- The syntax for dereferencing $target variables and @cast() gained new
  capabilities:
  - Array indexes can now be arbitrary numeric expressions.
  - Array subscripts are now supported on pointer types.
  - An '&' operator before a @cast or $target returns the address of the
    final component, especially useful for nested structures.

= SystemTap tapset changes

- statement() probes can now override "address not at start of statement"
  errors in guru mode. They also provide alternative addresses to use
  in non-guru mode.

- Symbol aliases are now resolved to their canonical dwarf names.  For
  example, probing "malloc" in libc resolves to "__libc_malloc".

- For reading all probe variables, kernel.mark now supports $$vars and
  $$parms, and process.syscall now supports $$vars.

- The SNMP tapset provides probes and functions for many network
  statistics.  See stapprobes.snmp(3stap) for more details.

- The dentry tapset provides functions to map kernel VFS directory entries
  to file or full path names: d_path(), d_name() and reverse_path_walk().

- uprobes and ustack() are more robust when used on applications that
  depend on prelinked/separate debuginfo shared libraries.

- Miscellaneous new tapset functions:
  - pgrp() returns the process group ID of the current process
  - str_replace() performs string replacement

= New script examples

- locks/bkl.stp            Tracing contention on Big Kernel Lock
- locks/bkl_stats.stp      Per-process statistics on Big Kernel Lock
- memory/numa_faults.stp   Summarize process misses across NUMA nodes
- network/autofs4.stp      Watch autofs4 operations
- network/sk_stream_wait_memory.stp  Watch for filled network buffers
- network/tcpipstat.stp    Display network statistics for TCP sockets
- process/chng_cpu.stp     Monitor changes in processor executing a task
- process/forktracker.stp  Trace creation of processes
- process/migrate.stp      Track the migration of specific executables

= Code contributors for this release

  Dave Brolley, David J. Wilder, David Smith, Don Domingo, Eugeniy
  Meshcheryakov, Frank Ch. Eigler, Jeff Moyer, Josh Stone, Kent
  Sebastian, Mark Wielaard, Masami Hiramatsu, PrzemysÅaw PaweÅczyk,
  Robb Romans, Roland McGrath, Stan Cox, Tim Moore, Varun Chandramohan,
  Wenji Huang, William Cohen

= Examples of tested kernel versions

  2.6.18 (el5/ia64/i686/x86_64)
  2.6.27.25 (f10/i686/x86_64)
  2.6.29.5 (f11/i686/x86_64)
  2.6.31 (i686/x86_64)

= Known issues with this release

  Some kernel crashes continue to be reported when a script probes broad
  kernel function wildcards.

= Bugs fixed for this release

   2049 revise $target->subfield syntax
   3498 speed up pass-2/3 via elfutils report_..._offline predicate
   4166 Should support array-like indexing on $pointer variables
   5930 need construct for $context variable address
   9908 uprobes-free user-space markers
  10075 emit more error message details in probe registration logic
  10182 systemtap.spec should clean up old leftover runtime/uprobes/
  10185 stap uprobe script on rawhide causes system crash
  10258 procfs probes should not put strings on kernel stack
  10273 uprobes fail to insert on prelinked library
  10274 exelib optimized builds don't work
  10277 some utf-8 chars (in script path names etc.) not escaped
  10279 allow general override of kretprobe maxactive
  10285 user space PROBE marks aren't found with separate debuginfo
  10298 bring back NULL
  10305 mark probes fail on prelinked shared library
  10307 beginning of statement check should be overridden in guru mode
  10308 beginning of statement check should provide alternatives
  10313 Build error due to a deprecation in elfutils
  10323 some ustack exelib.exp tests fail with prelinked shared libs
  10327 follow symbol aliases for debuginfo search
  10329 fix sdt.h license
  10335 systemtap.base/strftime.exp hangs
  10348 Compilation failure with gcc snapshot: switch jumps over init
  10381 sdt.h macros create relocatable addresses in non-writable sect.
  10386 itrace tests fail on 2.6.31-rc2 unknown symbol find_task_by_vpid
  10388 Support DW_OP_call_frame_cfa
  10398 DW_OP_call_frame CFA support doesn't work for prelink so's
  10399 dtrace should obey prefix install path
  10410 Add jmoyer's autofs4 / dentry scripts
  10421 task.stp pid2task tapset function fails on 2.6.31-0.67.rc2
  10424 All tracepoints are unusable if any one header is bad
  10427 Multiple tracepoint OKs!
  10453 crash testcase always fail because testlog.stp has been removed
  10458 uaddr() returns one past current instruction for uprobes
  10459 -w should squelch all warnings
  10475 pointer-array confused about array element size

= Test results on various systems

  After running "sudo make installcheck" from the test suite, on a
  suitably equipped machine (kernel debugging data and other stuff
  installed), you should see 1100-1200 passes and a small handful of
  failures.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]