diff --git a/pkg/analysis_server/lib/src/domain_diagnostic.dart b/pkg/analysis_server/lib/src/domain_diagnostic.dart index 22e34880dc0..5d30d928522 100644 --- a/pkg/analysis_server/lib/src/domain_diagnostic.dart +++ b/pkg/analysis_server/lib/src/domain_diagnostic.dart @@ -138,7 +138,7 @@ class Sampler { } /// Get the average for the context associated with the given [folder]. - int getAverage(Folder folder) { + num getAverage(Folder folder) { resetTimerCountdown(); return averages[folder].value; } diff --git a/pkg/analysis_server/lib/src/status/get_handler.dart b/pkg/analysis_server/lib/src/status/get_handler.dart index c51e4826e39..898dda8b150 100644 --- a/pkg/analysis_server/lib/src/status/get_handler.dart +++ b/pkg/analysis_server/lib/src/status/get_handler.dart @@ -183,11 +183,23 @@ class GetHandler { */ final Map _overlayContents = {}; + /** + * Handler for diagnostics requests. + */ + DiagnosticDomainHandler _diagnosticHandler; + /** * Initialize a newly created handler for GET requests. */ GetHandler(this._server, this._printBuffer); + DiagnosticDomainHandler get diagnosticHandler { + if (_diagnosticHandler == null) { + _diagnosticHandler = new DiagnosticDomainHandler(_server.analysisServer); + } + return _diagnosticHandler; + } + /** * Return the active [CompletionDomainHandler] * or `null` if either analysis server is not running @@ -1484,14 +1496,11 @@ class GetHandler { * Write the status of the diagnostic domain to the given [buffer]. */ void _writeDiagnosticStatus(StringBuffer buffer) { - DiagnosticDomainHandler handler = - new DiagnosticDomainHandler(_server.analysisServer); - var request = new DiagnosticGetDiagnosticsParams().toRequest('0'); var stopwatch = new Stopwatch(); stopwatch.start(); - var response = handler.handleRequest(request); + var response = diagnosticHandler.handleRequest(request); stopwatch.stop(); int elapsedMs = stopwatch.elapsedMilliseconds;