-
criterion
Statistics-driven micro-benchmarking library
-
profiling
very thin abstraction over other profiler crates
-
inferno
port of the FlameGraph performance profiling tool suite
-
puffin
instrumentation profiler for games
-
dhat
heap profiling and ad hoc profiling with DHAT
-
tracing-chrome
Layer for tracing-subscriber that outputs Chrome-style traces
-
iai-callgrind
High-precision and consistent benchmarking framework/harness for Rust
-
brunch
micro-benchmark runner
-
oha
Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation
-
jaq-std
Standard library for jaq
-
measure_time
Provices macros to measure the time until end of scope
-
usdt
Dust your Rust with USDT probes
-
divan
Statistically-comfy benchmarking library
-
dogstatsd
client for Rust
-
pyroscope
Profiler Agent for continuous profiling of Rust, Python and Ruby applications
-
countme
Counts the number of live instances of types
-
perf-event
interface to Linux performance monitoring
-
puffin_http
TCP server/client for puffin profiler data
-
tracing-flame
Tracing layer for creating flamegraphs from span timings
-
tracy-client
High level bindings to the client libraries for the Tracy profiler
-
counts
command line tool for ad hoc profiling
-
codspeed-criterion-compat
Criterion.rs compatibility layer for CodSpeed
-
metered
Fast, ergonomic metrics for Rust!
-
goku-bench
Goku is an HTTP load testing application written in Rust
-
boa_profiler
Profiler for the Boa JavaScript engine
-
benchmarking
can be used to execute something and measure the execution time. It does not output anything to screens and filesystems.
-
tiny-bench
tiny benchmarking library
-
measureme
Support crate for rustc's self-profiling feature
-
nvbit-rs
Idiomatic library for using the NVIDIA NVBIT binary instrumentation library
-
memory-stats
cross-platform memory profiler for Rust
-
easybench
lightweight benchmarking library
-
inquisitor
fast load testing tool
-
big-o-test
Enforces a maximum
space
andtime
Algorithm Complexity when testing -
linux-perf-data
parser for the perf.data format and the jitdump format. These formats are used by the Linux perf tool.
-
py-spy
Sampling profiler for Python programs
-
iai
One-shot benchmarking library
-
tracing-tracy
Inspect tracing-enabled Rust applications with Tracy
-
benchmark-rs
Benchmarks for Rust libraries
-
rustracing_jaeger
Jaeger client library created on top of rustracing
-
resctl-bench
Whole system resource control benchmarks with realistic scenarios
-
glassbench
benchmark with memory
-
criterion-perf-events
Measure perf events for criterion
-
time-graph
Always-on profilling recording function timing and the corresponding call graph
-
fun_time
that allows you to easily time your function calls with a simple attribute!
-
bma-benchmark
Benchmark for Rust and humans
-
cargo-criterion-means
Cargo command to gather the mean and standard error values from criterion benchmarks
-
deno_bench_util
Bench and profiling utilities for deno crates
-
firestorm
low overhead intrusive flamegraph profiler
-
criterion-single-page-html
Collect criterion generated html files and provide them as a single html file, servable from s3 into your browser
-
ambient_profiling
very thin abstraction over other profiler crates
-
goodmetrics
Unlimited cardinality, fast metrics recording - for services
-
precision
Low overhead, high precision measurement crate
-
crabgrind
bindings to "Valgrind Client Request" interface
-
puffin_egui
Show puffin profiler flamegraph in-game using egui
-
workflow-perf-monitor
toolkit designed to be a foundation for applications to monitor their performance
-
coz
support for the
coz
Causal Profiler: https://github.com/plasma-umass/coz -
bencher
port of the libtest (unstable Rust) benchmark runner to Rust stable releases. Supports running benchmarks and filtering based on the name. Benchmark execution works exactly the same…
-
rust_hawktracer
bindings for hawktracer profiling library
-
top-type-sizes
Makes -Zprint-type-size more useful
-
devtimer
benchmarking code
-
polkatool
swiss knife toolkit for PolkaVM
-
performance_measure
measuring the performance of Rust code
-
critcmp
command line utility for comparing benchmark data generated by Criterion
-
changeforest
Random Forests for Change Point Detection
-
blondie
Collect CPU callstack samples from a windows process
-
tango-bench
Tango benchmarking harness
-
shumai
benchmark framework that empowers efficient and correct multi-thread benchmarks
-
codspeed-bencher-compat
Bencher compatibility layer for CodSpeed
-
chord-core
async parallel case executor
-
mick-jaeger
client for sending traces to a Jaeger server
-
coarse-prof
Tiny library for coarse-grained hierarchical profiling
-
benchpress
orchestrating a large benchmark
-
perf-event-open-sys2
Unsafe, direct bindings for Linux's perf_event_open system call, with associated types and constants
-
chess-lib
chess movement generator library
-
scopetime
log runtime of arbitrary scope
-
speed
Benchmarking utility written in Rust 🦀
-
codspeed
Core instrumentation library for CodSpeed
-
tpctools
generating and converting TPC-H and TPC-DS data sets
-
calliper
Fine-grained benchmarking made easy
-
nvbit-io
NVIDIA NVBIT streaming encoder and decoder implementations using serde
-
rewrk
HTTP benchmarking tool
-
rbspy
Sampling CPU profiler for Ruby
-
weld
language and runtime for improving the performance of data-intensive applications
-
moneta_fn
set of macros to function profiling
-
gperftools
Bindings to google's gperftools
-
vtebench
Terminal emulators benchmark
-
gemm-benchmark
BLAS [sd]gemm benchmark
-
tailor_client
Client library for tailord (part of tuxedo-rs)
-
microbench
micro-benchmarking library
-
cbdr
Tools for comparitive benchmarking
-
optick
Super Lightweight Performance Profiler
-
streamtools
Additional stream combinators
-
size-of
measuring the total memory usage of an object
-
rs_tracing
trace events in the trace event format
-
trace-time
Easily trace time to execute a scope
-
deepsize
measuring the total size of object on the stack and heap
-
cargo-benchcmp
comparing Rust micro-benchmark output
-
iai-parse
Convert iai benchmark output to CSV
-
witchcraft-metrics
general-purpose metrics library
-
cargo-criterion
Cargo extension for running Criterion.rs benchmarks and reporting the results
-
memuse
Traits for measuring dynamic memory usage of types
-
function-timer
Macro that allow to time a function and emit a metric using metrics crate
-
cpumap
GUI to view and edit CPU affinities of processes on a Linux system
-
rustics
statistic library for performance analysis
-
performance-mark-attribute
performance_mark is an attribute macro that adds performance (time) logging to methods
-
rendezvous_hash
Rendezvous hashing algorithm
-
shuffling-allocator
shuffling allocator, randomizing heap object locations; useful for avoiding accidental cache locality during benchmarking, which can obscure performance evaluation
-
lading
load testing daemons
-
fast-bernoulli
Efficient sampling with uniform probability
-
lading-throttle
load testing daemons
-
cli-log
logging and timing facility configured with an env variable
-
flame
profiling / flamegraph library
-
tempus_fugit
tiny library to measure the execution time of Rust expressions, with nanosecond precision
-
breezy-timer
Painless and production friendly timers
-
wtf
frame-based profiling crate
-
histlog
hdrhistogram crate, provides off-thread serialization of HdrHistogram interval logs to file
-
cortex-m-microclock
software clock for Cortex-M devices based on the CYCCNT hardware counter
-
rftrace
Function tracer backend. Logs all functions entries and exits. Works on all software compiled with mcount() instrumentation.
-
tracy-client-sys
Low level bindings to the client libraries for the Tracy profiler
-
otlp-exporter
OTLP Exporter for the OpenTelemetry Collector
-
trace-tools
Tracing and diagnostic tools for tasks
-
superluminal-perf
Superluminal Performance API for adding user events to profiler captures
-
puffin-imgui
ImGui GUI bindings for the Puffin profiler
-
webbundle-bench
WebBundle Bench
-
microprofile
small library for profiling and optimizing multithreaded programs
-
benchie
benchmarking tool
-
usereport-rs
Collect system information for the first 60 seconds of a performance analysis
-
lua-perf
perf tool for C and Lua hybrid code
-
spirit-dipstick
Automatic configuration of dipstick backends
-
perf-event-data
Types and traits for parsing records emitted by perf_event_open
-
iai-callgrind-runner
Binary package needed by the iai-callgrind library
-
howlong
Measure how long it takes for a program to execute in different clocks
-
scaling
lightweight benchmarking library that measures scaling behavior
-
mntime
Execute "m" commands "n" times to calculate mean of usage time and memory. As an alternative to "time", "gnu-time" is used internally.
-
readings
Graph vital metrics process logging
-
nvbit-model
NVIDIA NVBIT models for serialization and deserialization
-
chord-util
async parallel case executor
-
datadog-statsd
dogstatsd client for rust
-
criterion_bencher_compat
Drop-in replacement for commonly-used parts of Bencher
-
tinysegmenter
Compact Japanese tokenizer
-
downtown
realtime BPF profiler
-
xi-trace
Library-based distributed tracing API to meet the needs of xi-core, frontends and plugins
-
problem_generator
TD Mk Landscape benchmark generator, for use with black-box optimization algorithms
-
liff
Fast levenshtein diff, fastest as we can do with levenshtein
-
tracing-bunyan-formatter-with-utc-offset
Bunyan formatter for the tracing crate
-
tracing-actions
Tracing subscriber that vends action trace structures to a callback
-
hypcmp
Extension to run hyperfine with toml files w/ commit switches
-
tracing-perf
Performance and time reporting for tracing
-
tracing-timing
Inter-event timing metrics on top of tracing
-
ibench
Extremely simple and small Rust library for quickly timing a closure
-
mybench
(and very primitive) benchmarking macro
-
scope_timer
freaking easy-to-use timer for measuring scope time for execution
-
timedilator-2
Faster real-time TUI tracing profiler for the nanoprof C library
-
tracy-rs
bindings for the tracy realtime profiler
-
wrk-api-bench
perform HTTP benchmarks using wrk and produce useful performance regression information
-
tracing-chrometrace
Layer for tracing-subscriber that outputs Chrome-style traces
-
pew
benchmarking library for Rust based on google/benchmark
-
aleo-std-timer
timer to conveniently time code blocks
-
prime_bench
prime finding benchmarking tool
-
metrics-catalogue
Metrics Catalogue
-
spytools
Tools for spying on running processes
-
criterion-table
Generate markdown comparison tables from cargo-criterion benchmark output
-
slog-perf
Performance and time reporting for slog-rs
-
flamescope
Export flame data to speedscopes profile format
-
update_rate
generic, low-overhead rate counter for FPS counters and the like
-
lading-capture
load testing daemons
-
profl-cli
CLI for generating profl reports
-
molt-app
Molt Shell Application
-
lcov-diff
get deltas of lcov coverage files
-
pibench-parser
parser to parse the text output from pibench
-
observability
Experimental tracing ideas
-
linux-perf-event-reader
Parse Linux perf_event information from raw bytes
-
resctl-bench-intf
Whole system resource control benchmarks with realistic scenarios (interface library)
-
t-cmd
CLI utility to measure CPU time and RSS of a process
-
ppk2
driver for Nordic's Power Profiler Kit 2
-
sel4-sys
interface to the seL4 kernel
-
newrelic-unofficial
New Relic instrumentation in pure Rust
-
tele_tokenizer
CSS tokenizer
-
benchmark_suite
Quickly collect benchmarking information with complete I/O control
-
thread_profiler
thread profiling library that outputs profiles in the chromium trace format
-
tasm-lib
Code snippets for Triton VM assembly with tests and statistics
-
big_o
Infers asymptotic computational complexity
-
mc-varint
Minecraft's VarInt and VarLong implemetation in Rust, providing minimum memory usage and maximum performance
-
tailrec
Trait-based stack-safe recursion in Rust
-
criterion-decimal-throughput
Criterion.rs measurement for decimal throughput (MB/s, GB/s, etc.)
-
goku
HTTP load testing application written in Rust
-
hprof
hierarchical profiler
-
tracing-bunyan-formatter
Bunyan formatter for the tracing crate
-
tte
Time to execute. Application benchmark/timer.
-
readings-probe
Probe for vital metrics process logging
-
ssdbench
Lightweight SSD benchmark written in Rust
-
prometheus
instrumentation library for Rust applications
-
mbench
easy to use microbenchmark macro. Zero deps.
-
bench
Run a program, measure execution time and print statistics
-
munin
visual heap memory profiler
-
profiling-procmacros
very thin abstraction over other profiler crates
-
intel-seapi
Mid-level wrapper for Intel Single Event API (SEAPI) and ittnotify, as used by Intel VTune
-
crate-race
Comparing Rust crate function speeds
-
print_perf
Ergonomic print optimization for Rust. This crate will provide a struct and a helper macro that you can use to measure and print out the time between two points in your code.
-
profiler-symbol-server
local webserver that lets the Firefox profiler obtain symbol information
-
nokia/nperf
sampling CPU profiler for Linux
-
axum-prometheus
tower middleware to collect and export HTTP metrics for Axum
-
loadem
Command line tool for emulating web load from thousands of clients
-
tracers
Generates very low overhead native trace points using stable Rust
-
epsilonz
Functional programming in Rust
-
dinghy-build
Cross-compilation made easier - helpers for build.rs scripts
-
persil
minimal and simple profiling library based on measureme
-
lang-3bc-sys
Automatic generated bindings for 3BC
-
ubench
stopgap rust benchmarking solution for microcontrollers
-
sightglass
benchmark suite and tool to compare different implementations of the same primitives
-
profl
timings profiler
-
tracing-opentelemetry
OpenTelemetry integration for tracing
-
testmark
benchmark utility for the Rust programming language
-
cadence
extensible Statsd client for Rust
-
from_bytes_or_zeroed
Reads integers from an arbitrary slice of bytes
-
nvbit-build
Build-time helpers for compiling NVIDIA NVBIT instrumentation
-
perf_monitor
toolkit designed to be a foundation for applications to monitor their performance
-
chord-cli
async parallel case executor
-
bench_timer
bench library for rust
-
hermes_bench
benchmark suite generator in Rust
-
art_benchmarks
Demonstration of various benchmarks of solutions to the Primary/Secondary color enum problem
-
rtm-yaml
Type Mapper (RTM) crate rtm-yaml
-
criterion-cuda
CUDA benchmarking for criterion
-
lib_malloc_freq
malloc frequency profiler (malloc_freq) via LD_PRELOAD
-
pdc-core
network load testing library
-
logmap
concurrent hashmap using a log for buckets
-
dinghy-test
Cross-compilation made easier - see main crate cargo-dinghy
-
mm0_deepsize
MM0 port of deepsize crate
-
cpuprofiler
Bindings to google's cpu profiler
-
rprofiler
profiling your code with HTML reports as result
-
criterion-macro
Custom Test Framework macro for Criterion.rs
-
axum-tracing-opentelemetry
Middlewares and tools to integrate axum + tracing + opentelemetry
-
screeps-profiler
WASM profiling helper libarary for Screeps
-
benchy
benchmarking long-running tasks
-
bench-rs
benchmark library
-
rust-mem-proofs
Various memory-related implementations and benchmarks
-
callgrind
-
autometrics
Easily add metrics to your code that actually help you spot and debug issues in production. Built on Prometheus and OpenTelemetry.
-
inquisitor-core
fast load testing library
-
float-quickly
Faster, inline-friendly versions of some libm f32/f64 intrinsics
-
instagram-hashtag-parser
Instagram - Hashtag Parser
-
pyroscope_pprofrs
pprof-rs backend for Pyroscope Profiler
-
papi-sys
PAPI (Performance API) bindings for Rust
-
hugin
visual cpu profiler
-
cargo-llvm-codecov-converter
conversion utility from llvm-cov format to codecov format
-
zoomies
asynchronous DogStatsD client
-
prom-timer
RAII Prometheus Timer for monitoring & tracing
-
trackingalloc
fast tracking allocator
-
flamegraph
cargo subcommand for generating flamegraphs, using inferno under the hood
-
redis-keyspace-stats
Analyzes your Redis keyspace and returns statistics about it
-
partial-callgrind
Callgrind client requests in Rust
-
rbench
lightweight benchmarking tool
-
tracing-subscriber-init
trait and some functions to make tracing subscriber initialization a bit easier
-
opentelemetry-application-insights
OpenTelemetry exporter for Azure Application Insights
-
benchole
benchmark tool for tracking the size of encoded data
-
rsmk
demo crates
-
twiggy
code size profiler
-
rust_hawktracer_sys
sys crate for the rust_hawktracer library
-
bench_rust
Benchmark functions
-
coveralls
Send job to Coveralls (coveralls.io)
-
tracing-subscriber
implementing and composing
tracing
subscribers -
catalyst
Nothing to see here yet
-
trunkrs
Small logging setup library
-
cargo-instruments
Profile binary targets on macOS using Xcode Instruments
-
richard-test-c1
-
benchmark_sampledata
Easily pull in files for benchmarking
-
easytiming
easy timing functions, code blocks, etc
-
ts_opentelemetry_jaeger
fork of a Jaeger exporter for OpenTelemetry
-
tracing-forest
Preserving contextual coherence among trace data from concurrent tasks
-
cobench
Statistically rigorous performance benchmarking, powered by Conformal Prediction
-
carrot_utils
Utils library
-
ipp-sys
toplevel convenience crate (part of ipp-sys Intel IPP bindings)
-
embedded-profiling
Profiling for
no-std
embedded targets -
bp3d-tracing
Tracing subscriber implementations for use with BP3D software. Supports traditional logging through bp3d-logger and supports remote profiling through TCP.
-
timeit
Timing macros for Rust modelled after Python's timeit
-
traceon
easy to use log and tracing formatter with a flattened json or pretty output
-
hdrhistogram
port of HdrHistogram to Rust
-
puffin_viewer
Viewer GUI for puffin profiler data
-
tracelogging_dynamic
TraceLoggingDynamic for Rust
-
tracing-wasm
tracing subscriber for browser WASM
-
alloc_counter
Count allocations, reallocations, deallocations. Allow, deny, or forbid allocations on an expression or function basis.
-
ambient_profiling_procmacros
very thin abstraction over other profiler crates
-
tracing-record-hierarchical
Record parent
tracing::Span
fields from inside childtracing::Span
’s context -
drain-while
draining iterator which stops when a predicate becomes false
-
stainless
Organized, flexible testing framework
-
gimli
reading and writing the DWARF debugging format
-
tracing-actions-otlp
tracing-actions extension that sends action traces to an opentelemetry server
-
appinsights
Application Insights SDK for Rust
-
depura
Logging, benchmarking and debugging
-
fliplru
LRU cache that shows effectiveness of cache capacity
-
optick-attr
Super lightweight performance profiler: function attributes
-
hrsw
high resolution stopwatch library
-
bustle
Benchmarking harness for concurrent key-value collections
-
tsc-trace
low overhead tracing of rust code using time stamp counter (x86 rdtsc)
-
criterion-polyglot
extension trait for criterion providing benchmark methods for various non-Rust programming languages
-
serde-bench
Minimal serialization format for benchmarking Serde
-
chord-web
async parallel case executor
-
opentelemetry-otlp
Exporter for the OpenTelemetry Collector
-
opentelemetry-auto-span
helper library for opentelemetry tracing
-
molt-shell
Molt Application Frameworks
-
metered-macro
Fast, ergonomic metrics for Rust!
-
tracking-allocator
global allocator that provides hooks for tracking allocation events
-
tembo-telemetry
Logging and Telemetry exporters for Tembo.io applications
-
easybench-wasm
lightweight benchmarking library for Wasm target
-
superluminal-perf-sys
Superluminal Performance C API bindings
-
netperf
network performance measurement tool
-
opentelemetry-spanprocessor-any
metrics collection and distributed tracing framework
-
steroid
lightweight framework for dynamic binary instrumentation
-
winstacks
Collect CPU call stack samples from a windows process
-
tracing-opentelemetry-instrumentation-sdk
set of helpers to build OpenTelemetry instrumentation based on
tracing
crate -
stainless2
Organized, flexible testing framework
-
strace-parse
Parser and utilities for strace files
-
performance-mark-impl
performance_mark is an attribute macro that adds performance (time) logging to methods. This crate is implementation detail, you should depend on
performance-mark-attribute
instead. -
rtm-json
Type Mapper (RTM) crate rtm-json
-
papi
(Performance API) wrapper for Rust
-
cargo-service-message
Seamless integration of cargo with TeamCity
-
eventheader
API for eventheader-encoded Linux Tracepoints via user_events
-
syslog-tracing
syslog backend for
tracing
-
opinionated_telemetry
Opinionated configuration for tracing and metrics crates (with OpenTelemetry & Prometheus)
-
rftrace-frontend
Rftracer frontend for writing uftrace compatible traces
-
divan-macros
Macros for Divan, a statistically-comfy benchmarking library
-
wasmprof
allows to profile code running inside of wasmtime
-
chrometracer
tiny Chrometracing library
-
datadoghq
Datadog APM-compatible tracer and logger
-
rust_bench_parser
parses cargo bench output into struct
-
dbench
database query benchmarker
-
cargo-simd-detect
nightly cargo command to report which SIMD extensions your Intel/AMD CPU supports and are enabled
-
perf-event-open-sys
Unsafe, direct bindings for Linux's perf_event_open system call, with associated types and constants
-
libatrace
writing tracing to linux debug fs
-
tracing-gstreamer
Bridge between gstreamer and the tracing ecosystem
-
tracing-attributes
Procedural macro attributes for automatically instrumenting functions
-
maelstrom-common
boilerplate abstraction for running a Maelstrom node
-
rust-timeit
measuring execution time of small Rust code snippets
-
function-timer-macro
Macro that allow to time a function and emit a metric using metrics crate
-
liar
Flexible, stand-alone benchmarking
-
tracing-futures
instrumenting
futures
withtracing
-
ts_opentelemetry_stdout
fork of an OpenTelemetry exporter for stdout
-
io_wrapper_statistics
Wrap an I/O object and collect statistics about I/O operations
-
opentelemetry-datadog-cloudflare
Datadog exporters and propagators for OpenTelemetry for Cloudflare workers
-
breezy-timer-lib
Painless and production friendly timers
-
autometrics-macros
Easily add metrics to your code that actually help you spot and debug issues in production. Built on Prometheus and OpenTelemetry.
-
tracing-json
Tracing Structured Json Logging Adapter
-
cliff
Find the load at which a benchmark falls over
-
spandoc
Procedural macro attribute for converting doc comments into tracing spans
-
profile
Switch files by profile
-
opentelemetry-tide
OpenTelemetry integration for Tide
-
lttng-ust-generate
Semi-automatically generate lttng-ust tracepoints (generation code)
-
intel-seapi-sys
FFI wrapper for Intel Single Event API (SEAPI) and ittnotify, as used by Intel VTune
-
prom-timer-macro
RAII Prometheus Timer for monitoring & tracing
-
tracelogging
TraceLogging for Rust