From 345a639e799bed7a11ab75e3e90b4246e64269df Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 20 Mar 2024 17:31:21 +0200 Subject: refactor(tvix/castore): instrument DirectoryPutter impls consistently Log the entire span with "trace" level, not just its `ret` level. The level of the error value event defaults to ERROR, so we don't loose these. B3Digest implements Debug and Display the same way, so we can omit the `(Display)` part in `ret(Display)` for them. Change-Id: Id00d123a5798e5bdc9820dd97ae2b4d4eb5455f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11218 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster --- tvix/castore/src/directoryservice/grpc.rs | 4 +++- tvix/castore/src/directoryservice/utils.rs | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tvix/castore/src/directoryservice/grpc.rs b/tvix/castore/src/directoryservice/grpc.rs index fbb9cce64e..fe410a3825 100644 --- a/tvix/castore/src/directoryservice/grpc.rs +++ b/tvix/castore/src/directoryservice/grpc.rs @@ -234,6 +234,7 @@ impl GRPCPutter { #[async_trait] impl DirectoryPutter for GRPCPutter { + #[instrument(level = "trace", skip_all, fields(directory.digest=%directory.digest()), err)] async fn put(&mut self, directory: proto::Directory) -> Result<(), crate::Error> { match self.rq { // If we're not already closed, send the directory to directory_sender. @@ -253,7 +254,8 @@ impl DirectoryPutter for GRPCPutter { } } - /// Closes the stream for sending, and returns the value + /// Closes the stream for sending, and returns the value. + #[instrument(level = "trace", skip_all, ret, err)] async fn close(&mut self) -> Result { // get self.rq, and replace it with None. // This ensures we can only close it once. diff --git a/tvix/castore/src/directoryservice/utils.rs b/tvix/castore/src/directoryservice/utils.rs index 52d227d60b..6fa1a9e5fd 100644 --- a/tvix/castore/src/directoryservice/utils.rs +++ b/tvix/castore/src/directoryservice/utils.rs @@ -9,7 +9,6 @@ use std::collections::{HashSet, VecDeque}; use tonic::async_trait; use tracing::instrument; use tracing::warn; -use tracing::Level; /// Traverses a [proto::Directory] from the root to the children. /// @@ -105,7 +104,7 @@ impl SimplePutter { #[async_trait] impl DirectoryPutter for SimplePutter { - #[instrument(skip_all, fields(directory.digest=%directory.digest()), err)] + #[instrument(level = "trace", skip_all, fields(directory.digest=%directory.digest()), err)] async fn put(&mut self, directory: proto::Directory) -> Result<(), Error> { if self.closed { return Err(Error::StorageError("already closed".to_string())); @@ -119,7 +118,7 @@ impl DirectoryPutter for SimplePutter { Ok(()) } - #[instrument(skip_all, ret(Display, level=Level::TRACE), err)] + #[instrument(level = "trace", skip_all, ret, err)] async fn close(&mut self) -> Result { if self.closed { return Err(Error::StorageError("already closed".to_string())); -- cgit 1.4.1