CATEGORY
Development tools::Profiling 882 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
tracing-coreCore primitives for application-level tracing.737,779,779MIT
tracingApplication-level tracing for Rust.727,203,451MIT
tracing-attributesProcedural macro attributes for automatically instrumenting functions.637,398,378MIT
tracing-subscriberUtilities for implementing and composing `tracing` subscribers.517,237,587MIT
gimliA library for reading and writing the DWARF debugging format.505,807,307MIT OR Apache-2.0
criterionStatistics-driven micro-benchmarking library245,412,284Apache-2.0 OR MIT
tracing-serdeA compatibility layer for serializing trace data with `serde`229,411,334MIT
opentelemetryOpenTelemetry API for Rust226,731,532Apache-2.0
tracing-opentelemetryOpenTelemetry integration for tracing175,967,627MIT
tracing-futuresUtilities for instrumenting `futures` with `tracing`.129,817,687MIT
opentelemetry-protoProtobuf generated files and transformations.129,381,513Apache-2.0
opentelemetry-otlpExporter for the OpenTelemetry Collector128,457,177Apache-2.0
opentelemetry-semantic-conventionsSemantic conventions for OpenTelemetry119,517,106Apache-2.0
hdrhistogramA port of HdrHistogram to Rust101,047,074MIT/Apache-2.0
profilingThis crate provides a very thin abstraction over other profiler crates.58,242,753MIT OR Apache-2.0
infernoRust port of the FlameGraph performance profiling tool suite46,231,937CDDL-1.0
console-apiProtobuf wire format bindings for the Tokio console.42,751,403MIT
console-subscriberA `tracing-subscriber::Layer` for collecting Tokio console telemetry.42,562,619MIT
profiling-procmacrosThis crate provides a very thin abstraction over other profiler crates.40,155,304MIT OR Apache-2.0
opentelemetry-stdoutAn OpenTelemetry exporter for stdout30,490,496Apache-2.0
opentelemetry-datadogDatadog exporters and propagators for OpenTelemetry28,162,729Apache-2.0
countmeCounts the number of live instances of types21,712,280MIT OR Apache-2.0
opentelemetry-jaegerJaeger exporter for OpenTelemetry19,094,972Apache-2.0
measure_timeProvices macros to measure the time until end of scope.18,573,535MIT
tracing-opentelemetry-instrumentation-sdkA set of helpers to build OpenTelemetry instrumentation based on `tracing` crate.16,434,519CC0-1.0
tracing-chromeA Layer for tracing-subscriber that outputs Chrome-style traces.15,782,785MIT
memory-statsA cross-platform memory profiler for Rust.15,292,689MIT OR Apache-2.0
axum-tracing-opentelemetryMiddlewares and tools to integrate axum + tracing + opentelemetry14,365,509CC0-1.0
opentelemetry-prometheusPrometheus exporter for OpenTelemetry12,541,779Apache-2.0
codspeedCore instrumentation library for CodSpeed11,333,087MIT OR Apache-2.0
bencherA port of the libtest (unstable Rust) benchmark runner to Rust stable releases. Supports running benchmarks and filtering based…11,016,252MIT/Apache-2.0
tracing-wasmtracing subscriber for browser WASM10,840,178MIT OR Apache-2.0
jemalloc_pprofConvert jemalloc heap profiles to pprof to understand memory usage, fix memory leaks, and fix OOM Kills.10,222,759Apache-2.0
tracing-bunyan-formatterA Bunyan formatter for the tracing crate10,075,162MIT/Apache-2.0
divan-macrosMacros for Divan, a statistically-comfy benchmarking library.9,844,378MIT OR Apache-2.0
dhatA library for heap profiling and ad hoc profiling with DHAT.9,683,465MIT OR Apache-2.0
perf-event-open-sysUnsafe, direct bindings for Linux's perf_event_open system call, with associated
types and constants.8,817,564MIT OR Apache-2.0
datafusion-tracingDataFusion tracing of execution plans7,909,212Apache-2.0
tracing-journaldrich journald subscriber for `tracing`7,714,987MIT
tracing-flameTracing layer for creating flamegraphs from span timings7,507,272MIT
codspeed-criterion-compatCriterion.rs compatibility layer for CodSpeed6,941,183MIT OR Apache-2.0
meteredFast, ergonomic metrics for Rust!6,444,785Apache-2.0 OR MIT
metered-macroFast, ergonomic metrics for Rust!6,443,628Apache-2.0 OR MIT
firestormA low overhead intrusive flamegraph profiler.5,799,712MIT
divanStatistically-comfy benchmarking library.5,748,793MIT OR Apache-2.0
perf-eventA Rust interface to Linux performance monitoring5,712,231MIT OR Apache-2.0
gloo-consoleConvenience crate for working with browser's console5,450,091MIT OR Apache-2.0
puffinSimple instrumentation profiler for games5,006,440MIT OR Apache-2.0
codspeed-criterion-compat-walltimeStatistics-driven micro-benchmarking library5,004,577Apache-2.0 OR MIT
axum-prometheusA tower middleware to collect and export HTTP metrics for Axum4,703,276MIT
deepsizeA crate for measuring the total size of object on the stack and heap4,700,924MIT
deepsize_deriveA crate for measuring the total size of object on the stack and heap4,696,242MIT
lttng-ustSemi-automatically generate lttng-ust tracepoints (client code)4,244,415MIT
codspeed-divan-compatDivan compatibility layer for CodSpeed4,202,698MIT OR Apache-2.0
tonic_prometheus_layerTonic-compatible Tower Layer for Prometheus Metrics4,176,102MIT
codspeed-divan-compat-macrosMacros for the Divan compatibility layer for CodSpeed4,151,964MIT OR Apache-2.0
codspeed-divan-compat-walltimeA temporary compatibility layer for CodSpeed to use Divan's walltime entrypoint.4,139,718MIT OR Apache-2.0
autometrics-macrosEasily add metrics to your code that actually help you spot and debug issues in production. Built on Prometheus and OpenTelemetry.3,983,229MIT OR Apache-2.0
autometricsEasily add metrics to your code that actually help you spot and debug issues in production. Built on Prometheus and OpenTelemetry.3,980,919MIT OR Apache-2.0
iaiOne-shot benchmarking library3,963,937Apache-2.0/MIT
memuseTraits for measuring dynamic memory usage of types3,799,498MIT/Apache-2.0
opentelemetry-application-insightsOpenTelemetry exporter for Azure Application Insights3,248,588MIT
tracing-perfettoTracing layer for recording spans and events as perfetto event format.3,230,742MIT
puffin_httpTCP server/client for puffin profiler data2,894,561MIT OR Apache-2.0
tracing-forestPreserving contextual coherence among trace data from concurrent tasks2,814,207MIT
opentelemetry-zipkinZipkin exporter for OpenTelemetry2,586,105Apache-2.0
tracing-oslogA layer for tracing that outputs to the oslog on macOS/iOS2,144,256Zlib
opentelemetry-awsAWS exporters and propagators for OpenTelemetry1,959,620Apache-2.0
boa_profilerProfiler for the Boa JavaScript engine.1,848,879Unlicense OR MIT
tonic-tracing-opentelemetryMiddlewares and tools to integrate tonic + tracing + opentelemetry.1,616,825CC0-1.0
shuffling-allocatorA shuffling allocator, randomizing heap object locations; useful for avoiding accidental cache locality during benchmarking,…1,532,025MPL-2.0
init-tracing-opentelemetryA set of helpers to initialize (and more) tracing + opentelemetry (compose your own or use opinionated preset)1,498,264CC0-1.0
syslog-tracingsyslog backend for `tracing`1,460,205MIT
iai-callgrindHigh-precision and consistent benchmarking framework/harness for Rust1,296,015Apache-2.0 OR MIT
iai-callgrind-runnerBinary package needed by the iai-callgrind library1,255,187Apache-2.0 OR MIT
cargo-criterionCargo extension for running Criterion.rs benchmarks and reporting the results.1,221,539Apache-2.0/MIT
criterion2Statistics-driven micro-benchmarking library1,196,316Apache-2.0 OR MIT
dinghy-testCross-compilation made easier - see main crate cargo-dinghy1,175,088MIT/Apache-2.0
cargo-codspeedCargo extension to build & run your codspeed benchmarks1,168,088MIT OR Apache-2.0
iai-callgrind-macrosProc macros for iai-callgrind, a high-precision and consistent benchmarking framework/harness for Rust1,160,058Apache-2.0 OR MIT
tracing-samplyTracing subscriber layer for samply1,011,956MIT OR Apache-2.0
flamegraphA simple cargo subcommand for generating flamegraphs, using inferno under the hood932,259MIT OR Apache-2.0
readings-probeProbe for vital metrics process logging881,424MIT/Apache-2.0
rust_hawktracerRust bindings for hawktracer profiling library.868,742MIT/Apache-2.0
opentelemetry-prometheus-text-exporterOpenTelemetry metrics exporter for Prometheus text exposition format849,775Apache-2.0
serde-benchMinimal serialization format for benchmarking Serde807,389MIT OR Apache-2.0
opentelemetry-jaeger-propagatorJaeger propagator for OpenTelemetry790,608Apache-2.0
dinghy-buildCross-compilation made easier - helpers for build.rs scripts785,612MIT/Apache-2.0
size-ofA crate for measuring the total memory usage of an object730,598MIT OR Apache-2.0
crabgrindRust bindings to "Valgrind Client Request" interface724,113MIT
tracing-durations-exportRecord and visualize parallelism of tracing spans701,276MIT OR Apache-2.0
tango-benchTango benchmarking harness690,127MIT
gloo-console-timerConvenience crate for working with JavaScript timers639,226MIT/Apache-2.0
witchcraft-metricsA general-purpose metrics library583,661Apache-2.0
codspeed-bencher-compatBencher compatibility layer for CodSpeed548,124MIT OR Apache-2.0
rltA universal load testing library for Rust, with real-time TUI support536,285MIT OR Apache-2.0
spandoc-attributeProcedural macro attribute for converting doc comments into tracing spans515,112MIT OR Apache-2.0
spandocProcedural macro attribute for converting doc comments into tracing spans510,640MIT OR Apache-2.0
tokio-consoleThe Tokio console: a debugger for async Rust.503,589MIT
blondieCollect CPU callstack samples from a windows process439,418MIT OR Apache-2.0 OR BSL-1.0 OR MPL-2.0 OR Zlib OR Unlicense
opentelemetry-contribRust contrib repo for OpenTelemetry394,930Apache-2.0
criterion-macroCustom Test Framework macro for Criterion.rs393,612Apache-2.0/MIT
puffin_eguiShow puffin profiler flamegraph in-game using egui375,981MIT OR Apache-2.0
gungraunHigh-precision, one-shot and consistent benchmarking framework/harness for Rust. All Valgrind tools at your fingertips.372,322Apache-2.0 OR MIT
gungraun-runnerBinary package needed by the Gungraun library. A high-precision, one-shot and consistent benchmarking framework/harness for Rust.367,033Apache-2.0 OR MIT
gungraun-macrosProc macros for Gungraun: A high-precision, one-shot and consistent benchmarking framework/harness for Rust.366,970Apache-2.0 OR MIT
benchmarkingThis crate can be used to execute something and measure the execution time. It does not output anything to screens and…349,343MIT
deepsize_derive2A crate for measuring the total size of object on the stack and heap333,956MIT
deepsize2A crate for measuring the total size of object on the stack and heap333,511MIT
superluminal-perfSuperluminal Performance API for adding user events to profiler captures323,091MIT OR Apache-2.0
paranoid-androidIntegration layer between tracing and Android logs307,131MIT
linux-perf-dataA parser for the perf.data format and the jitdump format. These formats are used by the Linux perf tool.306,127MIT OR Apache-2.0
linux-perf-event-readerParse Linux perf_event information from raw bytes293,363MIT OR Apache-2.0
fun_time_deriveThe macro implementations of fun_time263,366MIT
fun_timefun_time is a simple Rust library that allows you to easily time your function calls with a simple attribute!262,753MIT
axum-otel-metricsaxum OpenTelemetry metrics middleware with OTLP exporter247,618MIT
rust_hawktracer_syssys crate for the rust_hawktracer library236,947MIT/Apache-2.0
superluminal-perf-sysSuperluminal Performance C API bindings228,086MIT OR Apache-2.0
eventheaderRust API for eventheader-encoded Linux Tracepoints via user_events223,888MIT
eventheader_dynamicRust API for runtime-specified eventheader-encoded Linux Tracepoints via user_events220,148MIT
perf-event-open-sys2Unsafe, direct bindings for Linux's perf_event_open system call, with associated
types and constants.219,949MIT OR Apache-2.0
perf-event-dataTypes and traits for parsing records emitted by perf_event_open211,071MIT OR Apache-2.0
dial9-tokio-telemetryLow-overhead runtime telemetry for Tokio with poll timing, wake events, and CPU profiling209,822Apache-2.0
tracking-allocatorglobal allocator that provides hooks for tracking allocation events207,094MPL-2.0
tracing-record-hierarchicalRecord parent `tracing::Span` fields from inside child `tracing::Span`'s context.205,658MIT OR Apache-2.0
tracepointRust API for Linux Tracepoints via user_events205,363MIT
tracing-chrometraceA Layer for tracing-subscriber that outputs Chrome-style traces.193,490MIT
alloc_counterCount allocations, reallocations, deallocations. Allow, deny, or forbid allocations on an expression or function basis.192,379MIT OR Apache-2.0
tracing-timingInter-event timing metrics on top of tracing.184,861MIT
traceloggingTraceLogging for Rust164,750MIT
tracing_android_traceSupport for Android NDK Tracing164,359Apache-2.0 OR MIT
tracelogging_dynamicTraceLoggingDynamic for Rust161,570MIT
dinghy-libCross-compilation made easier - see main crate cargo-dinghy158,989MIT/Apache-2.0
cargo-dinghyCross-compilation made easier157,240MIT/Apache-2.0
eventheader_typesRust types for eventheader-encoded Linux Tracepoints via user_events156,402MIT
stainlessOrganized, flexible testing framework.147,513MIT
ohaOhayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.140,731MIT
bustleBenchmarking harness for concurrent key-value collections137,379Apache-2.0
hillockA simple stopwatch that stores execution times at each step and can print a breakdown134,021MIT
criterion_bencher_compatDrop-in replacement for commonly-used parts of Bencher132,380Apache-2.0/MIT
puffin-imguiImGui GUI bindings for the Puffin profiler114,344MIT OR Apache-2.0
nvbit-modelNVIDIA NVBIT models for serialization and deserialization113,733non-standard
time-graphAlways-on profilling recording function timing and the corresponding call graph112,418Apache-2.0/MIT
wasm-tracingTracing subscriber for WebAssembly. Maintained fork of tracing-wasm.111,826MIT OR Apache-2.0
precisionLow overhead, high precision measurement crate111,542ISC
tracing-gstreamerBridge between gstreamer and the tracing ecosystem111,050MIT OR Apache-2.0
trawlerA workload generator that emulates the traffic to lobste.rs107,750MIT OR Apache-2.0
time-graph-macrosAttribute macro to instrument functions and record their executing time with…107,115Apache-2.0/MIT
perf-event2A Rust interface to Linux performance monitoring106,671MIT OR Apache-2.0
nvbit-ioNVIDIA NVBIT streaming encoder and decoder implementations using serde105,490non-standard
feldera-size-ofA crate for measuring the total memory usage of an object98,206MIT OR Apache-2.0
bingganBenchmarking library for stable Rust95,037MIT
future-timingFuture timing instrumentation.
Instrumentation to record the busy and idle time taken by a future as it is driven to
completion.87,652MIT
twiggyTwiggy is a code size profiler.86,145Apache-2.0/MIT
scopetimelog runtime of arbitrary scope86,088MIT
nvbit-sysNative bindings to the NVIDIA NVBIT binary instrumentation library84,305non-standard
glassbenchrust benchmark with memory83,379MIT
hdrsampleA port of HdrHistogram to Rust81,349MIT/Apache-2.0
appinsightsApplication Insights SDK for Rust81,339MIT
nvbit-buildBuild-time helpers for compiling NVIDIA NVBIT instrumentation81,057non-standard
goodmetricsUnlimited cardinality, fast metrics recording - for services79,635Apache-2.0
nvbit-rsIdiomatic library for using the NVIDIA NVBIT binary instrumentation library78,912non-standard
tracepoint_decodeRust API for decoding tracepoints64,714MIT
bpu_trasherA tool to trash the branch prediction unit62,632MIT
yabYet Another Benchmarking framework powered by `cachegrind`58,807MIT OR Apache-2.0
legion_prof_viewerProfiler UI frontend component for Legion Prof58,018Apache-2.0
libiptThe Intel Processor Trace (Intel PT) Decoder Library is Intel's reference implementation for decoding Intel PT.55,159MIT
opentelemetry-spanprocessor-anyA metrics collection and distributed tracing framework52,736Apache-2.0
holochain_tracingabstraction for distributed tracing choices51,920Apache-2.0
sftrace-setupSetup helper for sftrace (instrumentation-based trace tool)48,690MIT
cargo-instrumentsProfile binary targets on macOS using Xcode Instruments.47,412MIT
tracing-serde-structuredAn alternative, structured, compatibility layer for serializing trace data with `serde`47,344MIT
openinference-semantic-conventionsOpenInference semantic conventions for LLM observability in Rust45,634MIT OR Apache-2.0
opentelemetry-datadog-cloudflareDatadog exporters and propagators for OpenTelemetry for Cloudflare workers44,994Apache-2.0
sqlx-tracingOpenTelemetry-compatible tracing for SQLx database operations in Rust.43,124MIT
puffin_viewerViewer GUI for puffin profiler data42,791MIT OR Apache-2.0
metrics-libHigh-performance Rust metrics library: sub-2ns counters, sub-1ns gauges, nanosecond timers, tumbling-window rate meters, async…35,151Apache-2.0
optickSuper Lightweight Performance Profiler35,018MIT
energy-benchMethods for benchmarking the energy consumption of programs.33,854GPL-3.0
liefOfficial Rust bindings for LIEF33,141Apache-2.0
one_collectCross-platform library for capturing machine-level traces.33,040MIT
smt-scopeA library for parsing and analysing SMT traces.32,639Apache-2.0
howlongMeasure how long it takes for a program to execute in different clocks32,567MIT OR Apache-2.0
darwin-kperfSafe Rust bindings for Apple's kperf/kpc hardware performance counters32,524MIT OR Apache-2.0
timesTiming Benchmark, Repeated Runs, with Statistics30,518BSD-3-Clause
tracing-subscriber-initA trait and some functions to make tracing subscriber initialization a bit easier30,382MIT OR Apache-2.0
fliplruA LRU cache that shows effectiveness of cache capacity29,875MIT
otel-bootstrapOne-call OpenTelemetry bootstrap — traces + metrics with OTLP export29,829MIT
holochain_tracing_macrosabstraction for distributed tracing choices29,234Apache-2.0
logwisean opinionated logging library for Rust28,881MIT OR Apache-2.0
tracing-jsonTracing Structured Json Logging Adapter28,750Apache-2.0/MIT
zenbenchInterleaved microbenchmarking with paired statistics, CI regression testing, and hardware-adaptive measurement28,669MIT OR Apache-2.0
opentelemetry-instrumentation-processOpenTelemetry instrumentation for process metrics28,476Apache-2.0
function-timerMacro that allow to time a function and emit a metric using metrics crate27,114MIT OR Apache-2.0
function-timer-macroMacro that allow to time a function and emit a metric using metrics crate26,314MIT OR Apache-2.0
pyo3-opentelemetry-macrosMacro for passing OpenTelemetry context from Python to Rust26,187MIT OR Apache-2.0
otlp-stdout-span-exporterA span exporter that writes OpenTelemetry spans to stdout in OTLP format26,182MIT
rftraceFunction tracer backend. Logs all functions entries and exits. Works on all software compiled with mcount() instrumentation.25,807MIT OR Apache-2.0
pyo3-opentelemetryMacro and utilities for passing OpenTelemetry context from Python to Rust25,761Apache-2.0
pyo3-tracing-subscriberA Python module for configuring and initializing tracing subscribers from Python.25,308Apache-2.0