Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: pkg/analysis_server/lib/src/status/get_handler.dart

Issue 2530273004: Status page for the new analysis driver. (Closed)
Patch Set: Fixes for review comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analysis_server.src.status.get_handler; 5 library analysis_server.src.status.get_handler;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import 'dart:convert'; 8 import 'dart:convert';
9 import 'dart:io'; 9 import 'dart:io';
10 import 'dart:math'; 10 import 'dart:math';
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 import 'package:analyzer/task/model.dart'; 52 import 'package:analyzer/task/model.dart';
53 import 'package:plugin/plugin.dart'; 53 import 'package:plugin/plugin.dart';
54 54
55 /** 55 /**
56 * A function that can be used to generate HTML output into the given [buffer]. 56 * A function that can be used to generate HTML output into the given [buffer].
57 * The HTML that is generated must be valid (special characters must already be 57 * The HTML that is generated must be valid (special characters must already be
58 * encoded). 58 * encoded).
59 */ 59 */
60 typedef void HtmlGenerator(StringBuffer buffer); 60 typedef void HtmlGenerator(StringBuffer buffer);
61 61
62 /**
63 * Instances of the class [AbstractGetHandler] handle GET requests.
64 */
65 abstract class AbstractGetHandler {
66 /**
67 * Handle a GET request received by the HTTP server.
68 */
69 void handleGetRequest(HttpRequest request);
70 }
71
62 class ElementCounter extends RecursiveElementVisitor { 72 class ElementCounter extends RecursiveElementVisitor {
63 Map<Type, int> counts = new HashMap<Type, int>(); 73 Map<Type, int> counts = new HashMap<Type, int>();
64 int elementsWithDocs = 0; 74 int elementsWithDocs = 0;
65 int totalDocSpan = 0; 75 int totalDocSpan = 0;
66 76
67 void visit(Element element) { 77 void visit(Element element) {
68 String comment = element.documentationComment; 78 String comment = element.documentationComment;
69 if (comment != null) { 79 if (comment != null) {
70 ++elementsWithDocs; 80 ++elementsWithDocs;
71 totalDocSpan += comment.length; 81 totalDocSpan += comment.length;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 @override 200 @override
191 visitTypeParameterElement(TypeParameterElement element) { 201 visitTypeParameterElement(TypeParameterElement element) {
192 visit(element); 202 visit(element);
193 super.visitTypeParameterElement(element); 203 super.visitTypeParameterElement(element);
194 } 204 }
195 } 205 }
196 206
197 /** 207 /**
198 * Instances of the class [GetHandler] handle GET requests. 208 * Instances of the class [GetHandler] handle GET requests.
199 */ 209 */
200 class GetHandler { 210 class GetHandler implements AbstractGetHandler {
201 /** 211 /**
202 * The path used to request overall performance information. 212 * The path used to request overall performance information.
203 */ 213 */
204 static const String ANALYSIS_PERFORMANCE_PATH = '/perf/analysis'; 214 static const String ANALYSIS_PERFORMANCE_PATH = '/perf/analysis';
205 215
206 /** 216 /**
207 * The path used to request information about a element model. 217 * The path used to request information about a element model.
208 */ 218 */
209 static const String AST_PATH = '/ast'; 219 static const String AST_PATH = '/ast';
210 220
(...skipping 2288 matching lines...) Expand 10 before | Expand all | Expand 10 after
2499 Set<ServerService> services = analysisServer.serverServices; 2509 Set<ServerService> services = analysisServer.serverServices;
2500 2510
2501 buffer.write('<h3>Server Domain</h3>'); 2511 buffer.write('<h3>Server Domain</h3>');
2502 _writeTwoColumns(buffer, (StringBuffer buffer) { 2512 _writeTwoColumns(buffer, (StringBuffer buffer) {
2503 if (analysisServer == null) { 2513 if (analysisServer == null) {
2504 buffer.write('Status: <span style="color:red">Not running</span>'); 2514 buffer.write('Status: <span style="color:red">Not running</span>');
2505 return; 2515 return;
2506 } 2516 }
2507 buffer.write('<p>'); 2517 buffer.write('<p>');
2508 buffer.write('Status: Running<br>'); 2518 buffer.write('Status: Running<br>');
2519 buffer.write('New analysis driver: ');
2520 buffer.write(analysisServer.options.enableNewAnalysisDriver);
2521 buffer.write('<br>');
2509 buffer.write('Instrumentation: '); 2522 buffer.write('Instrumentation: ');
2510 if (AnalysisEngine.instance.instrumentationService.isActive) { 2523 if (AnalysisEngine.instance.instrumentationService.isActive) {
2511 buffer.write('<span style="color:red">Active</span>'); 2524 buffer.write('<span style="color:red">Active</span>');
2512 } else { 2525 } else {
2513 buffer.write('Inactive'); 2526 buffer.write('Inactive');
2514 } 2527 }
2515 buffer.write('<br>'); 2528 buffer.write('<br>');
2516 buffer.write('Version: '); 2529 buffer.write('Version: ');
2517 buffer.write(AnalysisServer.VERSION); 2530 buffer.write(AnalysisServer.VERSION);
2518 buffer.write('<br>'); 2531 buffer.write('<br>');
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
2731 */ 2744 */
2732 static String makeLink( 2745 static String makeLink(
2733 String path, Map<String, String> params, String innerHtml, 2746 String path, Map<String, String> params, String innerHtml,
2734 [bool hasError = false]) { 2747 [bool hasError = false]) {
2735 Uri uri = new Uri(path: path, queryParameters: params); 2748 Uri uri = new Uri(path: path, queryParameters: params);
2736 String href = HTML_ESCAPE.convert(uri.toString()); 2749 String href = HTML_ESCAPE.convert(uri.toString());
2737 String classAttribute = hasError ? ' class="error"' : ''; 2750 String classAttribute = hasError ? ' class="error"' : '';
2738 return '<a href="$href"$classAttribute>$innerHtml</a>'; 2751 return '<a href="$href"$classAttribute>$innerHtml</a>';
2739 } 2752 }
2740 } 2753 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698