How to profile
Getting the recording is half the job — most teams never profile because the capture step feels arcane. It isn't. Each guide below shows the fastest way to a profile file from the command line and from your IDE, and what to do with it once you have it.
Java · JFR
Java Flight Recorder from the JVM flag, jcmd, IntelliJ IDEA, or VS
Code.
JavaScript · Node & Chrome
.cpuprofile from Node, WebStorm, VS Code, or Chrome DevTools'
profiler.
Python · py-spy
Sampling a live process with py-spy — no code changes — from any terminal, PyCharm, or VS Code.
C / C++ · perf
Folded stacks from perf, CLion, Instruments, or VTune — Rust and Go
binaries too.
C# / .NET · dotnet-trace
EventPipe sampling from the CLI, Rider, or Visual Studio — F# and VB.NET too.
Reading your report
What samples, leaf frames, GC share, and lock convoys mean — a worked example, and what to do about each finding.
Then what? Bring the file to the flamelens
terminal: auth <email> → verify <code> →
scan init, or upload on the analyze page,
where rule-based scans are free and unlimited — profile, fix, and rescan with
progress tracked between them. Every format above is analyzed, including full
Chrome DevTools traces.