From 5ebf78ae32b73ad32b225ca76a5ce9ca1ea24788 Mon Sep 17 00:00:00 2001 From: not-matthias Date: Fri, 11 Sep 2026 22:49:55 -0400 Subject: [PATCH 1/2] feat(runner): wire CoreCLR symbolization for walltime .NET runs --- src/executor/wall_time/profiler/samply/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/executor/wall_time/profiler/samply/mod.rs b/src/executor/wall_time/profiler/samply/mod.rs index 3d77e7ad..ad3fa1dc 100644 --- a/src/executor/wall_time/profiler/samply/mod.rs +++ b/src/executor/wall_time/profiler/samply/mod.rs @@ -92,6 +92,8 @@ impl Profiler for SamplyProfiler { let samply_builder = InternalCommands::Samply(SamplyArgs { args: vec![ "record".into(), + // Enable Samply's CoreCLR support so managed JIT frames are symbolized. + "--coreclr=enabled".into(), "--presymbolicate".into(), "--no-open".into(), "--save-only".into(), From 12223582387e78dcb76b8d1dc58859bf60d018ae Mon Sep 17 00:00:00 2001 From: not-matthias Date: Sat, 12 Sep 2026 11:06:14 -0400 Subject: [PATCH 2/2] fix(samply): resolve CoreCLR jitdump symbols over memfd:doublemapper Bump samply-codspeed so timestamped jitdump mappings take precedence over the overlapping memfd:doublemapper mapping CoreCLR uses for W^X JIT code. Without this every managed frame in .NET walltime flamegraphs showed up as an unknown symbol. --- crates/samply-codspeed | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/samply-codspeed b/crates/samply-codspeed index a8ac4c91..8af2e700 160000 --- a/crates/samply-codspeed +++ b/crates/samply-codspeed @@ -1 +1 @@ -Subproject commit a8ac4c91c2278891c1457e907a69a66ed7909314 +Subproject commit 8af2e700ceac894e75b01ed93e88af89bae0cb87