From 3a2b31e0f14b1047c8857368427c08c72e86fa56 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 31 Jul 2019 13:35:14 -0700 Subject: [PATCH 1/2] Add RDT count to the analysis_complete event --- .../Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs | 5 +++++ src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs | 6 ++++++ src/LanguageServer/Impl/Implementation/Server.Telemetry.cs | 1 + 3 files changed, 12 insertions(+) diff --git a/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs b/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs index 442327bd8..f885fc88f 100644 --- a/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs +++ b/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs @@ -90,5 +90,10 @@ public interface IRunningDocumentTable { /// Fires when document is removed. /// event EventHandler Removed; + + /// + /// Gets the number of documents in the table. + /// + int Count(); } } diff --git a/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs b/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs index cb99f182d..cfeeda363 100644 --- a/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs +++ b/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs @@ -69,6 +69,12 @@ public IEnumerable GetDocuments() { } } + public int Count() { + lock (_lock) { + return _documentsByUri.Count; + } + } + /// /// Adds file to the list of available documents. /// diff --git a/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs b/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs index 97a954490..83365c687 100644 --- a/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs +++ b/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs @@ -48,6 +48,7 @@ private void OnAnalysisComplete(object sender, AnalysisCompleteEventArgs e) { te.Measurements["workingMB"] = workingMB; te.Measurements["elapsedMs"] = e.MillisecondsElapsed; te.Measurements["moduleCount"] = e.ModuleCount; + te.Measurements["rdtCount"] = _rdt.Count(); telemetry.SendTelemetryAsync(te).DoNotWait(); } From f5b411826ca41130b660981caedb441edab66f04 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 31 Jul 2019 14:01:51 -0700 Subject: [PATCH 2/2] Use property instead of method --- .../Impl/Documents/Definitions/IRunningDocumentTable.cs | 2 +- src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs | 8 +++++--- .../Impl/Implementation/Server.Telemetry.cs | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs b/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs index f885fc88f..b1e9dcaef 100644 --- a/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs +++ b/src/Analysis/Ast/Impl/Documents/Definitions/IRunningDocumentTable.cs @@ -94,6 +94,6 @@ public interface IRunningDocumentTable { /// /// Gets the number of documents in the table. /// - int Count(); + int DocumentCount { get; } } } diff --git a/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs b/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs index cfeeda363..34e017efc 100644 --- a/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs +++ b/src/Analysis/Ast/Impl/Documents/RunningDocumentTable.cs @@ -69,9 +69,11 @@ public IEnumerable GetDocuments() { } } - public int Count() { - lock (_lock) { - return _documentsByUri.Count; + public int DocumentCount { + get { + lock (_lock) { + return _documentsByUri.Count; + } } } diff --git a/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs b/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs index 83365c687..4dcfdd079 100644 --- a/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs +++ b/src/LanguageServer/Impl/Implementation/Server.Telemetry.cs @@ -48,7 +48,7 @@ private void OnAnalysisComplete(object sender, AnalysisCompleteEventArgs e) { te.Measurements["workingMB"] = workingMB; te.Measurements["elapsedMs"] = e.MillisecondsElapsed; te.Measurements["moduleCount"] = e.ModuleCount; - te.Measurements["rdtCount"] = _rdt.Count(); + te.Measurements["rdtCount"] = _rdt.DocumentCount; telemetry.SendTelemetryAsync(te).DoNotWait(); }