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...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | |
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