Crates.io | debuginfod-rs |
lib.rs | debuginfod-rs |
version | 0.1.0 |
source | src |
created_at | 2023-12-13 09:04:57.053945 |
updated_at | 2023-12-13 09:04:57.053945 |
description | An extremely fast debuginfod server, written in Rust. |
homepage | |
repository | |
max_upload_size | |
id | 1067844 |
size | 2,599,437 |
An extremely fast debuginfod server, written in Rust.
[2023-12-13T08:35:11.001Z INFO debuginfod_rs] walking 173017 RPM files (477.8 GB)
[2023-12-13T08:35:12.389Z INFO debuginfod_rs] parsing took: 2.09 s (228.8 GB/s)
The indexer benefits from symlinks created by rpmbuild
which link each ELF executable (and shared library)
and it's corresponding build-id path. Each web request first identifies an RPM file with a build-id and
the corresponding ELF (or source) file is extracted on demand. Grouping of the foo-debuginfo
, foo-debugsource
and foo
packages happens based on the source RPM file (present in the RPM file metadata).
The indexing speed heavily depends on the disk speed, where one can get up to ~100 GB/s on a modern AMD CPU (for the cached IO).
AsyncRead
support for RPM container visitor (content is read to memory in a web response).deb
.