Cargando…

Modern Distributed Tracing In .NET A Practical Guide to Observability and Performance Analysis for Microservices /

Instrument .NET apps using OpenTelemetry and explore logs and .NET diagnostic tools to debug, monitor, and analyze the performance of complex systems in the cloud Key Features Get a clear understanding of complex systems using .NET and OpenTelemetry Adopt a systematic approach toward performance ana...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Molkova, Liudmila
Otros Autores: Kanzhelev, Sergey
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, Limited, 2023.
Edición:1st edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credit
  • Dedicated
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Introducing Distributed Tracing
  • Chapter 1: Observability Needs of Modern Applications
  • Understanding why logs and counters are not enough
  • Logs
  • Events
  • Metrics and counters
  • What's missing?
  • Introducing distributed tracing
  • Span
  • Tracing
  • building blocks
  • Reviewing context propagation
  • In-process propagation
  • Out-of-process propagation
  • Ensuring consistency and structure
  • Building application topology
  • Resource attributes
  • Performance analysis overview
  • The baseline
  • Investigating performance issues
  • Summary
  • Questions
  • Further reading
  • Chapter 2: Native Monitoring in .NET
  • Technical requirements
  • Building a sample application
  • Log correlation
  • On-demand logging with dotnet-monitor
  • Monitoring with runtime counters
  • Enabling auto-collection with OpenTelemetry
  • Installing and configuring OpenTelemetry
  • Exploring auto-generated telemetry
  • Debugging
  • Performance
  • Summary
  • Questions
  • Chapter 3: The .NET Observability Ecosystem
  • Technical requirements
  • Configuring cloud storage
  • Using instrumentations for popular libraries
  • Instrumenting application
  • Leveraging infrastructure
  • Configuring secrets
  • Configuring observability on Dapr
  • Tracing
  • Metrics
  • Instrumenting serverless environments
  • AWS Lambda
  • Azure Functions
  • Summary
  • Questions
  • Chapter 4: Low-Level Performance Analysis with Diagnostic Tools
  • Technical requirements
  • Investigating common performance problems
  • Memory leaks
  • Thread pool starvation
  • Profiling
  • Inefficient code
  • Debugging locks
  • Using diagnostics tools in production
  • Continuous profiling
  • The dotnet-monitor tool
  • Summary
  • Questions
  • Part 2: Instrumenting .NET Applications
  • Chapter 5: Configuration and Control Plane
  • Technical requirements
  • Controlling costs with sampling
  • Head-based sampling
  • Tail-based sampling
  • Enriching and filtering telemetry
  • Span processors
  • Customizing instrumentations
  • Resources
  • Metrics
  • Customizing context propagation
  • Processing a pipeline with the OpenTelemetry Collector
  • Summary
  • Questions
  • Chapter 6: Tracing Your Code
  • Technical requirements
  • Tracing with System.Diagnostics or the OpenTelemetry API shim
  • Tracing with System.Diagnostics
  • Tracing with the OpenTelemetry API shim
  • Using ambient context
  • Recording events
  • When to use events
  • The ActivityEvent API
  • Correlating spans with links
  • Using links
  • Testing your instrumentation
  • Intercepting activities
  • Filtering relevant activities
  • Summary
  • Questions
  • Chapter 7: Adding Custom Metrics
  • Technical requirements
  • Metrics in .NET
  • past and present
  • Cardinality
  • When to use metrics
  • Reporting metrics
  • Using counters
  • The Counter class
  • The UpDownCounter class
  • The ObservableCounter class