analysis: Add definition for extended events and fields
authorFrancis Giraldeau <francis.giraldeau@gmail.com>
Thu, 15 Oct 2015 16:07:05 +0000 (12:07 -0400)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Sat, 17 Oct 2015 00:04:50 +0000 (20:04 -0400)
Change-Id: Ibf340e974aa9eef007facf7b29717fc125683667
Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Reviewed-on: https://git.eclipse.org/r/58260
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
analysis/org.eclipse.tracecompass.analysis.os.linux.core/META-INF/MANIFEST.MF
analysis/org.eclipse.tracecompass.analysis.os.linux.core/pom.xml
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/latency/LatencyAnalysis.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/latency/LatencyAnalysisListener.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/latency/SystemCall.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/DefaultEventLayout.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/trace/layout/Lttng27EventLayout.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/trace/layout/LttngEventLayout.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/trace/layout/PerfEventLayout.java

index caee9bdf25ad7bee7d4d86e0b5af8fab559b1a66..ccd7b71334525b0d5acf5b37517d555fc8c2bced 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 2.0.0.qualifier
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.tracecompass.analysis.os.linux.core;singleton:=true
 Bundle-Activator: org.eclipse.tracecompass.internal.analysis.os.linux.core.Activator
index 7de0b21c25717979e0ef4b4ad29ac6e91b405cf3..fa3f4c5dac19b0898fce056211fd0d81dcdf8d1c 100644 (file)
@@ -19,7 +19,6 @@
 
   <artifactId>org.eclipse.tracecompass.analysis.os.linux.core</artifactId>
   <groupId>org.eclipse.tracecompass</groupId>
-  <version>1.1.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <name>Trace Compass Linux Kernel Analysis Core Plug-in</name>
index d6e19381c4f25cdc92d619205cd64942d79eb038..d05d47f953cfcb0424f533f7a4732fb57dc45a54 100644 (file)
@@ -16,7 +16,7 @@ import org.eclipse.tracecompass.segmentstore.core.ISegmentStore;
  * End of latency analysis listener for latency viewers
  *
  * @author France Lapointe Nguyen
