With over 3.5 years of development time and over 16 rounds of refactoring and enhancement, my tool dwatch for DTrace has reached maturity and is quickly becoming the new hip tool for all your monitoring tasks. I would like to show you how to do everything from watching the system process scheduler in realtime to filtering out filesystem events. Here’s a short list of some of the things dwatch can do with a single easy-to-remember command syntax:
- Watch processes entering system CPU scheduler
- Print arguments being passed to functions
- Easily watch multiple probes (e.g., functions) simultaneously
- Globally watch all function traversal from every process/thread
- Filter output by user or group, including the ability to use regex
- Watch jails (FreeBSD native containers)
- Use patterns or regular expressions to match on executable name(s)
- Easily list/find probes of interest
- Run statistics on probe availability for measuring observability options
- Look for a particular path being created, removed, accessed, etc.
- Watch interprocess communication signaling
- Log network data events
- Schedule timed samplings for events of interest
- Filter on process id, including ability to use regex
- Dump process trees for processes triggering a probe
- Watch child processes
- Show commands being executed in realtime
- Write modules to centralize logic into easy-to-access profiles
- Share modules with each other and help your community
- More …
With dwatch, using DTrace has never been so fun and certainly easier than ever before.