This document discusses using Zipkin and OpenTracing to trace microservices applications. It covers the foundations of tracing including spans, inter-process propagation, and active span management. It provides examples of using Zipkin and the PHP Zipkin support library to create spans with annotations and set parent/child relationships between spans. The document recommends instrumenting frameworks to generate traces and using features like KV stores and events to include useful trace data. It cautions against creating too many spans or including too many details in span names.