1 unstable release

new 0.1.0 May 2, 2025

#210 in Profiling

Download history 49/week @ 2025-04-26

52 downloads per month

Apache-2.0

10KB
151 lines

ProfServe - HTTP-Enabled Profiling for Rust

Documentation Crates.io License Download

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