Operations | Monitoring | ITSM | DevOps | Cloud

Profiling Java apps: breaking things to prove it works

Coroot already does eBPF-based CPU profiling for Java. It catches CPU hotspots well, but that's all it can do. Every time we looked at a GC pressure issue or a latency spike caused by lock contention, we could see something was wrong but not what. We wanted memory allocation and lock contention profiling. So we decided to add async-profiler support to coroot-node-agent. The goal: memory allocation and lock contention profiles for any HotSpot JVM, with zero code changes. Here's how we got there.

Continuous profiling in production: A real-world example to measure benefits and costs

Continuous profiling offers deep visibility into production environments, revealing exactly how applications consume CPU and memory. It’s the go-to observability practice for directly connecting system behavior and performance to specific lines of code. But when teams consider deploying continuous profiling more broadly, a common question comes up: what’s the overhead? Is it safe to run continuous profiling on my production services 24/7, or does the cost outweigh the benefits?

Continuous Profiling Explained: Master Performance in Production

Backend systems rarely fail in obvious ways. More often, they degrade over time. CPU usage slowly increases, request latency creeps up, and costs rise without a clear explanation. Metrics tell you something is wrong, traces show where requests go, but neither explains why your code behaves the way it does under real load. Continuous profiling fills that gap. Atatus continuous profiling runs automatically in production with minimal overhead.

Python memory profiling: Common pitfalls and how to avoid them

Continuous profiling has established itself as core observability practice, so much so that we’ve referred to it as the fourth pillar of observability. But despite the capabilities and growing adoption of continuous profiling, it can still be confusing to approach profiling as a newcomer and correctly apply it to different troubleshooting scenarios.

How continuous profiling cut our cloud spend

At Coralogix, we’re constantly looking to evolve the measurements we take to better understand the efficiency of our infrastructure. We constantly assess and investigate sources of cost in our cloud infrastructure, to ensure we’re getting the best return on investment. This activity, often referred to as FinOps, is becoming a cornerstone of engineering teams.

Grafana Pyroscope: New eBPF profiler in Alloy & Source Code Integration (Community Call August 2025)

Christian is going to talk about the new eBPF profiler in Grafana Alloy as well as new Grafana Pyroscope Source Code Integration UI updates. Have questions? Please bring them! Can't comment in the chat? You may need to create a channel. Grafana Cloud is the easiest way to get started with Grafana dashboards, metrics, logs, and traces. Our forever-free tier includes access to 10k metrics, 50GB logs, 50GB traces and more.

Why continuous profiling is the fourth pillar of observability

Developers have long used profilers to diagnose performance bottlenecks and improve the efficiency of their code. But a modern version of profiling, continuous profiling, is quietly redefining what profiling is and what it can do. By running nonstop in production with very low overhead, continuous profilers give teams always-on visibility into how their code behaves in the real world.

Introducing Coralogix Continuous Profiling

Debug faster, improve application performance, and lower your cloud costs - without slowing down production. Traditional profiling solutions come with a heavy price—added latency, excessive resource consumption, and performance degradation. At, we’re changing the game with Continuous Profiling, the first of its kind to offer real-time, kernel-level visibility into application performance without any code changes or production impact.

Making profiling visualizations accessible to engineers at all levels

Modern code profilers gather performance data that is highly useful for developers, but the traditional presentation of that data can be challenging to interpret for engineers who are new to profiling. For the Continuous Profiler team at Datadog, our guiding mission is to make profiling a standard practice for all developers by flattening its learning curve and helping teams quickly gain insights into application performance.