From 6ea231e458d7a4e035d9b79b889d2666d6573de2 Mon Sep 17 00:00:00 2001 From: Andrew Gallant Date: Thu, 10 Jul 2025 14:31:06 -0400 Subject: [PATCH] [ty] Add debug output with completion request timings I had this in a branch somewhere but forgot to get it merged. So I'm sneaking it in here. This is useful for very ad hoc performance testing. --- crates/ty_server/src/server/api/requests/completion.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/ty_server/src/server/api/requests/completion.rs b/crates/ty_server/src/server/api/requests/completion.rs index 53e14574e1..2ff11b44b1 100644 --- a/crates/ty_server/src/server/api/requests/completion.rs +++ b/crates/ty_server/src/server/api/requests/completion.rs @@ -1,4 +1,5 @@ use std::borrow::Cow; +use std::time::Instant; use lsp_types::request::Completion; use lsp_types::{CompletionItem, CompletionItemKind, CompletionParams, CompletionResponse, Url}; @@ -31,6 +32,8 @@ impl BackgroundDocumentRequestHandler for CompletionRequestHandler { _client: &Client, params: CompletionParams, ) -> crate::server::Result> { + let start = Instant::now(); + if snapshot.client_settings().is_language_services_disabled() { return Ok(None); } @@ -66,7 +69,12 @@ impl BackgroundDocumentRequestHandler for CompletionRequestHandler { } }) .collect(); + let len = items.len(); let response = CompletionResponse::Array(items); + tracing::debug!( + "Completions request returned {len} suggestions in {elapsed:?}", + elapsed = Instant::now().duration_since(start) + ); Ok(Some(response)) } }