Kubernetes and Cloud Native Associate (KCNA)Cloud Native ObservabilityHard

A team is investigating an incident where a microservice intermittently fails to respond. They have logs and metrics, but they need to understand the sequence of operations within the service's code during a failing request, specifically which internal functions were called and how long each took. Which advanced observability technique would provide this granular, in-code visibility?

  1. ASynthetic Monitoring
  2. BDistributed Tracing
  3. CBlack-box Monitoring
  4. DProfiling
Show answer & explanation

Correct answer: D. Profiling

Profiling offers the most granular insight into the execution of code, showing which functions or methods are consuming CPU, memory, or I/O resources and for how long. While tracing shows service-to-service calls, profiling dives deeper into the internal workings of a single service's code.

Why the other options are wrong

  • A. Synthetic monitoring simulates user transactions but doesn't provide in-code details.
  • B. Distributed tracing shows service-to-service calls but typically not function-level detail within a single service.
  • C. Black-box monitoring observes external behavior without insight into internals.

Profiling (Observability)

An observability technique that analyzes the execution characteristics of a program, such as CPU usage, memory allocation, and function call times, to identify performance bottlenecks.

  • Provides granular, in-code visibility.
  • Helps identify exact functions or lines of code causing issues.
  • Often used in conjunction with other observability pillars.

Memory trick: Profiling provides a deep dive into your Code's Performance.

More Cloud Native Observability questions