Book Image

Modern Distributed Tracing in .NET

By : Liudmila Molkova
Book Image

Modern Distributed Tracing in .NET

By: Liudmila Molkova

Overview of this book

As distributed systems become more complex and dynamic, their observability needs to grow to aid the development of holistic solutions for performance or usage analysis and debugging. Distributed tracing brings structure, correlation, causation, and consistency to your telemetry, thus allowing you to answer arbitrary questions about your system and creating a foundation for observability vendors to build visualizations and analytics. Modern Distributed Tracing in .NET is your comprehensive guide to observability that focuses on tracing and performance analysis using a combination of telemetry signals and diagnostic tools. You'll begin by learning how to instrument your apps automatically as well as manually in a vendor-neutral way. Next, you’ll explore how to produce useful traces and metrics for typical cloud patterns and get insights into your system and investigate functional, configurational, and performance issues. The book is filled with instrumentation examples that help you grasp how to enrich auto-generated telemetry or produce your own to get the level of detail your system needs, along with controlling your costs with sampling, aggregation, and verbosity. By the end of this book, you'll be ready to adopt and leverage tracing and other observability signals and tools and tailor them to your needs as your system evolves.
Table of Contents (23 chapters)
1
Part 1: Introducing Distributed Tracing
6
Part 2: Instrumenting .NET Applications
11
Part 3: Observability for Common Cloud Scenarios
16
Part 4: Implementing Distributed Tracing in Your Organization

Summary

In this chapter, we discussed suggestions and recommendations for telemetry collection. To describe some scenario or operation, we usually need multiple signals: tracing enables correlation and causation, logs provide additional information not covered by traces, events collect usage information, and metrics optimize instrumentations, queries, and alerts.

Depending on your application’s needs and stability, you can control costs by tuning the sampling rate on tracing and using metrics for performance data and events for usage reports.

OpenTelemetry semantic conventions provide instrumentation recipes for common technologies and concepts. By following them, you can create high-quality instrumentations with good defaults that you can tune to your needs. Observability backends can provide their best experiences to help you visualize, detect anomalies, and perform other semi-automated analyses. For proprietary technologies or application-specific instrumentation, where...