lttng-control: Fix parsing and display of loglevels (bug 429193)
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Mon, 26 May 2014 20:18:07 +0000 (16:18 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Tue, 27 May 2014 22:07:53 +0000 (18:07 -0400)
Change-Id: If42746ae361c4e9fe6210c2e1c9f1b253060f58e
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27310
Tested-by: Hudson CI
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27409

18 files changed:
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ChannelInfoTest.java
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/DomainInfoTest.java
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ModelImplFactory.java
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ProbeEventInfoTest.java
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SessionInfoTest.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IEventInfo.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BaseEventInfo.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java
org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlPropertiesTest.java
org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelTest.java
org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest.cfg
org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/ListInfoTest.cfg
org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceEventComponent.java
org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceEventPropertySource.java
org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlService.java
org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceConstants.java

index b8cae40663ff00e20ba56b27d91d805c4226deae..6dc8b9436ef2766270dc1319ff2995232437310b 100644 (file)
@@ -302,7 +302,7 @@ public class ChannelInfoTest {
         String result = fChannelInfo1.toString();
 
         // add additional test code here
-        assertEquals("[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])]", result);
+        assertEquals("[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])]", result);
     }
 
     // ------------------------------------------------------------------------
index e85c258f5e45af92af3814f62a4acda2fd6c245d..ff6fba5cf027fa2b1ab7f312874d691a0aa7ccd8 100644 (file)
@@ -147,7 +147,7 @@ public class DomainInfoTest {
     public void testToString_2() {
         String result = fDomainInfo1.toString();
 
-        assertEquals("[DomainInfo([TraceInfo(Name=test1)],Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])],isKernel=false)]", result);
+        assertEquals("[DomainInfo([TraceInfo(Name=test1)],Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],isKernel=false)]", result);
     }
 
     // ------------------------------------------------------------------------
index be5400a686cc483ec551d4558d75289f3b14f0ca..2affb71d160065172f490e8c99cf5682f06fb966 100644 (file)
@@ -19,6 +19,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
@@ -57,7 +58,7 @@ public class EventInfoTest {
     // ------------------------------------------------------------------------
 
     /**
-     * Run the BaseEventInfo() constructor test.
+     * Run the EventInfo() constructor test.
      */
     @Test
     public void testBaseEventInfo() {
@@ -78,6 +79,13 @@ public class EventInfoTest {
         assertEquals("DISABLED", state.toString());
         assertEquals(0, state.ordinal());
 
+        LogLevelType logType = fixture.getLogLevelType();
+        assertEquals("", logType.getShortName());
+        assertEquals("LOGLEVEL_NONE", logType.name());
+        assertEquals("LOGLEVEL_NONE", logType.toString());
+        assertEquals(0, state.ordinal());
+
+
     }
 
     /**
@@ -90,6 +98,7 @@ public class EventInfoTest {
         assertEquals(fEventInfo1.getName(), info.getName());
         assertEquals(fEventInfo1.getEventType(), info.getEventType());
         assertEquals(fEventInfo1.getState(), info.getState());
+        assertEquals(fEventInfo1.getLogLevelType(), info.getLogLevelType());
     }
 
     /**
@@ -187,6 +196,22 @@ public class EventInfoTest {
         assertEquals("ENABLED", state.name());
         assertEquals("ENABLED", state.toString());
         assertEquals(1, state.ordinal());
+
+        fixture.setLogLevelType("==");
+        assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
+        assertEquals("==", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType("<=");
+        assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
+        assertEquals("<=", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType("");
+        assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
+        assertEquals("", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
+        assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
+        assertEquals("==", fixture.getLogLevelType().getShortName());
     }
 
     /**
@@ -201,7 +226,23 @@ public class EventInfoTest {
         String result = fixture.toString();
 
         // add additional test code here
-        assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED)]", result);
+        assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_NONE)]", result);
+    }
+
+    /**
+     * Run the String toString() method test.
+     */
+    @Test
+    public void testToString_2() {
+        EventInfo fixture = new EventInfo("event");
+        fixture.setName("testName");
+        fixture.setEventType(TraceEventType.TRACEPOINT);
+        fixture.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
+
+        String result = fixture.toString();
+
+        // add additional test code here
+        assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_ONLY)]", result);
     }
 
     // ------------------------------------------------------------------------
index 22c8e004c3cae4a6a76d0eb8092d462dfe59b0b9..569f961007bf05e6bc6304875a5bca6dbe44fea1 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -81,9 +81,13 @@ public class ModelImplFactory {
 
         fEventInfo1 = new EventInfo("event1");
         fEventInfo1.setEventType(TraceEventType.TRACEPOINT);
+        fEventInfo1.setLogLevelType("==");
+        fEventInfo1.setLogLevel(TraceLogLevel.TRACE_DEBUG);
         fEventInfo1.setState(TraceEnablement.ENABLED);
 
         fEventInfo2 = new EventInfo("event2");
+        fEventInfo2.setLogLevelType("<=");
+        fEventInfo2.setLogLevel(TraceLogLevel.TRACE_INFO);
         fEventInfo2.setEventType(TraceEventType.UNKNOWN);
         fEventInfo2.setState(TraceEnablement.DISABLED);
 
index a3d6c42383eb30fdce7cbbe3276fa8bfcd66d330..5d046f5b84768c9a9ccd54c4557706f9001624c4 100644 (file)
@@ -140,8 +140,8 @@ public class ProbeEventInfoTest {
      */
     @Test
     public void testToString_1() {
-        assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)],fAddress=0xc1231234)]", fEventInfo1.toString());
-        assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent2)],type=FUNCTION,level=TRACE_DEBUG)],State=DISABLED)],fOffset=0x100,fSymbol=init_post)]", fEventInfo2.toString());
+        assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_NONE)],fAddress=0xc1231234)]", fEventInfo1.toString());
+        assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent2)],type=FUNCTION,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_NONE)],fOffset=0x100,fSymbol=init_post)]", fEventInfo2.toString());
     }
 
     // ------------------------------------------------------------------------
