diff options
author | Simon Hauser <simon.hauser@helsinki-systems.de> | 2024-06-06T13·44+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-06-10T16·35+0000 |
commit | 825d498908e2f6c9fdca3225afefb0aa4b3cc747 (patch) | |
tree | 765e5412bf24ae41bb3d6f42791a229b68a88451 /tvix/Cargo.nix | |
parent | 11a6ff77067a7b9eec3f1c15412d7143cb85a047 (diff) |
feat(tvix/tracing): introduce common tvix-tracing crate r/8242
Introduce a new common crate that contains tracing boilerplate which then can be used in the cli, tvix-store and tvix-build crates. It has otlp as an optional feature, which is currently only used by tvix-store. Change-Id: I41468ac4d9c65174515d721513b96fea463d6ed2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11758 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
Diffstat (limited to 'tvix/Cargo.nix')
-rw-r--r-- | tvix/Cargo.nix | 122 |
1 files changed, 83 insertions, 39 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index 1f92aed2830d..da67d34c311d 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -123,6 +123,16 @@ rec { # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; + "tvix-tracing" = rec { + packageId = "tvix-tracing"; + build = internal.buildRustCrateWithFeatures { + packageId = "tvix-tracing"; + }; + + # Debug support which might change between releases. + # File a bug if you depend on any for non-debug work! + debug = internal.debugCrate { inherit packageId; }; + }; }; # A derivation that joins the outputs of all workspace members together. @@ -12954,14 +12964,14 @@ rec { packageId = "tracing"; } { - name = "tracing-subscriber"; - packageId = "tracing-subscriber"; - } - { name = "tvix-castore"; packageId = "tvix-castore"; } { + name = "tvix-tracing"; + packageId = "tvix-tracing"; + } + { name = "url"; packageId = "url"; } @@ -13298,11 +13308,6 @@ rec { { name = "tracing"; packageId = "tracing"; - features = [ "max_level_trace" "release_max_level_info" ]; - } - { - name = "tracing-subscriber"; - packageId = "tracing-subscriber"; } { name = "tvix-build"; @@ -13326,6 +13331,10 @@ rec { usesDefaultFeatures = false; } { + name = "tvix-tracing"; + packageId = "tvix-tracing"; + } + { name = "wu-manber"; packageId = "wu-manber"; } @@ -13795,10 +13804,6 @@ rec { packageId = "futures"; } { - name = "indicatif"; - packageId = "indicatif"; - } - { name = "lazy_static"; packageId = "lazy_static"; } @@ -13812,22 +13817,6 @@ rec { features = [ "async" ]; } { - name = "opentelemetry"; - packageId = "opentelemetry"; - optional = true; - } - { - name = "opentelemetry-otlp"; - packageId = "opentelemetry-otlp"; - optional = true; - } - { - name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; - optional = true; - features = [ "rt-tokio" ]; - } - { name = "parking_lot"; packageId = "parking_lot 0.12.2"; } @@ -13917,19 +13906,14 @@ rec { packageId = "tracing-indicatif"; } { - name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; - } - { - name = "tracing-subscriber"; - packageId = "tracing-subscriber"; - features = [ "env-filter" ]; - } - { name = "tvix-castore"; packageId = "tvix-castore"; } { + name = "tvix-tracing"; + packageId = "tvix-tracing"; + } + { name = "url"; packageId = "url"; } @@ -13974,12 +13958,72 @@ rec { "cloud" = [ "dep:bigtable_rs" "tvix-castore/cloud" ]; "default" = [ "cloud" "fuse" "otlp" "tonic-reflection" ]; "fuse" = [ "tvix-castore/fuse" ]; - "otlp" = [ "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" ]; + "otlp" = [ "tvix-tracing/otlp" ]; "tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ]; "virtiofs" = [ "tvix-castore/virtiofs" ]; }; resolvedDefaultFeatures = [ "cloud" "default" "fuse" "integration" "otlp" "tonic-reflection" "virtiofs" ]; }; + "tvix-tracing" = rec { + crateName = "tvix-tracing"; + version = "0.1.0"; + edition = "2021"; + # We can't filter paths with references in Nix 2.4 + # See https://github.com/NixOS/nix/issues/5410 + src = + if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion)) + then lib.cleanSourceWith { filter = sourceFilter; src = ./tracing; } + else ./tracing; + dependencies = [ + { + name = "indicatif"; + packageId = "indicatif"; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "opentelemetry"; + packageId = "opentelemetry"; + optional = true; + } + { + name = "opentelemetry-otlp"; + packageId = "opentelemetry-otlp"; + optional = true; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk"; + optional = true; + features = [ "rt-tokio" ]; + } + { + name = "tracing"; + packageId = "tracing"; + features = [ "max_level_trace" "release_max_level_info" ]; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry"; + optional = true; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + features = [ "env-filter" ]; + } + ]; + features = { + "otlp" = [ "dep:tracing-opentelemetry" "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" ]; + }; + resolvedDefaultFeatures = [ "default" "otlp" ]; + }; "typenum" = rec { crateName = "typenum"; version = "1.17.0"; |