Profiling CPU Usage in Go

October 28, 2016

Continuous Application Profiling in Production

Identifying CPU hots spots with line-of-code precision is critical when it comes to troubleshooting performance issues, identifying performance bottlenecks or improving response for a better customer experience.

Go’s pprof toolset has powerful tools for CPU profiling and visualizing different aspects of profiles. It is very useful in the development stage. However, profiling CPU usage in production environments has different requirements:

  • We need to be able to see CPU profiling information continuously to have a historical baseline for optimization or troubleshooting.
  • Production environments increasingly become container-based and automatically orchestrated, e.g. when using Kubernetes, which implies that it might not be easy to locate and connect to a production machine to initiate the profiler remotely.
  • If the application has crashed, we need information before the fact.

Using Instana’s AutoProfile™ for automatic CPU profiling

Instana’s always-on AutoProfile is designed for profiling and monitoring production environments. It completely automates the collection of CPU profiles.

If yo’re not already an Instana user, sign up for a free two week trial.

See the Instana Profiling documentation for detailed setup instructions.

After restarting/deploying the application, the profiles will be available in the Dashboard in a historically comparable form.

Production Go Profiling from Instana

Similar profile history is automatically available for:

Metrics from Go runtime are also available in the Dashboard.

Play with Instana’s APM Observability Sandbox

Announcement, Engineering, Product
Instana Adds Production Ruby Profiling In the latest Instana release (Instana Release 201), AutoProfile for Ruby is generally available. This allows teams developing and supporting Ruby based applications to continuously collect and...
|
Developer, Engineering, Product
One look at the Instana website lets you know that Instana is in the Observability (and APM) business — providing the nascent Enterprise Observability Platform, especially useful for Cloud-native and containerized microservices...
|
Profiling
There are multiple reasons why a program will consume more CPU resources than excepted. In the case of a high computational complexity of an algorithm, the amount of data it operates on...
|

Start your FREE TRIAL today!

Instana, an IBM company, provides an Enterprise Observability Platform with automated application monitoring capabilities to businesses operating complex, modern, cloud-native applications no matter where they reside – on-premises or in public and private clouds, including mobile devices or IBM Z.

Control hybrid modern applications with Instana’s AI-powered discovery of deep contextual dependencies inside hybrid applications. Instana also gives visibility into development pipelines to help enable closed-loop DevOps automation.

This provides actionable feedback needed for clients as they to optimize application performance, enable innovation and mitigate risk, helping Dev+Ops add value and efficiency to software delivery pipelines while meeting their service and business level objectives.

For further information, please visit instana.com.