Google Cloud Professional Cloud Developer — Question 175
You are monitoring a web application that is written in Go and deployed in Google Kubernetes Engine. You notice an increase in CPU and memory utilization. You need to determine which source code is consuming the most CPU and memory resources. What should you do?
Answer options
- A. Download, install, and start the Snapshot Debugger agent in your VM. Take debug snapshots of the functions that take the longest time. Review the call stack frame, and identify the local variables at that level in the stack.
- B. Import the Cloud Profiler package into your application, and initialize the Profiler agent. Review the generated flame graph in the Google Cloud console to identify time-intensive functions.
- C. Import OpenTelemetry and Trace export packages into your application, and create the trace provider. Review the latency data for your application on the Trace overview page, and identify where bottlenecks are occurring.
- D. Create a Cloud Logging query that gathers the web application's logs. Write a Python script that calculates the difference between the timestamps from the beginning and the end of the application's longest functions to identity time-intensive functions.
Correct answer: B
Explanation
The correct answer is B because the Cloud Profiler provides detailed insights into CPU and memory usage, allowing you to visualize performance bottlenecks through a flame graph. Option A focuses on debugging but does not provide a comprehensive overview of resource consumption. Option C is about tracing rather than profiling, which does not directly address CPU and memory usage. Option D relies on log analysis, which is less effective for pinpointing precise resource utilization compared to profiling tools.