diff options
author | Simon Delisle | 2013-07-30 20:02:46 +0000 |
---|---|---|
committer | Bernd Hufmann | 2013-07-31 19:53:02 +0000 |
commit | d7907a52f9d0420c6888b95625cb2780c868fc54 (patch) | |
tree | 28c82a3826670ea2cb46e964bb449594869fae13 /lttng/org.eclipse.linuxtools.lttng2.ui | |
parent | dd1a8914261e00a15ed1ec4c9a8d2ca688e4fb43 (diff) | |
download | org.eclipse.linuxtools-d7907a52f9d0420c6888b95625cb2780c868fc54.tar.gz org.eclipse.linuxtools-d7907a52f9d0420c6888b95625cb2780c868fc54.tar.xz org.eclipse.linuxtools-d7907a52f9d0420c6888b95625cb2780c868fc54.zip |
LTTng: Show the buffer type in the domain property view
Change-Id: I518cdb438c2e2fc6a853fe0e012c3776e41e4459
Signed-off-by: Simon Delisle <simon.delisle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/15017
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Diffstat (limited to 'lttng/org.eclipse.linuxtools.lttng2.ui')
6 files changed, 50 insertions, 7 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/Messages.java index 760802d9cf..1d6ef941e7 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/Messages.java +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/Messages.java @@ -241,6 +241,7 @@ final public class Messages extends NLS { public static String TraceControl_StatePropertyName; public static String TraceControl_VersionPropertyName; public static String TraceControl_DomainNamePropertyName; + public static String TraceControl_BufferTypePropertyName; public static String TraceControl_ChannelNamePropertyName; public static String TraceControl_OverwriteModePropertyName; public static String TraceControl_SubBufferSizePropertyName; diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/messages.properties index 121a090a86..bc5b60ee7d 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/messages.properties +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/messages/messages.properties @@ -228,6 +228,7 @@ TraceControl_FilterPropertyName=Filter TraceControl_StatePropertyName=State TraceControl_VersionPropertyName=Version TraceControl_DomainNamePropertyName=Domain Name +TraceControl_BufferTypePropertyName=Buffer type TraceControl_ChannelNamePropertyName=Channel Name TraceControl_OverwriteModePropertyName=Overwrite Mode TraceControl_SubBufferSizePropertyName=Sub Buffer Size diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceDomainComponent.java b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceDomainComponent.java index 6db060992f..24be09caa2 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceDomainComponent.java +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceDomainComponent.java @@ -134,6 +134,13 @@ public class TraceDomainComponent extends TraceControlComponent { return ((TraceSessionComponent)getParent()).getTargetNode(); } + /** + * @return the buffer type + */ + public String getBufferType(){ + return fDomainInfo.getBufferType(); + } + // ------------------------------------------------------------------------ // Operations // ------------------------------------------------------------------------ diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/property/TraceDomainPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/property/TraceDomainPropertySource.java index b0ad41e240..b8b1fa574a 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/property/TraceDomainPropertySource.java +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/property/TraceDomainPropertySource.java @@ -11,6 +11,7 @@ **********************************************************************/ package org.eclipse.linuxtools.internal.lttng2.ui.views.control.property; +import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.BufferTypeConstants; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceDomainComponent; import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor; @@ -37,6 +38,14 @@ public class TraceDomainPropertySource extends BasePropertySource { * The trace domain 'name' property name. */ public static final String TRACE_DOMAIN_NAME_PROPERTY_NAME = Messages.TraceControl_DomainNamePropertyName; + /** + * The domain 'buffer type' property ID. + */ + public static final String BUFFER_TYPE_PROPERTY_ID = "trace.domain.bufferType"; //$NON-NLS-1$ + /** + * The domain 'buffer type' property name. + */ + public static final String BUFER_TYPE_PROPERTY_NAME = Messages.TraceControl_BufferTypePropertyName; // ------------------------------------------------------------------------ // Attributes @@ -45,7 +54,7 @@ public class TraceDomainPropertySource extends BasePropertySource { /** * The trace domain component which this property source is for. */ - private final TraceDomainComponent fBaseEvent; + private final TraceDomainComponent fDomain; // ------------------------------------------------------------------------ // Constructors @@ -56,7 +65,7 @@ public class TraceDomainPropertySource extends BasePropertySource { * @param component - the trace domain component */ public TraceDomainPropertySource(TraceDomainComponent component) { - fBaseEvent = component; + fDomain = component; } // ------------------------------------------------------------------------ @@ -65,14 +74,24 @@ public class TraceDomainPropertySource extends BasePropertySource { @Override public IPropertyDescriptor[] getPropertyDescriptors() { + if (fDomain.getBufferType().equals(BufferTypeConstants.BUFFER_TYPE_UNKNOWN)) { + return new IPropertyDescriptor[] { + new ReadOnlyTextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME) }; + } + return new IPropertyDescriptor[] { - new ReadOnlyTextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME)}; + new ReadOnlyTextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME), + new ReadOnlyTextPropertyDescriptor(BUFFER_TYPE_PROPERTY_ID, BUFER_TYPE_PROPERTY_NAME) }; } @Override public Object getPropertyValue(Object id) { + if(BUFFER_TYPE_PROPERTY_ID.equals(id)){ + return fDomain.getBufferType(); + } + if(TRACE_DOMAIN_NAME_PROPERTY_ID.equals(id)) { - return fBaseEvent.getName(); + return fDomain.getName(); } return null; } diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlService.java b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlService.java index 4517baa5bc..5158e96df4 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlService.java +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlService.java @@ -33,6 +33,7 @@ import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType; import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceEventType; import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel; import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.BaseEventInfo; +import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.BufferTypeConstants; import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.ChannelInfo; import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.DomainInfo; import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.EventInfo; @@ -192,7 +193,7 @@ public class LTTngControlService implements ILttngControlService { // in domain kernel ArrayList<IChannelInfo> channels = new ArrayList<IChannelInfo>(); - index = parseDomain(result.getOutput(), index, channels); + index = parseDomain(result.getOutput(), index, channels, domainInfo); if (channels.size() > 0) { // add domain @@ -213,7 +214,7 @@ public class LTTngControlService implements ILttngControlService { // in domain UST ArrayList<IChannelInfo> channels = new ArrayList<IChannelInfo>(); - index = parseDomain(result.getOutput(), index, channels); + index = parseDomain(result.getOutput(), index, channels, domainInfo); if (channels.size() > 0) { // add domain @@ -967,9 +968,11 @@ public class LTTngControlService implements ILttngControlService { * - current index in command output array * @param channels * - list for returning channel information + * @param domainInfo + * - The domain information * @return the new current index in command output array */ - protected int parseDomain(String[] output, int currentIndex, List<IChannelInfo> channels) { + protected int parseDomain(String[] output, int currentIndex, List<IChannelInfo> channels, IDomainInfo domainInfo) { int index = currentIndex; // Channels: @@ -987,6 +990,14 @@ public class LTTngControlService implements ILttngControlService { while (index < output.length) { String line = output[index]; + if (isVersionSupported("2.2.0")) { //$NON-NLS-1$ + Matcher bufferTypeMatcher = LTTngControlServiceConstants.BUFFER_TYPE_PATTERN.matcher(line); + if (bufferTypeMatcher.matches()) { + domainInfo.setBufferType(getAttributeValue(line)); + } + } else { + domainInfo.setBufferType(BufferTypeConstants.BUFFER_TYPE_UNKNOWN); + } Matcher outerMatcher = LTTngControlServiceConstants.CHANNELS_SECTION_PATTERN.matcher(line); Matcher noKernelChannelMatcher = LTTngControlServiceConstants.DOMAIN_NO_KERNEL_CHANNEL_PATTERN.matcher(line); Matcher noUstChannelMatcher = LTTngControlServiceConstants.DOMAIN_NO_UST_CHANNEL_PATTERN.matcher(line); diff --git a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlServiceConstants.java b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlServiceConstants.java index 0e549e580b..ab170766d7 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlServiceConstants.java +++ b/lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlServiceConstants.java @@ -285,6 +285,10 @@ public interface LTTngControlServiceConstants { */ static final Pattern DOMAIN_NO_UST_CHANNEL_PATTERN = Pattern.compile("\\s*Error\\:\\s+UST\\s+channel\\s+not\\s+found.*"); //$NON-NLS-1$ /** + * Pattern to match for buffer type (lttng list <session>) + */ + static final Pattern BUFFER_TYPE_PATTERN = Pattern.compile("\\s*Buffer\\s+type\\:.*"); //$NON-NLS-1$ + /** * Pattern to match for channels section (lttng list <session>) */ static final Pattern CHANNELS_SECTION_PATTERN = Pattern.compile("\\s*Channels\\:"); //$NON-NLS-1$ |