Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail Distributed Computing, Vol. 7 No. 3, pp. 149-174, 1994 The paper shows that characterizing the causal relationship between significant events is an important but non-trivial aspect for understanding the behavior of distributed programs. An introduction to the notion of causality and its relation to logical time is given; some fundamental results concerning the characterization of causality are presented. Recent work on the detection of causal relationships in distributed computations is surveyed. The relative merits and limitations of the different approaches are discussed, and their general feasibility is analyzed.