Pyroscope is the future Normal
Pyroscope is an open-source tool from the Grafana house, for Continuous Profiling — which is exactly what it sounds like.
I’m an avid profiler and the process usually divides into 2:
- Local profiling — run your code locally with a profiler, and you can explore what’s taking your resources, line by line
- Production profiling — Connect to a Production process, generate a profiling dump, and then analyze locally
In both cases, what you get is a static dump of a single process, usually with a single resource in mind (CPU/Mem) — although there are tools that provide multiple resources.
Pyroscope swings differently — Live data, many processes, multiple resource types, zero overhead. It’s perfectly suited to large production systems.
They have a live demo to get a better picture:
It took me half an hour to get running on a production system and start getting insights into things we’d never even tried to profile. I managed to find a thread-safety bug by locating a function with crazy latency, which only occurred due to high load.
It’s obvious to me that this will be the new normal. Just like now, if you don’t have metrics — Grafana or otherwise — you’re being unprofessional, in five years time if you don’t have live profiling — that’ll be a red flag.
Get ahead of the game, try it today :D