ASP.NET Core Interview Question #173

What is the difference between logging, metrics, and tracing?

Logging, Error Handling & Background Services Mid-Level Intermediate

Quick Interview Answer

Logs record discrete events and diagnostic details. Metrics are numerical measurements aggregated over time, such as request rate, error count, latency, memory usage, or queue depth. Traces follow the path and timing of an operation across components and services.

Detailed Explanation

Logs record discrete events and diagnostic details. Metrics are numerical measurements aggregated over time, such as request rate, error count, latency, memory usage, or queue depth. Traces follow the path and timing of an operation across components and services.

These three observability signals complement one another. Metrics can reveal that a problem exists, traces can show where time or failures occur, and logs can provide detailed event context.

A production observability strategy normally correlates these signals using consistent service, trace, request, and operation identifiers.

Code Example

// Logging
_logger.LogInformation(
    "Processed order {OrderId}", orderId);

// ASP.NET Core/.NET diagnostics can also integrate
// with metrics and distributed tracing systems.