Skip to content

dat58/ProfServe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

ProfServe is an HTTP-enabled profiling tool for Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages