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
<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>
/**
* @author Alexandre Montplaisir
- * @since 1.1
+ * @since 2.0
*/
public class LatencyAnalysis extends TmfAbstractAnalysisModule {
* End of latency analysis listener for latency viewers
*
* @author France Lapointe Nguyen
- * @since 1.1
+ * @since 2.0
*/
public interface LatencyAnalysisListener {
* A linux kernel system call, represented as an {@link ISegment}.
*
* @author Alexandre Montplaisir
- * @since 1.1
+ * @since 2.0
*/
public class SystemCall implements ISegment {
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$
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() {
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;
+ }
+
}
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
// ------------------------------------------------------------------------
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();
return "ns_level"; //$NON-NLS-1$
}
- public String fieldStatus() {
- return "status"; //$NON-NLS-1$
- }
}
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_";
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() {
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;
+ }
}
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
// ------------------------------------------------------------------------
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$
+ }
+
}