Index: pkg/analysis_server/lib/src/analysis_server.dart |
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart |
index 922321474eca22eac1d21a0f19d1fec3c92c6b43..62d222c9c2c2e284ea6c1d179adacdd326517f5f 100644 |
--- a/pkg/analysis_server/lib/src/analysis_server.dart |
+++ b/pkg/analysis_server/lib/src/analysis_server.dart |
@@ -61,6 +61,9 @@ import 'package:front_end/src/base/performace_logger.dart'; |
import 'package:front_end/src/incremental/byte_store.dart'; |
import 'package:front_end/src/incremental/file_byte_store.dart'; |
import 'package:plugin/plugin.dart'; |
+import 'package:telemetry/crash_reporting.dart'; |
+import 'package:telemetry/telemetry.dart' as telemetry; |
+import 'package:usage/usage.dart'; |
import 'package:watcher/watcher.dart'; |
typedef void OptionUpdater(AnalysisOptionsImpl options); |
@@ -778,6 +781,9 @@ class AnalysisServer { |
new ServerErrorParams(fatal, message, buffer.toString()) |
.toNotification()); |
+ // send to crash reporting |
+ options.crashReportSender.sendReport(exception, stackTrace: stackTrace); |
+ |
// remember the last few exceptions |
if (exception is CaughtException) { |
stackTrace ??= exception.stackTrace; |
@@ -1051,8 +1057,16 @@ class AnalysisServerOptions { |
String clientId; |
String clientVersion; |
+ telemetry.Analytics analytics; |
+ CrashReportSender crashReportSender; |
+ |
// IDE options |
bool enableVerboseFlutterCompletions = false; |
+ |
+ void addMocks() { |
+ analytics = new AnalyticsMock()..enabled = false; |
+ crashReportSender = new CrashReportSender('mock-crash-id', analytics); |
+ } |
} |
/** |