[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.
This commit is contained in:
Andrew Gallant 2025-07-10 14:31:06 -04:00 committed by Andrew Gallant
parent c9df4ddf6a
commit 6ea231e458

View file

@ -1,4 +1,5 @@
use std::borrow::Cow; use std::borrow::Cow;
use std::time::Instant;
use lsp_types::request::Completion; use lsp_types::request::Completion;
use lsp_types::{CompletionItem, CompletionItemKind, CompletionParams, CompletionResponse, Url}; use lsp_types::{CompletionItem, CompletionItemKind, CompletionParams, CompletionResponse, Url};
@ -31,6 +32,8 @@ impl BackgroundDocumentRequestHandler for CompletionRequestHandler {
_client: &Client, _client: &Client,
params: CompletionParams, params: CompletionParams,
) -> crate::server::Result<Option<CompletionResponse>> { ) -> crate::server::Result<Option<CompletionResponse>> {
let start = Instant::now();
if snapshot.client_settings().is_language_services_disabled() { if snapshot.client_settings().is_language_services_disabled() {
return Ok(None); return Ok(None);
} }
@ -66,7 +69,12 @@ impl BackgroundDocumentRequestHandler for CompletionRequestHandler {
} }
}) })
.collect(); .collect();
let len = items.len();
let response = CompletionResponse::Array(items); let response = CompletionResponse::Array(items);
tracing::debug!(
"Completions request returned {len} suggestions in {elapsed:?}",
elapsed = Instant::now().duration_since(start)
);
Ok(Some(response)) Ok(Some(response))
} }
} }