Profile Applications in Production With Google Cloud Profiler
Description
In this lab, you will be profiling a Java Spring Application that you will create in a Compute Engine IDE. The application has a couple of APIs. One contains a long-running operation creating a performance bottleneck. There are a few Google Cloud Services that can help you to monitor the application performance. This lab is the second in a series of two that focuses on Cloud Profiler. You are encouraged to complete the lab on Cloud Trace before performing this lab.
Application performance should be regularly optimized to minimize latency issues. Users often find it difficult to monitor the performance or latency issues. Google Cloud provides a suite of tools to help you overcome application performance management issues. These tools provide insights on how your code performs and allows you to take defensive actions to fix any problems. You will investigate the following tools in the context of the sample Java application to understand how they work first-hand in a series of labs:
- Cloud Trace helps you analyze the latency of applications. It shows a summarised view of the APIs and the time taken to execute in near real-time.
- Cloud Profiler helps you analyze performance issues, CPU utilization, and memory usage. It helps your application to perform better by optimizing intensive function calls and code.
- Cloud Debugger (now deprecated) helps you debug your production code by loading the production code in Google Cloud. As a developer, there are certain times when you notice issues in production. To debug the issues without taking the application offline or disturbing the user latency, you can use Cloud Debugger.
Learning Objectives
Upon completion of this lab you will be able to:
- Use the Cloud Profiler Java agent to profile applications
- Monitor application hardware consumption with minimal overhead
Intended Audience
- Software developers
- QA engineers
- Anyone interested in debugging
- Monitoring teams
Prerequisites
You should possess:
- A basic understanding of Java
- A basic understanding of the Spring Boot framework is helpful but not required