Back to Search Start Over

Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems.

Authors :
Mace, Jonathan
Roelke, Ryan
Fonseca, Rodrigo
Source :
Communications of the ACM. Mar2020, Vol. 63 Issue 3, p94-102. 9p. 3 Diagrams, 4 Charts, 2 Graphs.
Publication Year :
2020

Abstract

Monitoring and troubleshooting distributed systems are notoriously difficult; potential problems are complex, varied, and unpredictable. The monitoring and diagnosis tools commonly used today—logs, counters, and metrics—have two important limitations: what gets recorded is defined a priori, and the information is recorded in a component- or machine-centric way, making it extremely hard to correlate events that cross these boundaries. This paper presents Pivot Tracing, a monitoring framework for distributed systems that addresses both limitations by combining dynamic instrumentation with a novel relational operator: the happened-before join. Pivot Tracing gives users, at runtime, the ability to define arbitrary metrics at one point of the system, while being able to select, filter, and group by events meaningful at other parts of the system, even when crossing component or machine boundaries. Pivot Tracing does not correlate cross-component events using expensive global aggregations, nor does it perform offline analysis. Instead, Pivot Tracing directly correlates events as they happen by piggybacking metadata alongside requests as they execute. This gives Pivot Tracing low runtime overhead—less than 1% for many cross-component monitoring queries. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
00010782
Volume :
63
Issue :
3
Database :
Academic Search Index
Journal :
Communications of the ACM
Publication Type :
Periodical
Accession number :
141926857
Full Text :
https://doi.org/10.1145/3378933