index 694c6d69d40d41551a0836f3ab084bae899071c1..5ff8cff71d7f1bc8d85ede963494379f4b74a3d8 100644 (file)
@@ -212,7 +212,7 @@ public class SessionInfoTest {
                 + "[SnapshotInfo([TraceInfo(Name=snapshot-1)],snapshotPath=/home/user/lttng-trace/mysession/,ID=1,isStreamedSnapshot=false)],"
                     + "Domains=[DomainInfo([TraceInfo(Name=test1)],"
                         + "Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),"
-                            + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])],"
+                            + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],"
                 + "isKernel=false)],NetworkUrl=null,ControlUrl=null,DataUrl=null)]", result);
     }
 
@@ -232,7 +232,7 @@ public class SessionInfoTest {
         assertEquals("[SessionInfo([TraceInfo(Name=session1)],Path=/home/user/lttng-trace/mysession/,State=ACTIVE,isStreamedTrace=false,isSnapshot=false,"
                     + "Domains=[DomainInfo([TraceInfo(Name=test1)],"
                         + "Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),"
-                            + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])],"
+                            + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],"
                 + "isKernel=false)],NetworkUrl=null,ControlUrl=null,DataUrl=null)]", result);
     }
 
index 4fc5033fa627a371213a9b63bafbc3db06865641..cd11e82b105708c09929f391f76eeccb97969bf4 100644 (file)
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2012, 2013 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,4 +37,22 @@ public interface IEventInfo extends IBaseEventInfo {
      */
     void setState(String stateName);
 
+    /**
+     * Returns the log level type.
+     * @return log level type.
+     */
+    LogLevelType getLogLevelType();
+
+    /**
+     * Sets the LogLevelType.
+     * @param type - log level type
+     */
+    void setLogLevelType(LogLevelType type);
+
+    /**
+     * Sets the LogLevelType based on given short name.
+     * @param shortName - short name of type
+     */
+    void setLogLevelType(String shortName);
+
 }
index 5ca363789fb650f8799aca202bb7899c3eba246d..ab0c405f56180829d9e32fdb614851ea0f4efbb7 100644 (file)
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2012 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,11 +24,42 @@ public enum LogLevelType {
     // Enum definition
     // ------------------------------------------------------------------------
     /** range of log levels [0,logLevel] */
-    LOGLEVEL,
+    LOGLEVEL("<="), //$NON-NLS-1$
 
     /** single log level */
-    LOGLEVEL_ONLY,
+    LOGLEVEL_ONLY("=="), //$NON-NLS-1$
 
     /** no log level */
-    LOGLEVEL_NONE;
+    LOGLEVEL_NONE(""); //$NON-NLS-1$
+
+    // ------------------------------------------------------------------------
+    // Constuctors
+    // ------------------------------------------------------------------------
+
+    /**
+     * Private constructor
+     * @param name the name of state
+     */
+    private LogLevelType(String shortName) {
+        fShortName = shortName;
+    }
+
+     // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * Name of enum.
+     */
+    private final String fShortName;
+
+    // ------------------------------------------------------------------------
+    // Accessors
+    // ------------------------------------------------------------------------
+    /**
+     * @return short string
+     */
+    public String getShortName() {
+        return fShortName;
+    }
+
 }
