Tracing polyglot systems: An OpenTracing tutorial
Priyanka Sharma and Yuri Shkuro demonstrate how distributed tracing works and how to employ it in the development and operations of your applications in the programming language of your choice: Java, Go, Python, Node.js, C#, or C++.
Talk Title | Tracing polyglot systems: An OpenTracing tutorial |
Speakers | Yuri Shkuro (Uber Technologies), Prithvi Raj (Uber), Won Jun Jang (Uber) |
Conference | Velocity |
Conf Tag | Build resilient systems at scale |
Location | New York, New York |
Date | September 20-22, 2016 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Modern applications have evolved from single-threaded monoliths to concurrent, asynchronous, distributed, polyglot microservices. Those who build them are beginning to understand the role and importance of distributed tracing. After all, it’s the most direct way to understand how and why complex systems misbehave, by visualizing transactions as they go through a system, crossing process boundaries. Every organization that’s adopted microservices at scale has had to deploy a distributed tracing solution—first with Dapper at Google, then with Zipkin at Twitter, and now with various open source and commercial tracing solutions at many other technology companies. As our industry migrates to microservice-based applications, distributed tracing will become the table stakes for visibility into production systems; thus, developers must learn how to integrate and deploy tracing technology effectively. Priyanka Sharma and Yuri Shkuro take you from zero to implementing useful traces with OpenTracing, in the programming language of your choice, walking you through visualizing the critical path for transactions with microservices, enabling debugging, latency monitoring, and overall performance gains. The goal throughout is to demystify distributed tracing and convey best practices through interactive lessons, placing a special focus on source code instrumentation and integration strategies, as historically those have been the most daunting aspect of distributed tracing for newcomers. Topics include: