| Index: pkg/analysis_server/lib/src/status/diagnostics.dart
|
| diff --git a/pkg/analysis_server/lib/src/status/diagnostics.dart b/pkg/analysis_server/lib/src/status/diagnostics.dart
|
| index af4687498a7ccde4376b03ca5eafbe3e35f25952..bd97f6f595a149b4dfb645fd5cfab8212a93a977 100644
|
| --- a/pkg/analysis_server/lib/src/status/diagnostics.dart
|
| +++ b/pkg/analysis_server/lib/src/status/diagnostics.dart
|
| @@ -108,6 +108,11 @@ td.pre {
|
| white-space: nowrap;
|
| }
|
|
|
| +.scroll-table {
|
| + max-height: 190px;
|
| + overflow-x: auto;
|
| +}
|
| +
|
| .footer {
|
| padding-top: 3rem;
|
| padding-bottom: 3rem;
|
| @@ -428,7 +433,7 @@ class ProfilePage extends DiagnosticPageWithNav {
|
| // prepare sorted tags
|
| List<PerformanceTag> tags = PerformanceTag.all.toList();
|
| tags.remove(ServerPerformanceStatistics.idle);
|
| - tags.removeWhere((tag) => tag.label == 'unknown');
|
| + tags.remove(PerformanceTag.UNKNOWN);
|
| tags.sort((a, b) => b.elapsedMs - a.elapsedMs);
|
|
|
| // draw a pie chart
|
| @@ -466,8 +471,10 @@ class ProfilePage extends DiagnosticPageWithNav {
|
| buf.write('<th>$d</th>');
|
| }
|
| } else {
|
| - for (String d in data) {
|
| - buf.write('<td>$d</td>');
|
| + buf.write('<td>${data[0]}</td>');
|
| +
|
| + for (String d in data.sublist(1)) {
|
| + buf.write('<td class="right">$d</td>');
|
| }
|
| }
|
| buf.writeln('</tr>');
|
| @@ -607,20 +614,20 @@ class ContextsPage extends DiagnosticPageWithNav {
|
| h3('Context files');
|
|
|
| h4('Priority files ${lenCounter(priorityFiles)}', raw: true);
|
| - inputList(priorityFiles, (file) => buf.write(file));
|
| + ul(priorityFiles, (file) => buf.write(file), classes: 'scroll-table');
|
|
|
| h4('Added files ${lenCounter(addedFiles)}', raw: true);
|
| - inputList(addedFiles, (file) => buf.write(file));
|
| + ul(addedFiles, (file) => buf.write(file), classes: 'scroll-table');
|
|
|
| h4('ImplicitFiles files ${lenCounter(implicitFiles)}', raw: true);
|
| - inputList(implicitFiles, (file) => buf.write(file));
|
| + ul(implicitFiles, (file) => buf.write(file), classes: 'scroll-table');
|
|
|
| SourceFactory sourceFactory = driver.sourceFactory;
|
| if (sourceFactory is SourceFactoryImpl) {
|
| h3('Resolvers');
|
| for (UriResolver resolver in sourceFactory.resolvers) {
|
| h4(resolver.runtimeType.toString());
|
| - buf.write('<p>');
|
| + buf.write('<p class="scroll-table">');
|
| if (resolver is DartUriResolver) {
|
| DartSdk sdk = resolver.dartSdk;
|
| buf.write(' (sdk = ');
|
| @@ -890,8 +897,8 @@ class CommunicationsPage extends DiagnosticPageWithNav {
|
| h3('Current');
|
|
|
| int requestCount = perf.requestCount;
|
| - double averageLatency =
|
| - requestCount > 0 ? (perf.requestLatency / requestCount) : 0.0;
|
| + int averageLatency =
|
| + requestCount > 0 ? (perf.requestLatency ~/ requestCount) : 0;
|
| int maximumLatency = perf.maxLatency;
|
| double slowRequestPercent =
|
| requestCount > 0 ? (perf.slowRequestCount / requestCount) : 0.0;
|
| @@ -906,6 +913,13 @@ class CommunicationsPage extends DiagnosticPageWithNav {
|
| writeRow([printPercentage(slowRequestPercent), '> 150 ms latency'],
|
| classes: ["right", null]);
|
| buf.write('</table>');
|
| +
|
| + String time = server.uptime.toString();
|
| + if (time.contains('.')) {
|
| + time = time.substring(0, time.indexOf('.'));
|
| + }
|
| + buf.writeln(writeOption('Uptime', time));
|
| +
|
| buf.write('</div>');
|
| }
|
|
|
| @@ -914,8 +928,8 @@ class CommunicationsPage extends DiagnosticPageWithNav {
|
| perf = server.performanceDuringStartup;
|
|
|
| int requestCount = perf.requestCount;
|
| - double averageLatency =
|
| - requestCount > 0 ? (perf.requestLatency / requestCount) : 0.0;
|
| + int averageLatency =
|
| + requestCount > 0 ? (perf.requestLatency ~/ requestCount) : 0;
|
| int maximumLatency = perf.maxLatency;
|
| double slowRequestPercent =
|
| requestCount > 0 ? (perf.slowRequestCount / requestCount) : 0.0;
|
| @@ -934,7 +948,8 @@ class CommunicationsPage extends DiagnosticPageWithNav {
|
| if (server.performanceAfterStartup != null) {
|
| int startupTime =
|
| server.performanceAfterStartup.startTime - perf.startTime;
|
| - p('(initial analysis time: ${printMilliseconds(startupTime)})');
|
| + buf.writeln(
|
| + writeOption('Initial analysis time', printMilliseconds(startupTime)));
|
| }
|
| buf.write('</div>');
|
|
|
|
|