snix/tvix/glue/Cargo.toml
Florian Klink 20513e7a52 feat(tvix/store/bin): add progress bar infrastructure
This adds the tracing-indicatif crate, and configures it as a layer in
our tracing_subscriber pipeline to emit progress for every span that's
configured so.

It also moves from using std::io::stderr to write logs to using their
writer, to avoid clobbering output.

Progress bar styles are defined in a lazy_static, moving this into a
general tracing is left for later.

This adds some usage of this to the `imports` and `copy` commands.

The output can still be improved a bit - we should  probably split each
task up into a smaller (instrumented) helper functions, so we can create
a progress bar for each task.

Change-Id: I59a1915aa4e0caa89c911632dec59c4cbeba1b89
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11747
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de>
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
2024-06-06 09:43:24 +00:00

54 lines
1.4 KiB
TOML

[package]
name = "tvix-glue"
version = "0.1.0"
edition = "2021"
[dependencies]
async-compression = { version = "0.4.9", features = ["tokio", "gzip", "bzip2", "xz"]}
bstr = "1.6.0"
bytes = "1.4.0"
data-encoding = "2.3.3"
futures = "0.3.30"
magic = "0.16.2"
nix-compat = { path = "../nix-compat" }
pin-project = "1.1"
reqwest = { version = "0.11.22", features = ["rustls-tls-native-roots"], default-features = false }
tvix-build = { path = "../build", default-features = false, features = []}
tvix-eval = { path = "../eval" }
tvix-castore = { path = "../castore" }
tvix-store = { path = "../store", default-features = false, features = []}
tracing = "0.1.37"
tokio = "1.28.0"
tokio-tar = "0.3.1"
tokio-util = { version = "0.7.9", features = ["io", "io-util", "compat"] }
thiserror = "1.0.38"
serde = "1.0.195"
serde_json = "1.0"
sha2 = "0.10.8"
sha1 = "0.10.6"
tracing-indicatif = "0.3.6"
md-5 = "0.10.6"
url = "2.4.0"
walkdir = "2.4.0"
[dependencies.wu-manber]
git = "https://github.com/tvlfyi/wu-manber.git"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
hex-literal = "0.4.1"
lazy_static = "1.4.0"
nix = { version = "0.27.1", features = [ "fs" ] }
pretty_assertions = "1.4.0"
rstest = "0.19.0"
tempfile = "3.8.1"
[features]
default = ["nix_tests"]
# Enables running the Nix language test suite from the original C++
# Nix implementation (at version 2.3) against Tvix.
nix_tests = []
[[bench]]
name = "eval"
harness = false