A JVM agent library for production heap profiling with Google perftools-compatible output.
Heapster is a JVM agent library that performs heap profiling for Java applications, generating output compatible with Google perftools. It solves the problem of monitoring memory allocation in production environments by providing sampled profiling with minimal overhead. The tool helps developers identify memory-intensive code paths and potential memory leaks.
Java developers and DevOps engineers who need to profile memory usage in production JVM applications, especially those already using or familiar with Google perftools for performance analysis.
Developers choose Heapster because it offers production-ready heap profiling with compatibility to established tools like pprof, enabling integration into existing monitoring workflows without requiring significant changes to deployment or analysis processes.
production heap profiling for the JVM. compatible with google-perftools.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Designed for live production settings with minimal overhead, enabling safe memory profiling in operational environments without significant performance degradation.
Outputs heap profiles in a format compatible with pprof, allowing seamless integration with established performance analysis workflows and toolchains.
Sampling period can be adjusted via the HEAPSTER_SAMPLE_PERIOD environment variable (e.g., in bytes), providing flexibility to balance detail and performance impact.
When used with Twitter Server, it offers an HTTP endpoint for on-demand heap profiling, facilitating runtime monitoring without service interruption, as shown in the README example.
The README explicitly states 'This is still work in progress,' indicating potential instability, missing features, or future breaking changes that may affect production use.
Requires building and copying a native library (e.g., libheapster.dylib), which complicates deployment, especially in containerized or cross-platform environments.
Only provides heap allocation profiling, not CPU, thread, or other performance metrics, necessitating additional tools for comprehensive performance analysis.
The convenient HTTP endpoint for on-demand profiling is tied to Twitter Server, limiting its utility in applications using other web frameworks like Spring Boot or Micronaut.