OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 server.performance.analysis.timing; | 5 library server.performance.analysis.timing; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:io'; | 8 import 'dart:io'; |
9 | 9 |
10 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 10 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
11 import 'package:args/args.dart'; | 11 import 'package:args/args.dart'; |
12 import 'package:test/test.dart'; | 12 import 'package:test/test.dart'; |
13 | 13 |
14 import '../../test/utils.dart'; | |
15 import 'performance_tests.dart'; | 14 import 'performance_tests.dart'; |
16 | 15 |
17 /** | 16 /** |
18 * Pass in the directory of the source to be analyzed as option `--source`, | 17 * Pass in the directory of the source to be analyzed as option `--source`, |
19 * optionally specify a priority file with `--priority` and the specific | 18 * optionally specify a priority file with `--priority` and the specific |
20 * test to run with `--metric`. If no test is specified, the default is | 19 * test to run with `--metric`. If no test is specified, the default is |
21 * `analysis`. | 20 * `analysis`. |
22 */ | 21 */ |
23 main(List<String> arguments) { | 22 main(List<String> arguments) { |
24 initializeTestEnvironment(); | |
25 ArgParser parser = _createArgParser(); | 23 ArgParser parser = _createArgParser(); |
26 var args = parser.parse(arguments); | 24 var args = parser.parse(arguments); |
27 if (args[SOURCE_OPTION] == null) { | 25 if (args[SOURCE_OPTION] == null) { |
28 print('path to source directory must be specified'); | 26 print('path to source directory must be specified'); |
29 exit(1); | 27 exit(1); |
30 } | 28 } |
31 source = args[SOURCE_OPTION]; | 29 source = args[SOURCE_OPTION]; |
32 priorityFile = args[PRIORITY_FILE_OPTION]; | 30 priorityFile = args[PRIORITY_FILE_OPTION]; |
33 List names = args[METRIC_NAME_OPTION] as List; | 31 List names = args[METRIC_NAME_OPTION] as List; |
34 for (var name in names) { | 32 for (var name in names) { |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 154 |
157 sendAnalysisSetPriorityFiles([priorityFile]); | 155 sendAnalysisSetPriorityFiles([priorityFile]); |
158 | 156 |
159 await analysisFinished; | 157 await analysisFinished; |
160 print('analysis completed in ${stopwatch.elapsed}'); | 158 print('analysis completed in ${stopwatch.elapsed}'); |
161 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}')); | 159 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}')); |
162 | 160 |
163 await shutdown(); | 161 await shutdown(); |
164 } | 162 } |
165 } | 163 } |
OLD | NEW |