summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs20
1 files changed, 18 insertions, 2 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index 9b531cc40..2d3864e0a 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -3807,14 +3807,30 @@ impl Inner {
.join("\n - ")
)
.unwrap();
+
contents
- .push_str("\n## Performance\n\n|Name|Duration|Count|\n|---|---|---|\n");
+ .push_str("\n## Performance (last 3 000 entries)\n\n|Name|Count|Duration|\n|---|---|---|\n");
let mut averages = self.performance.averages_as_f64();
averages.sort_by(|a, b| a.0.cmp(&b.0));
for (name, count, average_duration) in averages {
- writeln!(contents, "|{}|{}ms|{}|", name, average_duration, count)
+ writeln!(contents, "|{}|{}|{}ms|", name, count, average_duration)
.unwrap();
}
+
+ contents.push_str(
+ "\n## Performance (total)\n\n|Name|Count|Duration|\n|---|---|---|\n",
+ );
+ let mut measurements_by_type = self.performance.measurements_by_type();
+ measurements_by_type.sort_by(|a, b| a.0.cmp(&b.0));
+ for (name, total_count, total_duration) in measurements_by_type {
+ writeln!(
+ contents,
+ "|{}|{}|{:.3}ms|",
+ name, total_count, total_duration
+ )
+ .unwrap();
+ }
+
Some(contents)
} else {
let asset_or_doc = self.get_maybe_asset_or_document(&specifier);