| Index: pkg/analysis_server/tool/instrumentation/log/log.dart
|
| diff --git a/pkg/analysis_server/tool/instrumentation/log/log.dart b/pkg/analysis_server/tool/instrumentation/log/log.dart
|
| index 70c23db220ef49e5ba67b28fec3d63d5cb5650c0..544013cd027993a1778d0e24799443f90caa1f39 100644
|
| --- a/pkg/analysis_server/tool/instrumentation/log/log.dart
|
| +++ b/pkg/analysis_server/tool/instrumentation/log/log.dart
|
| @@ -162,6 +162,23 @@ class GenericEntry extends LogEntry {
|
| }
|
|
|
| /**
|
| + * A log entry representing an PluginErr entry.
|
| + */
|
| +class GenericPluginEntry extends GenericEntry with PluginEntryMixin {
|
| + /**
|
| + * The components describing the plugin associated with this entry.
|
| + */
|
| + final List<String> pluginData;
|
| +
|
| + /**
|
| + * Initialize a newly created log entry.
|
| + */
|
| + GenericPluginEntry(int index, int timeStamp, String entryKind,
|
| + List<String> components, this.pluginData)
|
| + : super(index, timeStamp, entryKind, components);
|
| +}
|
| +
|
| +/**
|
| * A representation of an instrumentation log.
|
| */
|
| class InstrumentationLog {
|
| @@ -551,6 +568,26 @@ abstract class JsonBasedEntry extends LogEntry {
|
| }
|
|
|
| /**
|
| + * A log entry representing a communication between the server and a plugin.
|
| + */
|
| +abstract class JsonBasedPluginEntry extends JsonBasedEntry
|
| + with PluginEntryMixin {
|
| + /**
|
| + * The components describing the plugin associated with this entry.
|
| + */
|
| + final List<String> pluginData;
|
| +
|
| + /**
|
| + * Initialize a newly created entry to have the given [timeStamp] and
|
| + * [notificationData] and to be associated with the plugin with the given
|
| + * [pluginData].
|
| + */
|
| + JsonBasedPluginEntry(
|
| + int index, int timeStamp, Map notificationData, this.pluginData)
|
| + : super(index, timeStamp, notificationData);
|
| +}
|
| +
|
| +/**
|
| * A single entry in an instrumentation log.
|
| */
|
| abstract class LogEntry {
|
| @@ -639,26 +676,26 @@ abstract class LogEntry {
|
| } else if (entryKind == InstrumentationService.TAG_PERFORMANCE) {
|
| // Fall through
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_ERROR) {
|
| - return new PluginErrorEntry(
|
| - index, timeStamp, entryKind, components[2], components.sublist(3));
|
| + return new PluginErrorEntry(index, timeStamp, entryKind,
|
| + components.sublist(2, 4), components.sublist(4));
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_EXCEPTION) {
|
| - return new PluginExceptionEntry(
|
| - index, timeStamp, entryKind, components[2], components.sublist(3));
|
| + return new PluginExceptionEntry(index, timeStamp, entryKind,
|
| + components.sublist(2, 5), components.sublist(5));
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_NOTIFICATION) {
|
| - Map requestData = JSON.decode(components[3]);
|
| + Map requestData = JSON.decode(components[2]);
|
| return new PluginNotificationEntry(
|
| - index, timeStamp, components[2], requestData);
|
| + index, timeStamp, requestData, components.sublist(3));
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_REQUEST) {
|
| - Map requestData = JSON.decode(components[3]);
|
| + Map requestData = JSON.decode(components[2]);
|
| return new PluginRequestEntry(
|
| - index, timeStamp, components[2], requestData);
|
| + index, timeStamp, requestData, components.sublist(3));
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_RESPONSE) {
|
| - Map responseData = JSON.decode(components[3]);
|
| + Map responseData = JSON.decode(components[2]);
|
| return new PluginResponseEntry(
|
| - index, timeStamp, components[2], responseData);
|
| + index, timeStamp, responseData, components.sublist(3));
|
| } else if (entryKind == InstrumentationService.TAG_PLUGIN_TIMEOUT) {
|
| - return new PluginErrorEntry(
|
| - index, timeStamp, entryKind, components[2], components.sublist(3));
|
| + return new PluginErrorEntry(index, timeStamp, entryKind,
|
| + components.sublist(2, 3), components.sublist(3));
|
| } else if (entryKind == InstrumentationService.TAG_REQUEST) {
|
| Map requestData = JSON.decode(components[2]);
|
| return new RequestEntry(index, timeStamp, requestData);
|
| @@ -833,29 +870,26 @@ class NotificationEntry extends JsonBasedEntry {
|
| /**
|
| * A log entry representing a communication between the server and a plugin.
|
| */
|
| -abstract class PluginEntry extends JsonBasedEntry with PluginEntryMixin {
|
| +abstract class PluginEntryMixin {
|
| /**
|
| - * The id of the plugin being communicated with.
|
| + * The components describing the plugin associated with this entry.
|
| */
|
| - final String pluginId;
|
| + List<String> get pluginData;
|
|
|
| /**
|
| - * Initialize a newly created entry to have the given [timeStamp] and
|
| - * [notificationData] and to be associated with the plugin with the given
|
| - * [pluginId].
|
| + * The id of the plugin associated with this entry.
|
| */
|
| - PluginEntry(int index, int timeStamp, this.pluginId, Map notificationData)
|
| - : super(index, timeStamp, notificationData);
|
| -}
|
| + String get pluginId => pluginData[0];
|
| +
|
| + /**
|
| + * The name of the plugin associated with this entry.
|
| + */
|
| + String get pluginName => pluginData[1];
|
|
|
| -/**
|
| - * A log entry representing a communication between the server and a plugin.
|
| - */
|
| -abstract class PluginEntryMixin {
|
| /**
|
| - * The id of the plugin being communicated with.
|
| + * The version of the plugin associated with this entry.
|
| */
|
| - String get pluginId;
|
| + String get pluginVersion => pluginData[2];
|
|
|
| /**
|
| * Return a shortened version of the plugin id.
|
| @@ -872,49 +906,39 @@ abstract class PluginEntryMixin {
|
| /**
|
| * A log entry representing an PluginErr entry.
|
| */
|
| -class PluginErrorEntry extends GenericEntry with PluginEntryMixin {
|
| - /**
|
| - * The id of the plugin that generated the error.
|
| - */
|
| - final String pluginId;
|
| -
|
| +class PluginErrorEntry extends GenericPluginEntry {
|
| /**
|
| * Initialize a newly created log entry.
|
| */
|
| - PluginErrorEntry(int index, int timeStamp, String entryKind, this.pluginId,
|
| - List<String> components)
|
| - : super(index, timeStamp, entryKind, components);
|
| + PluginErrorEntry(int index, int timeStamp, String entryKind,
|
| + List<String> components, List<String> pluginData)
|
| + : super(index, timeStamp, entryKind, components, pluginData);
|
| }
|
|
|
| /**
|
| * A log entry representing an PluginEx entry.
|
| */
|
| -class PluginExceptionEntry extends GenericEntry with PluginEntryMixin {
|
| - /**
|
| - * The id of the plugin that generated the exception.
|
| - */
|
| - final String pluginId;
|
| -
|
| +class PluginExceptionEntry extends GenericPluginEntry {
|
| /**
|
| * Initialize a newly created log entry.
|
| */
|
| PluginExceptionEntry(int index, int timeStamp, String entryKind,
|
| - this.pluginId, List<String> components)
|
| - : super(index, timeStamp, entryKind, components);
|
| + List<String> components, List<String> pluginData)
|
| + : super(index, timeStamp, entryKind, components, pluginData);
|
| }
|
|
|
| /**
|
| * A log entry representing a notification that was sent from a plugin to the
|
| * server.
|
| */
|
| -class PluginNotificationEntry extends PluginEntry {
|
| +class PluginNotificationEntry extends JsonBasedPluginEntry {
|
| /**
|
| * Initialize a newly created notification to have the given [timeStamp] and
|
| * [notificationData].
|
| */
|
| PluginNotificationEntry(
|
| - int index, int timeStamp, String pluginId, Map notificationData)
|
| - : super(index, timeStamp, pluginId, notificationData);
|
| + int index, int timeStamp, Map notificationData, List<String> pluginData)
|
| + : super(index, timeStamp, notificationData, pluginData);
|
|
|
| /**
|
| * Return the event field of the notification.
|
| @@ -940,13 +964,14 @@ class PluginNotificationEntry extends PluginEntry {
|
| /**
|
| * A log entry representing a request that was sent from the server to a plugin.
|
| */
|
| -class PluginRequestEntry extends PluginEntry {
|
| +class PluginRequestEntry extends JsonBasedPluginEntry {
|
| /**
|
| * Initialize a newly created response to have the given [timeStamp] and
|
| * [requestData].
|
| */
|
| - PluginRequestEntry(int index, int timeStamp, String pluginId, Map requestData)
|
| - : super(index, timeStamp, pluginId, requestData);
|
| + PluginRequestEntry(
|
| + int index, int timeStamp, Map requestData, List<String> pluginData)
|
| + : super(index, timeStamp, requestData, pluginData);
|
|
|
| /**
|
| * Return the id field of the request.
|
| @@ -978,14 +1003,14 @@ class PluginRequestEntry extends PluginEntry {
|
| * A log entry representing a response that was sent from a plugin to the
|
| * server.
|
| */
|
| -class PluginResponseEntry extends PluginEntry {
|
| +class PluginResponseEntry extends JsonBasedPluginEntry {
|
| /**
|
| * Initialize a newly created response to have the given [timeStamp] and
|
| * [responseData].
|
| */
|
| PluginResponseEntry(
|
| - int index, int timeStamp, String pluginId, Map responseData)
|
| - : super(index, timeStamp, pluginId, responseData);
|
| + int index, int timeStamp, Map responseData, List<String> pluginData)
|
| + : super(index, timeStamp, responseData, pluginData);
|
|
|
| /**
|
| * Return the id field of the response.
|
|
|