Krisna Ihsani

Jun 5, 2021

5 min read

Profiling your Go Web App

By doing profiling, we can measure how good or how bad our application is based on the non-functional aspects such as performance and memory usage.

Introduction

Project Manager: Functionality?

Lead Developer: check

Product Manager: Suitability with the requirements?

Lead Developer: check

Product Manager: cool, now it's time to deploy the app to the play store.

A few moments later

Product Manager: Oh gosh, our app rating too low. To make it worse, many of our customers complain that our app is too bloated. Can you find the root cause of this?

Lead Developer: Ok lemme profile the app first.

Lead Developer: Hmm…it seems like there are so many redundant SQL queries that made our apps slow. I think we need to refactor this.

How Do We Do Profiling In Go(lang)?

go get -u github.com/codesenberg/bombardier
sudo apt install graphviz

Conclusion

References