index a2a2e0769b4666f1163a2341f56f46d4b1c2d7d4..3b05baf9b63f3134a9b4a96d0867161a20e4db14 100644 (file)
@@ -68,6 +68,7 @@ public class BaseEventInfo extends TraceInfo implements IBaseEventInfo {
     public BaseEventInfo(BaseEventInfo other) {
         super(other);
         fEventType = other.fEventType;
+        fLogLevel = other.fLogLevel;
         for (Iterator<IFieldInfo> iterator = other.fFields.iterator(); iterator.hasNext();) {
             IFieldInfo field = iterator.next();
             if (field instanceof FieldInfo) {
@@ -252,4 +253,5 @@ public class BaseEventInfo extends TraceInfo implements IBaseEventInfo {
             output.append(")]");
             return output.toString();
     }
+
 }
index abfb5e14c1da7b026d0958aa093c5e9bd6568d95..ffc84d2146e0029d1b440e7ff57e2732acaa1607 100644 (file)
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2012, 2013 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -12,6 +12,7 @@
 package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
 
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
 
 /**
@@ -31,6 +32,10 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
      * The enable state of the event.
      */
     private TraceEnablement fState = TraceEnablement.DISABLED;
+    /**
+     * The log level type.
+     */
+    private LogLevelType fLogLevelType = LogLevelType.LOGLEVEL_NONE;
 
     // ------------------------------------------------------------------------
     // Constructors
@@ -50,6 +55,7 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
     public EventInfo(EventInfo other) {
         super(other);
         fState = other.fState;
+        fLogLevelType = other.fLogLevelType;
     }
 
     // ------------------------------------------------------------------------
@@ -76,11 +82,34 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
         }
     }
 
+    @Override
+    public LogLevelType getLogLevelType() {
+        return fLogLevelType;
+    }
+
+    @Override
+    public void setLogLevelType(LogLevelType type) {
+        fLogLevelType = type;
+    }
+
+    @Override
+    public void setLogLevelType(String shortName) {
+        if (LogLevelType.LOGLEVEL.getShortName().equals(shortName)) {
+            fLogLevelType = LogLevelType.LOGLEVEL;
+        } else if (LogLevelType.LOGLEVEL_ONLY.getShortName().equals(shortName)) {
+            fLogLevelType = LogLevelType.LOGLEVEL_ONLY;
+        } else {
+            fLogLevelType= LogLevelType.LOGLEVEL_NONE;
+        }
+    }
+
+
     @Override
     public int hashCode() {
         final int prime = 31;
         int result = super.hashCode();
         result = prime * result + ((fState == null) ? 0 : (fState.ordinal() + 1));
+        result = prime * result + ((fLogLevelType == null) ? 0 : fLogLevelType.hashCode());
         return result;
     }
 
@@ -99,6 +128,9 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
         if (fState != other.fState) {
             return false;
         }
+        if (fLogLevelType != other.fLogLevelType) {
+            return false;
+        }
         return true;
     }
 
@@ -110,6 +142,8 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
             output.append(super.toString());
             output.append(",State=");
             output.append(fState);
+            output.append(",levelType=");
+            output.append(fLogLevelType);
             output.append(")]");
             return output.toString();
     }
