.NET profiling without a Windows box

Capture on whatever your service runs on, upload the file, and get findings back.

Modern .NET runs on Linux in a container, and a good deal of the profiling advice still assumes a desktop IDE on Windows. flamelens takes the profile your cross-platform tooling produced and reports on it the same way it reports on a JFR recording.

Cross-platform capture, one report

Where you record it does not constrain where you read it.

  • Profiles captured on Linux containers
  • speedscope and folded-stack exports
  • No IDE and no desktop tooling needed to read the result

Managed and native time separated

A stack that crosses the runtime boundary is reported as one story.

  • Runtime frames distinguished from your assemblies
  • Library time attributed to the library

Ranked findings with fixes

The same report shape as every other runtime.

  • Worst-first list with the evidence attached
  • A concrete change per finding

Shareable output

PDF per report, retained history.

  • Attach it to the ticket that asked why it was slow

How to capture a .NET profile →

Frequently asked questions

Which .NET profile formats are supported?

The container formats the cross-platform tooling exports — speedscope JSON and folded stacks. If your tool can write either, flamelens can read it.

Do I need Visual Studio?

No. Capture with whatever runs where your service runs; the analysis happens on the uploaded file.

Is a speedscope file from .NET read differently from one from Python?

Yes, and this matters more than it sounds. speedscope is a container format, not a language — the same file extension can hold stacks from any runtime. flamelens detects which runtime produced the file, because a fix that makes sense for Python is nonsense for C#.

Upload a profile. Leave with a plan.

Free to start — 10MB recordings, full reports, no card.

Create a free account