- * @since 1.1
+ * @since 2.0
  */
 public interface LatencyAnalysisListener {
 
index b57fa1855a67318ffe7068ac93f66bff66880de5..1067934117ceb1e3a2bcbd4bbdc0d64985ed7e04 100644 (file)
@@ -27,7 +27,7 @@ import com.google.common.collect.Ordering;
  * A linux kernel system call, represented as an {@link ISegment}.
  *
  * @author Alexandre Montplaisir
- * @since 1.1
+ * @since 2.0
  */
 public class SystemCall implements ISegment {
 
index 00d755308084e7998bc721591c8a2bc8e41ed27b..a367ebeb17db98c2d5233be2c86c0797ed0e432e 100644 (file)
@@ -38,15 +38,21 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
     private static final String SOFTIRQ_ENTRY = "softirq_entry"; //$NON-NLS-1$
     private static final String SOFTIRQ_EXIT = "softirq_exit"; //$NON-NLS-1$
     private static final String SOFTIRQ_RAISE = "softirq_raise"; //$NON-NLS-1$
+    private static final String HRTIMER_EXPIRE_ENTRY = "hrtimer_expire_entry"; //$NON-NLS-1$
+    private static final String HRTIMER_EXPIRE_EXIT = "hrtimer_expire_exit"; //$NON-NLS-1$
     private static final String SCHED_SWITCH = "sched_switch"; //$NON-NLS-1$
     private static final String SCHED_PI_SETPRIO = "sched_pi_setprio"; //$NON-NLS-1$
 
+    private static final String SCHED_TTWU = "sched_ttwu"; //$NON-NLS-1$
+    private static final String SCHED_WAKEUP = "sched_wakeup"; //$NON-NLS-1$
+    private static final String SCHED_WAKEUP_NEW = "sched_wakeup_new"; //$NON-NLS-1$
     private static final Collection<String> SCHED_WAKEUP_EVENTS =
-            checkNotNull(ImmutableList.of("sched_wakeup", "sched_wakeup_new")); //$NON-NLS-1$ //$NON-NLS-2$
+            checkNotNull(ImmutableList.of(SCHED_WAKEUP, SCHED_WAKEUP_NEW)); //$NON-NLS-1$ //$NON-NLS-2$
 
     private static final String SCHED_PROCESS_FORK = "sched_process_fork"; //$NON-NLS-1$
     private static final String SCHED_PROCESS_EXIT = "sched_process_exit"; //$NON-NLS-1$
     private static final String SCHED_PROCESS_FREE = "sched_process_free"; //$NON-NLS-1$
+    private static final String SCHED_PROCESS_EXEC = "sched_process_exec"; //$NON-NLS-1$
     private static final String STATEDUMP_PROCESS_STATE = "lttng_statedump_process_state"; //$NON-NLS-1$
 
     private static final String SYSCALL_ENTRY_PREFIX = "sys_"; //$NON-NLS-1$
@@ -67,6 +73,11 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
     private static final String PRIO = "prio"; //$NON-NLS-1$
     private static final String NEW_PRIO = "newprio"; //$NON-NLS-1$
     private static final String NEXT_PRIO = "next_prio"; //$NON-NLS-1$
+    private static final String COMM = "comm"; //$NON-NLS-1$
+    private static final String NAME = "name"; //$NON-NLS-1$
+    private static final String STATUS = "status"; //$NON-NLS-1$
+    private static final String PREV_COMM = "prev_comm"; //$NON-NLS-1$
+    private static final String FILENAME = "filename"; //$NON-NLS-1$
 
     /** All instances are the same. Only provide a static instance getter */
     private DefaultEventLayout() {
@@ -216,28 +227,92 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
         return CHILD_TID;
     }
 
-    /**
-     * @since 1.0
-     */
+    /** @since 1.0 */
     @Override
     public String fieldPrio() {
         return PRIO;
     }
 
-    /**
-     * @since 1.0
-     */
+    /** @since 1.0 */
     @Override
     public String fieldNewPrio() {
         return NEW_PRIO;
     }
 
-    /**
-     * @since 1.0
-     */
+    /** @since 1.0 */
     @Override
     public String fieldNextPrio() {
         return NEXT_PRIO;
     }
 
+    /** @since 2.0 */
+    @Override
+    public String fieldComm() {
+        return COMM;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String fieldName() {
+        return NAME;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String fieldStatus() {
+        return STATUS;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String fieldPrevComm() {
+        return PREV_COMM;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String fieldFilename() {
+        return FILENAME;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String eventSchedProcessExec() {
+        return SCHED_PROCESS_EXEC;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String eventSchedProcessWakeup() {
+        return SCHED_WAKEUP;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String eventSchedProcessWakeupNew() {
+        return SCHED_WAKEUP_NEW;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String eventHRTimerExpireEntry() {
+        return HRTIMER_EXPIRE_ENTRY;
+    }
+
+    /** @since 2.0 */
+    @Override
+    public String eventHRTimerExpireExit() {
+        return HRTIMER_EXPIRE_EXIT;
+    }
+
+    /**
+     * Event indicating the source of the wakeup signal.
+     *
+     * @return The name of the event
+     * @since 2.0
+     */
+    public String eventSchedProcessTTWU() {
+        return SCHED_TTWU;
+    }
+
 }
index 43108927d02159e6a3bb8b1320522719ccbc0eb8..fdc953da091e976169bf99ef09aa6a000334199b 100644 (file)
@@ -65,6 +65,20 @@ public interface IKernelAnalysisEventLayout {
     String eventCompatSyscallEntryPrefix();
     String eventSyscallExitPrefix();
 
+    /** @since 2.0 */
+    String eventSchedProcessExec();
+
+    /** @since 2.0 */
+    String eventSchedProcessWakeup();
+
+    /** @since 2.0 */
+    String eventSchedProcessWakeupNew();
+
+    /** @since 2.0 */
+    String eventHRTimerExpireEntry();
+
+    /** @since 2.0 */
+    String eventHRTimerExpireExit();
     // ------------------------------------------------------------------------
     // Event field names
     // ------------------------------------------------------------------------
@@ -80,6 +94,21 @@ public interface IKernelAnalysisEventLayout {
     String fieldParentTid();
     String fieldChildTid();
 
+    /** @since 2.0 */
+    String fieldComm();
+
+    /** @since 2.0 */
+    String fieldName();
+
+    /** @since 2.0 */
+    String fieldStatus();
+
+    /** @since 2.0 */
+    String fieldPrevComm();
+
+    /** @since 2.0 */
+    String fieldFilename();
+
     /** @since 1.0 */
     String fieldPrio();
 
index 13a9fbf62b2a610064ca50b8cdd2c853514c7bb8..ec4897f37912a1e7235606b46cc22389f7845a9e 100644 (file)
@@ -40,15 +40,21 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
     private static final String SOFTIRQ_ENTRY = "softirq_entry";
     private static final String SOFTIRQ_EXIT = "softirq_exit";
     private static final String SOFTIRQ_RAISE = "softirq_raise";
+    private static final String HRTIMER_EXPIRE_ENTRY = "hrtimer_expire_entry";
+    private static final String HRTIMER_EXPIRE_EXIT = "hrtimer_expire_exit";
     private static final String SCHED_SWITCH = "sched_switch";
     private static final String SCHED_PI_SETPRIO = "sched_pi_setprio";
 
+    private static final String SCHED_TTWU = "sched_ttwu";
+    private static final String SCHED_WAKEUP = "sched_wakeup";
+    private static final String SCHED_WAKEUP_NEW = "sched_wakeup_new";
     private static final Collection<String> SCHED_WAKEUP_EVENTS =
-            checkNotNull(ImmutableList.of("sched_wakeup", "sched_wakeup_new"));
+            checkNotNull(ImmutableList.of(SCHED_WAKEUP, SCHED_WAKEUP_NEW));
 
     private static final String SCHED_PROCESS_FORK = "sched_process_fork";
     private static final String SCHED_PROCESS_EXIT = "sched_process_exit";
     private static final String SCHED_PROCESS_FREE = "sched_process_free";
+    private static final String SCHED_PROCESS_EXEC = "sched_process_exec";
     private static final String STATEDUMP_PROCESS_STATE = "lttng_statedump_process_state";
 
     private static final String SYSCALL_ENTRY_PREFIX = "sys_";
@@ -69,6 +75,11 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
     private static final String PRIO = "prio";
     private static final String NEXT_PRIO = "next_prio";
     private static final String NEW_PRIO = "newprio";
+    private static final String COMM = "comm";
+    private static final String NAME = "name";
+    private static final String STATUS = "status";
+    private static final String PREV_COMM = "prev_comm";
+    private static final String FILENAME = "filename";
 
     /** All instances are the same. Only provide a static instance getter */
     protected LttngEventLayout() {
@@ -236,4 +247,63 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
         return NEXT_PRIO;
     }
 
+    @Override
+    public String fieldComm() {
+        return COMM;
+    }
+
+    @Override
+    public String fieldName() {
+        return NAME;
+    }
+
+    @Override
+    public String fieldStatus() {
+        return STATUS;
+    }
+
+    @Override
+    public String fieldPrevComm() {
+        return PREV_COMM;
+    }
+
+    @Override
+    public String fieldFilename() {
+        return FILENAME;
+    }
+
+    @Override
+    public String eventSchedProcessExec() {
+        return SCHED_PROCESS_EXEC;
+    }
+
+    @Override
+    public String eventSchedProcessWakeup() {
+        return SCHED_WAKEUP;
+    }
+
+    @Override
+    public String eventSchedProcessWakeupNew() {
+        return SCHED_WAKEUP_NEW;
+    }
+
+    @Override
+    public String eventHRTimerExpireEntry() {
+        return HRTIMER_EXPIRE_ENTRY;
+    }
+
+    @Override
+    public String eventHRTimerExpireExit() {
+        return HRTIMER_EXPIRE_EXIT;
+    }
+
+    /**
+     * Event indicating the source of the wakeup signal.
+     *
+     * @return The name of the event
+     * @since 2.0
+     */
+    public String eventSchedProcessTTWU() {
+        return SCHED_TTWU;
+    }
 }
index 03512c2b429e00e507f51eda294e2de1b1c296be..edfac24b3780080ddb76dc1342b650efe078abab 100644 (file)
@@ -124,6 +124,31 @@ public class PerfEventLayout implements IKernelAnalysisEventLayout {
         return "raw_syscalls:sys_exit"; //$NON-NLS-1$
     }
 
+    @Override
+    public String eventSchedProcessExec() {
+        return "sched:sched_process_exec"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String eventSchedProcessWakeup() {
+        return "sched:sched_process_wakeup"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String eventSchedProcessWakeupNew() {
+        return "sched:process_wakeup_new";  //$NON-NLS-1$
+    }
+
+    @Override
+    public String eventHRTimerExpireEntry() {
+        return "timer:hrtimer_expire_entry"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String eventHRTimerExpireExit() {
+        return "timer:hrtimer_expire_exit"; //$NON-NLS-1$
+    }
+
     // ------------------------------------------------------------------------
     // Field names
     // ------------------------------------------------------------------------
@@ -193,4 +218,29 @@ public class PerfEventLayout implements IKernelAnalysisEventLayout {
         return "next_prio"; //$NON-NLS-1$
     }
 
+    @Override
+    public String fieldComm() {
+        return "comm"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldName() {
+        return "name"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldStatus() {
+        return "status"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldPrevComm() {
+        return "prev_comm"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldFilename() {
+        return "filename"; //$NON-NLS-1$
+    }
+
 }
This page took 0.031775 seconds and 5 git commands to generate.