index c09c490b902b475eb6f5b6fae0c07c9300064ac5..12e41ce3beba124b0ea16907013c858a65a5e432 100644 (file)
@@ -333,6 +333,24 @@ public class TraceControlPropertiesTest {
         adapter = event.getAdapter(IPropertySource.class);
         assertEquals("with filter", event.getFilterExpression());
 
+        //-------------------------------------------------------------------------
+        // Verify Log Level Type of UST events (> LTTng 2.4)
+        //-------------------------------------------------------------------------
+        event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[0];
+        adapter = event.getAdapter(IPropertySource.class);
+        eventSource = (TraceEventPropertySource) adapter;
+        assertEquals("== TRACE_DEBUG_LINE", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
+
+        event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[1];
+        adapter = event.getAdapter(IPropertySource.class);
+        eventSource = (TraceEventPropertySource) adapter;
+        assertEquals("<= TRACE_INFO", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
+
+        event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[2];
+        adapter = event.getAdapter(IPropertySource.class);
+        eventSource = (TraceEventPropertySource) adapter;
+        assertEquals("TRACE_DEBUG_SYSTEM", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
+
         //-------------------------------------------------------------------------
         // Delete node
         //-------------------------------------------------------------------------
index 22086fb0d734ba65ddde15b4e7dce612a611847a..ac0b8108331e8795b08074f31a5fd205301e34f8 100644 (file)
@@ -26,6 +26,7 @@ import java.net.URL;
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
@@ -420,16 +421,34 @@ public class TraceControlTreeModelTest {
         // Verify event info (UST global, channel0)
         // ------------------------------------------------------------------------
         ustEvents = channel.getChildren();
-        assertEquals(2, ustEvents.length);
+        assertEquals(4, ustEvents.length);
 
         event = (TraceEventComponent) ustEvents[0];
         assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
         assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
+        assertEquals(LogLevelType.LOGLEVEL_ONLY, event.getLogLevelType());
+        assertEquals(LogLevelType.LOGLEVEL_ONLY.getShortName(), event.getLogLevelType().getShortName());
         assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
         assertEquals(TraceEnablement.DISABLED, event.getState());
 
         event = (TraceEventComponent) ustEvents[1];
-        assertEquals("*", ustEvents[1].getName());
+        assertEquals("ust_tests_hello:tptest_sighandler1", event.getName());
+        assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
+        assertEquals(LogLevelType.LOGLEVEL, event.getLogLevelType());
+        assertEquals(LogLevelType.LOGLEVEL.getShortName(), event.getLogLevelType().getShortName());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.DISABLED, event.getState());
+
+        event = (TraceEventComponent) ustEvents[2];
+        assertEquals("ust_tests_hello:tptest_sighandler2", event.getName());
+        assertEquals(TraceLogLevel.TRACE_DEBUG_SYSTEM, event.getLogLevel());
+        assertEquals(LogLevelType.LOGLEVEL_NONE, event.getLogLevelType());
+        assertEquals(LogLevelType.LOGLEVEL_NONE.getShortName(), event.getLogLevelType().getShortName());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.DISABLED, event.getState());
+
+        event = (TraceEventComponent) ustEvents[3];
+        assertEquals("*", event.getName());
         assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
         assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
         assertEquals(TraceEnablement.ENABLED, event.getState());
index 635a546f2ba3783679956dc140e8d6400fd02315..f3cc92d8f08ed41716961ad1c4aa634915f4e015 100644 (file)
@@ -1,5 +1,5 @@
 ####################################################################
-# Copyright (c) 2012, 2013 Ericsson
+# Copyright (c) 2012, 2014 Ericsson
 # 
 # All rights reserved. This program and the accompanying materials are
 # made available under the terms of the Eclipse Public License v1.0 which
@@ -2520,7 +2520,7 @@ Channels:
       output: splice()
 
     Events:
-      myevent1 (loglevel: TRACE_WARNING (4)) (type: tracepoint) [enabled]
+      myevent1 (loglevel <= TRACE_WARNING (4)) (type: tracepoint) [enabled]
       u* (type: tracepoint) [enabled]
       ust* (type: tracepoint) [enabled]
       ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
@@ -2589,8 +2589,8 @@ Channels:
       output: splice()
 
     Events:
-      myevent2 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
-      myevent1 (loglevel: TRACE_WARNING (4)) (type: loglevel) [enabled]
+      myevent2 (loglevel == TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      myevent1 (loglevel <= TRACE_WARNING (4)) (type: loglevel) [enabled]
       u* (type: tracepoint) [enabled]
       ust* (type: tracepoint) [enabled]
       ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
@@ -2633,7 +2633,7 @@ Channels:
       output: mmap()
 
     Events:
-      myevent0 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      myevent0 (loglevel <= TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
       ust* (type: tracepoint) [enabled]
 
 - mychannel2: [enabled]
@@ -2660,8 +2660,8 @@ Channels:
       output: splice()
 
     Events:
-      myevent2 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
-      myevent1 (loglevel: TRACE_WARNING (4)) (type: loglevel) [enabled]
+      myevent2 (loglevel <= TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      myevent1 (loglevel == TRACE_WARNING (4)) (type: loglevel) [enabled]
       u* (type: tracepoint) [enabled]
       ust* (type: tracepoint) [enabled]
       ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
index 19cbd155330521cf71d485365aec77334358ae0b..e7abfcd91245d822602987d8b779128857d990d8 100644 (file)
@@ -117,7 +117,9 @@ Channels:
       output: mmap()
 
     Events:
-      ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint) [disabled] [with filter]
+      ust_tests_hello:tptest_sighandler (loglevel == TRACE_DEBUG_LINE (13)) (type: tracepoint) [disabled] [with filter]
+      ust_tests_hello:tptest_sighandler1 (loglevel <= TRACE_INFO (7)) (type: tracepoint) [disabled] [with filter]
+      ust_tests_hello:tptest_sighandler2 (loglevel: TRACE_DEBUG_SYSTEM (8)) (type: tracepoint) [disabled] [with filter]
       * (type: tracepoint) [enabled]
 
 </COMMAND_OUTPUT>
index 9916d5d4bcf91de267e2cb8397e79fe56e25e856..531a507cb0157bbccbe692e6c688a70e4fb45eda 100644 (file)
@@ -17,6 +17,7 @@ import java.util.List;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
@@ -182,6 +183,22 @@ public class TraceEventComponent extends TraceControlComponent {
         fEventInfo.setFilterExpression(filter);
     }
 
+    /**
+     * Returns the log level type
+     * @return event log level type
+     */
+    public LogLevelType getLogLevelType() {
+        return fEventInfo.getLogLevelType();
+    }
+
+    /**
+     * Sets the trace event log level type to the given level type
+     * @param levelType - event log level type to set
+     */
+    public void setLogLevelType(LogLevelType levelType) {
+        fEventInfo.setLogLevelType(levelType);
+    }
+
     @Override
     public Object getAdapter(Class adapter) {
         if (adapter == IPropertySource.class) {
index f7eca901d174fa4989c5866848d557091861430b..e7cc8f588903bb1010164e83b67bdb083af857a3 100644 (file)
@@ -15,6 +15,7 @@ package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
 import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
 import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
 import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
@@ -124,7 +125,12 @@ public class TraceEventPropertySource extends BasePropertySource {
             return fEvent.getEventType().name();
         }
         if (TRACE_EVENT_LOGLEVEL_PROPERTY_ID.equals(id)) {
-            return fEvent.getLogLevel().name();
+            StringBuffer buffer = new StringBuffer();
+            if (fEvent.getLogLevelType() != LogLevelType.LOGLEVEL_NONE) {
+                buffer.append(fEvent.getLogLevelType().getShortName()).append(' ');
+            }
+            buffer.append(fEvent.getLogLevel().name());
+            return buffer.toString();
         }
         if (TRACE_EVENT_STATE_PROPERTY_ID.equals(id)) {
             return fEvent.getState().name();
index 32998ebd1f049cc976b5bd150c4cebc004c7f1df..92a8b25f17441be43aa718e5d76ce14f038f461b 100644 (file)
@@ -1215,10 +1215,11 @@ public class LTTngControlService implements ILttngControlService {
 
             if (matcher.matches()) {
                 IEventInfo eventInfo = new EventInfo(matcher.group(1).trim());
-                eventInfo.setLogLevel(matcher.group(2).trim());
-                eventInfo.setEventType(matcher.group(3).trim());
-                eventInfo.setState(matcher.group(4));
-                String filter = matcher.group(5);
+                eventInfo.setLogLevelType(matcher.group(2).trim());
+                eventInfo.setLogLevel(matcher.group(3).trim());
+                eventInfo.setEventType(matcher.group(4).trim());
+                eventInfo.setState(matcher.group(5));
+                String filter = matcher.group(6);
                 if (filter != null) {
                     filter = filter.substring(1, filter.length() - 1); // remove '[' and ']'
                     eventInfo.setFilterExpression(filter);
index 4fe28bbdbf5942d365ebc532b541b6097d6bee33..f30d5fb8d0b067d767c14307d51e13a2714ba0d4 100644 (file)
@@ -323,7 +323,7 @@ public interface LTTngControlServiceConstants {
     /**
      * Pattern to match for event information (lttng list <session>)
      */
-    static final Pattern EVENT_PATTERN = Pattern.compile("\\s+(.*)\\s+\\(loglevel:\\s+(.*)\\s+\\(\\d*\\)\\)\\s+\\(type:\\s+(.*)\\)\\s+\\[(enabled|disabled)\\]\\s*(\\[.*\\]){0,1}.*"); //$NON-NLS-1$
+    static final Pattern EVENT_PATTERN = Pattern.compile("\\s+(.*)\\s+\\(loglevel\\s*(:|<=|==)\\s+(.*)\\s+\\(\\d*\\)\\)\\s+\\(type:\\s+(.*)\\)\\s+\\[(enabled|disabled)\\]\\s*(\\[.*\\]){0,1}.*"); //$NON-NLS-1$
     /**
      * Pattern to match a wildcarded event information (lttng list <session>)
      */
This page took 0.039733 seconds and 5 git commands to generate.