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 <cbrewster@hey.com>
This commit is contained in:
Florian Klink 2024-03-20 17:31:21 +02:00 committed by flokli
parent 60b47b336b
commit 345a639e79
2 changed files with 5 additions and 4 deletions

View file

@ -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<B3Digest, crate::Error> {
// get self.rq, and replace it with None.
// This ensures we can only close it once.