NSMonitor displays the stream of CGEvents*, FSEvents, NSWorkspace and Distributed Notifications in real time.
It also builds a log of IORegistry changes, network usage, sockets and file usage and their corresponding applications**.
It attempts to be as verbose as possible while consuming minimal system resources.
The individual lists can be filtered/searched and turned on/off.
It is also possible to create a distributed notification with a NSString object and a userInfo NSDictionary.
*with the exception of kCGEventMouseMoved events
**only for files/sockets that have been in use for more than 30 seconds