backbeat-cli 0.1.2

The backbeat CLI: inspect and convert self-describing trace dumps to Parquet
Documentation
[package]
name = "backbeat-cli"
version = "0.1.2"
description = "The backbeat CLI: inspect and convert self-describing trace dumps to Parquet"
authors.workspace = true
repository.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true
readme = "../README.md"
documentation = "https://docs.rs/backbeat-cli"
keywords = ["tracing", "flight-recorder", "parquet", "perfetto", "cli"]
categories = ["command-line-utilities", "development-tools::debugging", "development-tools::profiling"]

# Installs as the `backbeat` binary: `cargo install backbeat-cli` puts `backbeat` on your PATH.
[[bin]]
name = "backbeat"
path = "src/main.rs"

[dependencies]
backbeat.workspace = true
clap = { version = "4", features = ["derive"] }
anyhow = "1"
arrow = "59"
# `zstd` so we can compress the (often large, highly repetitive) trace output.
parquet = { version = "59", features = ["zstd"] }
# Chrome/Perfetto trace output is JSON; rayon decodes multiple input dumps in parallel.
serde_json = "1"
rayon = "1"
# Zero-copy refcounted slices: one arena buffer per dump, cheap per-record slices into it.
bytes = "1"
# mimalloc is markedly faster than the system allocator on the alloc-heavy decode/convert path, and
# builds on every target we ship (musl/macOS/Windows) — see the `#[global_allocator]` in main.rs.
mimalloc = "0.1"

[dev-dependencies]
# The end-to-end test defines events (needs the zerocopy derives) and reads converted output back.
zerocopy = { version = "0.8", features = ["derive"] }
arrow = "59"
parquet = "59"
serde_json = "1"