diff --git a/src/app.rs b/src/app.rs index cae18dc..1c36c14 100644 --- a/src/app.rs +++ b/src/app.rs @@ -98,6 +98,10 @@ impl App { self.generate_commit().await } + #[tracing::instrument( + skip_all, + fields(provider = %self.config.provider, model = %self.config.model) + )] async fn generate_commit(&mut self) -> Result<()> { if self.cancel_token.is_cancelled() { return Err(Error::Cancelled); diff --git a/src/services/analyzer.rs b/src/services/analyzer.rs index e6695ee..c6446de 100644 --- a/src/services/analyzer.rs +++ b/src/services/analyzer.rs @@ -139,6 +139,7 @@ impl AnalyzerService { /// Extract symbols from file changes using full file content + hunk mapping. /// Uses rayon to parse files in parallel across CPU cores. + #[tracing::instrument(skip_all, fields(file_count = changes.len()))] pub fn extract_symbols( &self, changes: &[FileChange], diff --git a/src/services/context.rs b/src/services/context.rs index 8c59f91..76d4950 100644 --- a/src/services/context.rs +++ b/src/services/context.rs @@ -36,6 +36,10 @@ const SKIP_CONTENT_FILES: &[&str] = &[ pub struct ContextBuilder; impl ContextBuilder { + #[tracing::instrument( + skip_all, + fields(symbols = symbols.len(), diffs = diffs.len(), files = changes.files.len()) + )] pub fn build( changes: &StagedChanges, symbols: &[CodeSymbol],