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

Unified Diff: pkg/analyzer/lib/instrumentation/instrumentation.dart

Issue 2748683003: Fix bugs and add instrumentation (Closed)
Patch Set: Created 3 years, 9 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analyzer_plugin/lib/plugin/plugin.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/instrumentation/instrumentation.dart
diff --git a/pkg/analyzer/lib/instrumentation/instrumentation.dart b/pkg/analyzer/lib/instrumentation/instrumentation.dart
index 49919fc642a0fbe0b7412452ac9b4d80dac42f37..ac01fef8ce1c542bad06286e29914a0e52da1444 100644
--- a/pkg/analyzer/lib/instrumentation/instrumentation.dart
+++ b/pkg/analyzer/lib/instrumentation/instrumentation.dart
@@ -23,14 +23,14 @@ class AnalysisPerformanceKind {
*/
abstract class InstrumentationServer {
/**
- * Return the identifier used to identify the current session.
+ * A user-friendly description of this instrumentation server.
*/
- String get sessionId;
+ String get describe;
/**
- * A user-friendly description of this instrumentation server.
+ * Return the identifier used to identify the current session.
*/
- String get describe;
+ String get sessionId;
/**
* Pass the given [message] to the instrumentation server so that it will be
@@ -75,6 +75,9 @@ class InstrumentationService {
static const String TAG_LOG_ENTRY = 'Log';
static const String TAG_NOTIFICATION = 'Noti';
static const String TAG_PERFORMANCE = 'Perf';
+ static const String TAG_PLUGIN_NOTIFICATION = 'PluginNoti';
+ static const String TAG_PLUGIN_REQUEST = 'PluginReq';
+ static const String TAG_PLUGIN_RESPONSE = 'PluginRes';
static const String TAG_REQUEST = 'Req';
static const String TAG_RESPONSE = 'Res';
static const String TAG_SUBPROCESS_START = 'SPStart';
@@ -99,6 +102,8 @@ class InstrumentationService {
*/
InstrumentationService(this._instrumentationServer);
+ InstrumentationServer get instrumentationServer => _instrumentationServer;
+
/**
* Return `true` if this [InstrumentationService] was initialized with a
* non-`null` server (and hence instrumentation is active).
@@ -115,8 +120,6 @@ class InstrumentationService {
*/
String get _timestamp => new DateTime.now().millisecondsSinceEpoch.toString();
- InstrumentationServer get instrumentationServer => _instrumentationServer;
-
/**
* Log that the given analysis [task] is being performed in the given
* [context].
@@ -201,6 +204,27 @@ class InstrumentationService {
}
}
+ void logPluginNotification(Uri pluginUri, String notification) {
+ if (_instrumentationServer != null) {
+ _instrumentationServer.log(
+ _join([TAG_PLUGIN_NOTIFICATION, _toString(pluginUri), notification]));
+ }
+ }
+
+ void logPluginRequest(Uri pluginUri, String request) {
+ if (_instrumentationServer != null) {
+ _instrumentationServer
+ .log(_join([TAG_PLUGIN_REQUEST, _toString(pluginUri), request]));
+ }
+ }
+
+ void logPluginResponse(Uri pluginUri, String response) {
+ if (_instrumentationServer != null) {
+ _instrumentationServer
+ .log(_join([TAG_PLUGIN_RESPONSE, _toString(pluginUri), response]));
+ }
+ }
+
/**
* Log that the given priority [exception] was thrown, with the given
* [stackTrace].
@@ -374,9 +398,6 @@ class MulticastInstrumentationServer implements InstrumentationServer {
MulticastInstrumentationServer(this._servers);
@override
- String get sessionId => _servers[0].sessionId;
-
- @override
String get describe {
return _servers
.map((InstrumentationServer server) => server.describe)
@@ -384,6 +405,9 @@ class MulticastInstrumentationServer implements InstrumentationServer {
}
@override
+ String get sessionId => _servers[0].sessionId;
+
+ @override
void log(String message) {
for (InstrumentationServer server in _servers) {
server.log(message);
« no previous file with comments | « no previous file | pkg/analyzer_plugin/lib/plugin/plugin.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698