User:Sam/DTrace notes

From Gentoo Wiki
Jump to:navigation Jump to:search

Set of notes by & for sam to improve DTrace integration.

This work will benefit both DTrace but also other tracing tools like SystemTap and bpftrace.

DTrace itself

  • Possibly get gentoo-kernel default config changed (-> gentoo-kernel-bin will Just Work too)
    • Useful especially because our users often have interesting setups they want to debug, or need help from us to debug
  • Figure out remaining test failures sam had on amd64/glibc
  • Report odd build issue w/ -g

Userland

Broader issues

  • Figuring out USE name (tracing, systemtap, dtrace)? usdt?
  • Find packages with support that isn't wired up
  • Write some exemplar meson+autoconf snippets (maybe an autoconf-archive macro?)
  • Meson has some systemtap support, what for? does it need to learn dtrace?
  • Resolve conflict with dev-debug/systemtap for bug #938302
  • Relationship between sysprof vs dtrace/stap? Does it have any probe macro in common?
  • How many packages use stap-specific APIs?

State of packages

These packages have systemtap wired up.

Packages
Package Works Tested Notes
app-emulation/libguestfs ?? No Dropped upstream in newer releases: https://github.com/libguestfs/libguestfs/commit/b018b35bd478e2b2d5a4a3957ac0a9e7acfeb34b.
app-emulation/libvirt No No Almost has DTrace support in theory but unconditionally calls a dtrace2systemtap script
app-emulation/qemu ?? No
app-emulation/virtualbox ?? No
app-emulation/virtualbox-kvm ?? No
dev-db/mariadb ?? No
dev-db/mysql (5.x only) ?? No Removed upstream in >=8.0.
dev-java/openjdk ?? No
dev-lang/python Partial No

Probes need updating for >=3.11.

Links:

dev-lang/ruby ?? No
dev-libs/glib ?? No
dev-util/perf ?? No
gui-libs/neatvnc ?? No
gui-apps/waypipe ?? No
gui-apps/wayvnc ?? No
net-libs/nodejs ?? No
net-p2p/bitcoin-core ?? No
sys-auth/sssd ?? No
sys-devel/gcc ?? No
sys-libs/glibc ?? No

Other packages to be wired up

These packages don't have any sort of tracing wired up but upstream support exists (for dtrace or stap).

Upstream work needed

These packages don't have support but there's pending work on it, or need help restoring it.

Supports other solutions

These support e.g. lttng and might be open to extra probes.

External resources