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?
- ASynthetic Monitoring
- BDistributed Tracing
- CBlack-box Monitoring
- DProfiling
Show answer & explanationAnswer & 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.