| Crates.io | busperf |
| lib.rs | busperf |
| version | 0.1.0 |
| created_at | 2025-12-30 11:16:34.624938+00 |
| updated_at | 2025-12-30 11:16:34.624938+00 |
| description | Bus performance analysis tool |
| homepage | |
| repository | https://github.com/antmicro/busperf |
| max_upload_size | |
| id | 2012495 |
| size | 1,014,630 |
Copyright (c) 2025 Antmicro
Busperf helps analyze bus performance and identify throughput bottlenecks based on simulation traces. It ingests VCD/FST files with an accompanying bus description in YAML, then generates both visual and textual statistics on bus activity. This helps users quickly identify buses with low utilization or high backpressure. Additionally, the tool supports Python plugins for analyzing custom bus protocols.
$ cargo install busperf
$ busperf --help
Shell completion can be generated as described here.

In the panel on the left, there is a selectable list of the analyzer buses. In the main panel on top, there is an overview of the statistics of the selected bus. Below, there are two plot areas, for each you can select what type of statistics you want to view in it.
User docs can be found at antmicro.github.io/busperf/.
Developer docs can be generated with:
$ cargo doc --no-deps --open
test.yaml with traces from test.vcdcargo run -- analyze tests/test_dumps/test.vcd tests/test_dumps/test.yaml --text
cargo run -- analyze tests/test_dumps/test.vcd tests/test_dumps/test.yaml --verbose -m 1 --text
stat.csv formatted as CSVcargo run -- analyze tests/test_dumps/test.vcd tests/test_dumps/test.yaml -o stat.csv --csv
cargo run -- analyze tests/test_dumps/test.vcd tests/test_dumps/test.yaml --md
outcargo run -- analyze tests/test_dumps/test.vcd tests/test_dumps/test.yaml -o out --text
rm out stat.csv
generate-html featureTo allow Busperf to generate html with embedded viewer and analysis data you need to enable optional generate-html feature.
For that you need cargo with additional target wasm32-unknown-unknown and wasm-bindgen-cli installed.
$ rustup target add wasm32-unknown-unknown
$ cargo install -f wasm-bindgen-cli --version 0.2.105
Then you can build with cargo. Keep in mind that Busperf's build script can take some time, because it has to compile the viewer.
$ cargo build --features generate-html
Busperf's data viewer can be compiled to WASM. This allows viewing data files generated by Busperf in a browser.
Build and serve with trunk:
$ cd busperf_web
$ trunk serve --release
Only build:
$ cd busperf_web
$ trunk build --release
The output of the build will be available in the busperf_web/dist directory. It can be served with any http server.