How do you do this with disparate systems? For example a ruby application that handles and emits events concurrently with a python one.
For folks who aren't familiar with the concept - at the initiation of any action (user button click, timer firing, automated job starting, etc.) a new ID is created then passed to every single method and external call. This allows you to trace that action as it wends it's way through your distributed systems.