Continuous, Low-Overhead Production Profiling

February 13, 2017

Post

Profiling tools are a critical part of application development and operations. Problems, such as memory leaks or high CPU load, may make applications, developed over the course of serval months, unusable in minutes. Problems like this are very hard to localize and fix without special tools, such as profilers.

The problem with on-demand profiling

Traditional profiling tools are associated with on-demand profiling and high overhead. They are mostly used during development stages and not in production. If used in production, which is very rare due to overhead consideration, they are normally attached to applications for short periods of time. This is a big problem for modern development practices and application architectures; for example, continuous delivery with frequent releases and microservice architectures. Containerized applications, are another obstacle, because they make it hard to actually locate and connect to a particular application process.

Applications execute differently in development and production environments due to differences in load, data and infrastructure. Ironically, many CPU load issues are associated with algorithm complexity, which correlates with the load and data. Similarly, memory leaks are associated with load along with the running time of the application, which are common in production environments.

Continuous and automatic production profiling

Because of the complexity of performance related problems, these problems are mostly unpredictable and only detectable when viewed in the context of historical application execution.

Instana’s production Go (Golang) profiler is designed for the modern technology stack. The key concepts behind it are:

  • Continuous profiling during the whole application lifecycle
  • Historical profile analysis
  • Profiling context for application change-related root cause identification
  • Integrated health and error monitoring
  • Production-appropriate low overhead

See documentation for more information.

Play with Instana’s APM Observability Sandbox

Announcement
As you may have already heard from us back in December 2019, Instana has acquired StackImpact. During the last few months, we were working hard integrating StackImpact’s continuous profiling functionality to Instana,...
|
Featured
Profiling is an essential part of application development, where optimizing performance and resource efficiency are important. It is also useful for troubleshooting performance and crash issues. Profilers provide details about code execution,...
|
Conceptual, Product, Thought Leadership
Java has been one of the most popular programing languages for well over a decade. Such prolific usage has created a need for robust Java monitoring tools that can run in production...
|

Start your FREE TRIAL today!

As the leading provider of Automatic Application Performance Monitoring (APM) solutions for microservices, Instana has developed the automatic monitoring and AI-based analysis DevOps needs to manage the performance of modern applications. Instana is the only APM solution that automatically discovers, maps and visualizes microservice applications without continuous additional engineering. Customers using Instana achieve operational excellence and deliver better software faster. Visit https://www.instana.com to learn more.