Skip to main content

Profiling Rust applications with Parca

UB2.252A (Lameere) | Day 2 | 12:30 - 12:55 | Speakers: Brennan Vincent

Profiling Rust applications with Parca
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

This talk introduces Parca, a general-purpose CPU, GPU and memory profiler for Linux. The main unique feature of Parca is the fact that unwinding happens in an eBPF program, and so is low-overhead enough to be constantly running in production: it doesn't require building with frame pointers or copying large sections of the stack between memory spaces. The primary mode of visualization in the Parca UI is the flame graph.

Rust-specific features in Parca include:

(1) For those projects that use jemalloc, memory profiling via rust-jemalloc-pprof (2) "Custom labels" feature for associating arbitrary application-relevant tags with stack traces (for example: allowing the user to filter profiles by trace ID or any other value they choose to instrument).


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.