1 unstable release
new 0.1.0 | May 2, 2025 |
---|
#210 in Profiling
52 downloads per month
10KB
151 lines
ProfServe - HTTP-Enabled Profiling for Rust
ProfServe is a Rust crate that provides HTTP endpoints for performance profiling, built on top of pprof-rs
. It enables remote profiling capabilities for your Rust applications with flamegraph generation and pprof data export.
Features
- 🚀 HTTP API for remote profiling
- 🔥 Flamegraph generation in SVG format
- 🔒 Async-ready for modern Rust applications
Quick Start
Installation
Add to your Cargo.toml
:
[dependencies]
profserve = "0.1"
Basic Usage
fn main() {
std::thread::spawn(|| profserve::http::serve(8080).expect("Failed to start profserve"));
// your code goes here
}
Making Requests
Get a 10-second profile as flamegraph:
curl -s "http://localhost:8080/prof/cpu?seconds=10&frequency=100&output=flamegraph" > profile.svg
Get raw text pprof data:
curl -s "http://localhost:8080/prof/cpu?seconds=10&output=text" > profile.txt
API Endpoints
Endpoint | Method | Parameters | Description |
---|---|---|---|
/prof/cpu |
GET | seconds , output , frequency |
Capture profile |
Dependencies
~25–39MB
~709K SLoC