Modern Distributed Tracing in .NET: A practical guide to observability and performance analysis for microservices - Softcover

Molkova, Liudmila

 
9781837636136: Modern Distributed Tracing in .NET: A practical guide to observability and performance analysis for microservices

Synopsis

Instrument .NET applications with distributed tracing and metrics using OpenTelemetry and go even deeper with logs and .NET diagnostics tools to debug, monitor, and analyze the performance of complex systems in the cloud

Key Features

  • Gain visibility into complex systems using .NET and OpenTelemetry
  • Use a systematic approach for performance analysis and debugging
  • Explore instrumentation techniques for common distributed patterns

Book Description

As distributed systems become more complex and dynamic, their observability needs grow to require holistic solutions for performance or usage analysis and debugging. Distributed tracing brings structure, correlation, causation, and consistency to your telemetry, allowing 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 with a focus on tracing and performance analysis using a combination of telemetry signals and diagnostic tools. You'll learn how to instrument your applications automatically and manually in a vendor-neutral way. We’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.

Through instrumentation examples, you'll learn how to enrich auto-generated telemetry or produce your own to get the level of detail your system needs and control 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.

What you will learn

  • Learn core concepts of distributed tracing and observability
  • Auto-instrument .NET applications with OpenTelemetry
  • Manually instrument common scenarios with traces and metrics
  • Systematically debug issues and analyze the performance
  • Keep performance overhead and telemetry volume under control
  • Adopt and evolve observability in your organization

Who This Book Is For

This book is for software developers, architects, and system operators running .NET services who want to use modern observability tools and standards along with a holistic approach to performance analysis and end-to-end debugging. Software testers and support engineers would also find it useful. Basic knowledge of C# programming language and .NET platform is assumed to read examples of manual instrumentation but is not essential.

Table of Contents

  1. Observability Needs of Modern Applications
  2. Native Monitoring in .NET
  3. The .NET Observability Ecosystem
  4. Low-Level Performance Analysis with Diagnostic Tools
  5. Control plane and configuration
  6. Tracing your code
  7. Adding custom metrics
  8. Writing structured and correlated logs
  9. Best practices
  10. Network calls
  11. Messaging and streaming
  12. Databases and caches
  13. Web clients
  14. Driving the change
  15. Creating standards within your company
  16. Instrumenting brownfield applications

"synopsis" may belong to another edition of this title.

About the Author

Liudmila Malkova is a principal software engineer working on observability at Microsoft. She is a co-author of the distributed tracing in .NET and tracing implementation in Azure Functions and Application Insights SDK features. She’s currently a tracing and observability architect on Azure SDKs and an active contributor to the OpenTelemetry semantic conventions and instrumentation working group. Liudmila’s love to observability started at Skype, where she got first-hand experience running complex systems at high scale and was fascinated by how much telemetry can reveal even to those deeply familiar with the code.

"About this title" may belong to another edition of this title.