1. A method of monitoring the performance of a multi-nodal computer system, comprising: instrumenting a set of system events to define a plurality of instrumented events, wherein the system events are related to the distribution of workload across each of the nodes of the multi-nodal computer system and wherein instrumenting comprises associating the system events with respective instrumentation routines which are invoked upon occurrence of the respective instrumented event; when an instrumented event, of the plurality of instrumented events, occurs over the course of executing a thread on the multi-nodal computer system, performing a respective instrumentation routine, wherein the instrumentation routine is configured to record data regarding the existing state of the multi-nodal computer system; and continuing to execute the thread after performing the instrumentation routine.