diff --git a/ldp/src/traverse.rs b/ldp/src/traverse.rs index a072595..a965221 100644 --- a/ldp/src/traverse.rs +++ b/ldp/src/traverse.rs @@ -7,6 +7,7 @@ use reqwest_middleware::reqwest::Url; use std::collections::HashSet; use std::pin::Pin; use std::task::{Context, Poll, ready}; +use tracing::debug_span; /// Recursively traverse an entire repository. /// @@ -21,6 +22,7 @@ pub struct Traverse<'a> { visited_urls: HashSet, pending_urls: HashSet, parallelism: Option, + span: tracing::Span, } impl<'a> Traverse<'a> { @@ -35,6 +37,7 @@ impl<'a> Traverse<'a> { visited_urls: HashSet::new(), pending_urls: HashSet::new(), parallelism, + span: debug_span!("Traverse Repository", %root), }; this.visited_urls.insert(root.clone()); this.stream @@ -89,6 +92,7 @@ impl<'a> Stream for Traverse<'a> { type Item = crate::Result>; fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + let _enter = self.span.clone().entered(); let result = match ready!(self.stream.poll_next_unpin(cx)) { Some(Ok(document)) => { self.visited_urls.insert(document.origin().clone());