Pivot Tracing [2] is another fascinating project from Brown University that won the Best Paper Award at SOSP 2015 (Symposium on Operating Systems Principles). It provides dynamic causal monitoring for distributed systems by allowing users to define, at runtime, arbitrary measurements at one point in the system, and then select, filter, and group these measurements by events in another part of the system for reporting.
We saw a very rudimentary example of this in the HotROD example in Chapter 2, Take Tracing for a HotROD Ride, when we measured the time spent on calculating the shortest route in a downstream service and attributed it to the customer ID defined much higher in the call graph. Pivot Tracing takes it to a whole new level by:
The paper discussed the evaluation of this query:
FROM bytesRead IN DataNodeMetrics.incrBytesRead JOIN client...