Explore mechanisms for observing and debugging distributed systems in this comprehensive conference talk. Learn how to evolve an existing codebase lacking observability over time, focusing on distributed tracing tools that track transactions spanning multiple services and execution contexts. Discover the differences between tracing, logging, and monitoring, and gain insights into instrumenting applications to emit trace data, collecting and storing it, and visualizing transactions. Understand the benefits for developers, DevOps, and businesses. Delve into popular open-source technologies like the CNCF OpenTracing project, Jaeger, Zipkin, and the Elastic APM OpenTracing bridge. Cover topics such as observability Venn diagrams, service level agreements, metrics examples, log visualization, transaction tracing, business questions, open standards, and various tracing tools including AWS X-ray. Conclude with a practical code example to reinforce the concepts presented.