| Index: pkg/analyzer_cli/lib/src/driver.dart
|
| diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
|
| index 34d3728fe2b229928d0e0d4084ffb91428dc7165..9a272c2307a9a3ddcc8d6f611231e9157905db8b 100644
|
| --- a/pkg/analyzer_cli/lib/src/driver.dart
|
| +++ b/pkg/analyzer_cli/lib/src/driver.dart
|
| @@ -25,10 +25,13 @@ import 'package:analyzer/src/generated/java_io.dart';
|
| import 'package:analyzer/src/generated/sdk_io.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
| import 'package:analyzer/src/generated/source_io.dart';
|
| +import 'package:analyzer/src/generated/utilities_general.dart'
|
| + show PerformanceTag;
|
| import 'package:analyzer/src/services/lint.dart';
|
| import 'package:analyzer/src/task/options.dart';
|
| import 'package:analyzer_cli/src/analyzer_impl.dart';
|
| import 'package:analyzer_cli/src/options.dart';
|
| +import 'package:analyzer_cli/src/perf_report.dart';
|
| import 'package:linter/src/plugin/linter_plugin.dart';
|
| import 'package:package_config/discovery.dart' as pkgDiscovery;
|
| import 'package:package_config/packages.dart' show Packages;
|
| @@ -84,6 +87,8 @@ class Driver {
|
|
|
| /// Use the given command-line [args] to start this analysis driver.
|
| void start(List<String> args) {
|
| + int startTime = new DateTime.now().millisecondsSinceEpoch;
|
| +
|
| StringUtilities.INTERNER = new MappedInterner();
|
|
|
| _processPlugins();
|
| @@ -107,10 +112,24 @@ class Driver {
|
| exitCode = severity.ordinal;
|
| }
|
| }
|
| +
|
| + if (options.perfReport != null) {
|
| + String json = makePerfReport(startTime, currentTimeMillis(), options);
|
| + new File(options.perfReport).writeAsStringSync(json);
|
| + }
|
| }
|
|
|
| - /// Perform analysis according to the given [options].
|
| ErrorSeverity _analyzeAll(CommandLineOptions options) {
|
| + return _analyzeAllTag.makeCurrentWhile(() {
|
| + return _analyzeAllImpl(options);
|
| + });
|
| + }
|
| +
|
| + static final PerformanceTag _analyzeAllTag =
|
| + new PerformanceTag("Driver._analyzeAll");
|
| +
|
| + /// Perform analysis according to the given [options].
|
| + ErrorSeverity _analyzeAllImpl(CommandLineOptions options) {
|
| if (!options.machineFormat) {
|
| outSink.writeln("Analyzing ${options.sourceFiles}...");
|
| }
|
|
|