Node.js teams can now see which functions use the most CPU and memory in production, without reproducing the problem locally. Atatus Continuous Profiling for Node.js samples your running services with low overhead, so it can stay on all the time.
Read the hottest code paths in an interactive flame graph, compare two time ranges to see what got slower after a deploy, and let Insights flag memory leaks and sudden spikes for you.
What Node.js profiling shows you
- CPU flame graphs: See CPU time across the whole call stack, with the most expensive functions drawn widest. Click a frame to zoom in.
- Heap profiling: See heap space and object allocations by function to find memory leaks and avoid out-of-memory crashes.
- Wall-time and timeline profiles: See where time goes in async operations and find code that blocks the event loop and slows every request behind it.
- Compare profiles: Put a baseline next to a comparison, such as before and after a deploy, and see which functions grew.
- Insights: Memory leaks, sudden spikes, resource exhaustion and long-running CPU trends are flagged for you, with the service and profile type for each.
- Simple setup: Require the Atatus profiling agent before the rest of your app and set your service name, environment and version. See the Node.js profiling docs.