RO EN
Observability (4) — custom metrics and dashboards

Observability (4) — custom metrics and dashboards

Business metrics with System.Diagnostics.Metrics: Counter, Histogram, and ObservableGauge, dimensions with controlled cardinality, dashboards in Azure Workbooks, and alerts that catch incidents before users.

Citește mai mult
Observability (3) — distributed tracing with OpenTelemetry

Observability (3) — distributed tracing with OpenTelemetry

Trace the id that traverses services: OpenTelemetry in ASP.NET Core and Azure Functions Isolated Worker, exporting to Application Insights, context propagation through Service Bus, and custom spans with ActivitySource.

Citește mai mult
Observability (2) — structured logging with Serilog and Application Insights

Observability (2) — structured logging with Serilog and Application Insights

Serilog correctly configured for production: the Application Insights sink, enrichers for automatic context, levels per namespace, compact request logging, and the cost traps of excessive logging.

Citește mai mult
Observability (1) — logging, metrics and traces

Observability (1) — logging, metrics and traces

The three pillars of observability and the differences between them: logs answer "what happened," metrics answer "how often and how bad," traces answer "where it went through." When to use each and how they complement each other.

Citește mai mult
Cosmos DB patterns (5) — Emulator in CI/CD

Cosmos DB patterns (5) — Emulator in CI/CD

Real integration tests for Cosmos DB without a production account: Local emulator and in GitHub Actions as a service container, NUnit fixture with initialization, self-signed certificates, and timing traps.

Citește mai mult
Cosmos DB patterns (4) — optimistic concurrency with ETags

Cosmos DB patterns (4) — optimistic concurrency with ETags

Lost update: two processes read, modify, and save the same document — the last write overwrites the first. ETags and IfMatchEtag prevent the problem, with retry on PreconditionFailed and the Patch alternative for targeted operations.

Citește mai mult
Cosmos DB patterns (3) — multi-region writes

Cosmos DB patterns (3) — multi-region writes

When you need writes in multiple regions and what price you pay: consistency levels in a multi-region context, conflict resolution with Last-Writer-Wins and custom policies, plus configuring the .NET SDK.

Citește mai mult
Cosmos DB patterns (2) — Change Feed as a trigger for events

Cosmos DB patterns (2) — Change Feed as a trigger for events

Change Feed transforms the container into an event source: every insert and update becomes a trigger. Change Feed Processor in .NET, lease container, scaling across multiple instances, and practical cases.

Citește mai mult