TR-COSC 07/95Distributed systems, and systems with microkernel architectures, are becoming widely used. A consequence is that the processing required to perform a user request is often spread over many computers, many programs and many processes. To gain an understanding of the processing involved in carrying out a user request, and therefore of what contributes to user response times, it is important to capture information on the contributions of all processes that perform work as a result of the request. Existing monitors (for sequential, parallel and distributed systems) are not well suited to this task, as they provide information on either overall system activity, or on the entire execution of a single program. Here, we define a...