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_START = "hrtimer_start"; //$NON-NLS-1$
+ private static final String HRTIMER_CANCEL = "hrtimer_cancel"; //$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 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$
+ private static final String HRTIMER = "hrtimer"; //$NON-NLS-1$
+ private static final String FUNCTION = "function"; //$NON-NLS-1$
+ private static final String EXPIRES = "expires"; //$NON-NLS-1$
+ private static final String NOW = "now"; //$NON-NLS-1$
+ private static final String SOFT_EXPIRES = "softexpires"; //$NON-NLS-1$
/** All instances are the same. Only provide a static instance getter */
private DefaultEventLayout() {
return SCHED_WAKEUP_NEW;
}
+ /** @since 2.0 */
+ @Override
+ public String eventHRTimerStart() {
+ return HRTIMER_START;
+ }
+
+ /** @since 2.0 */
+ @Override
+ public String eventHRTimerCancel() {
+ return HRTIMER_CANCEL;
+ }
+
/** @since 2.0 */
@Override
public String eventHRTimerExpireEntry() {
return SCHED_TTWU;
}
+ /** @since 2.0 */
+ @Override
+ public String fieldHRtimer() {
+ return HRTIMER;
+ }
+
+ /** @since 2.0 */
+ @Override
+ public String fieldHRtimerFunction() {
+ return FUNCTION;
+ }
+
+ /** @since 2.0 */
+ @Override
+ public String fieldHRtimerExpires() {
+ return EXPIRES;
+ }
+
+ /** @since 2.0 */
+ @Override
+ public String fieldHRtimerSoftexpires() {
+ return SOFT_EXPIRES;
+ }
+
+ /** @since 2.0 */
+ @Override
+ public String fieldHRtimerNow() {
+ return NOW;
+ }
+
}
*/
String eventSchedProcessWakeupNew();
+
+ /**
+ * Starting the high resolution timer
+ * <p>
+ * In Linux, High resolution timers are used in the following:
+ * <ul>
+ * <li>nanosleep</li>
+ * <li>itimers</li>
+ * <li>posix timers</li>
+ * </ul>
+ *
+ * @return the event name
+ *
+ * @since 2.0
+ */
+ String eventHRTimerStart();
+
+ /**
+ * Canceling the high resolution timer
+ * <p>
+ * In Linux, High resolution timers are used in the following:
+ * <ul>
+ * <li>nanosleep</li>
+ * <li>itimers</li>
+ * <li>posix timers</li>
+ * </ul>
+ *
+ * @return the event name
+ *
+ * @since 2.0
+ */
+ String eventHRTimerCancel();
+
/**
* Entering the high resolution timer expired handler.
* <p>
* @since 1.0
*/
String fieldNextPrio();
+
+ /**
+ * The field with the hrtimer. The hrtimer holds the timer instance.
+ *
+ * @return the name of the hrTimer field
+ * @since 2.0
+ */
+ String fieldHRtimer();
+
+ /**
+ * The field with the expires value. The expires field holds the expiry time.
+ * of the hrtimer.
+ *
+ * @return the name of the expires field
+ * @since 2.0
+ */
+ String fieldHRtimerExpires();
+
+ /**
+ * Gets the field name with the softexpires value. The softexpire value is the
+ * absolute earliest expiry time of the hrtimer.
+ *
+ * @return the name of the softexpires field
+ * @since 2.0
+ */
+ String fieldHRtimerSoftexpires();
+
+ /**
+ * The field of the function address value. The function field holds timer
+ * expiry callback function.
+ *
+ * @return the name of the function field
+ * @since 2.0
+ */
+ String fieldHRtimerFunction();
+
+ /**
+ * The field of the now value. The now field holds the current time.
+ *
+ * @return the name of the now field (hrtimer)
+ * @since 2.0
+ */
+ String fieldHRtimerNow();
+
}
public static final Lttng27EventLayout INSTANCE = new Lttng27EventLayout();
// ------------------------------------------------------------------------
- // New definitions in LTTng 2.7
+ // New event definition in LTTng 2.7
+ // ------------------------------------------------------------------------
+
+ @Override
+ public String eventHRTimerStart() {
+ return "timer_hrtimer_start";
+ }
+
+ @Override
+ public String eventHRTimerCancel() {
+ return "timer_hrtimer_cancel";
+ }
+
+ @Override
+ public String eventHRTimerExpireEntry() {
+ return "timer_hrtimer_expire_entry";
+ }
+
+ @Override
+ public String eventHRTimerExpireExit() {
+ return "timer_hrtimer_expire_exit";
+ }
+
+ // ------------------------------------------------------------------------
+ // New field definitions in LTTng 2.7
// ------------------------------------------------------------------------
public String fieldParentNSInum() {
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_START = "hrtimer_start";
+ private static final String HRTIMER_CANCEL = "hrtimer_cancel";
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 STATUS = "status";
private static final String PREV_COMM = "prev_comm";
private static final String FILENAME = "filename";
+ private static final String HRTIMER = "hrtimer";
+ private static final String HRTIMER_FUNCTION = "function";
+ private static final String HRTIMER_EXPIRES = "expires";
+ private static final String HRTIMER_NOW = "now";
+ private static final String HRTIMER_SOFT_EXPIRES = "softexpires";
/** All instances are the same. Only provide a static instance getter */
protected LttngEventLayout() {
return SCHED_WAKEUP_NEW;
}
+ @Override
+ public String eventHRTimerStart() {
+ return HRTIMER_START;
+ }
+
+ @Override
+ public String eventHRTimerCancel() {
+ return HRTIMER_CANCEL;
+ }
+
@Override
public String eventHRTimerExpireEntry() {
return HRTIMER_EXPIRE_ENTRY;
public String eventSchedProcessTTWU() {
return SCHED_TTWU;
}
+
+ @Override
+ public String fieldHRtimer() {
+ return HRTIMER;
+ }
+ @Override
+ public String fieldHRtimerFunction() {
+ return HRTIMER_FUNCTION;
+ }
+
+ @Override
+ public String fieldHRtimerExpires() {
+ return HRTIMER_EXPIRES;
+ }
+
+ @Override
+ public String fieldHRtimerSoftexpires() {
+ return HRTIMER_SOFT_EXPIRES;
+ }
+ @Override
+ public String fieldHRtimerNow() {
+ return HRTIMER_NOW;
+ }
+
}
return "sched:process_wakeup_new"; //$NON-NLS-1$
}
+ @Override
+ public String eventHRTimerStart() {
+ return "timer:hrtimer_start"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String eventHRTimerCancel() {
+ return "timer:hrtimer_cancel"; //$NON-NLS-1$
+ }
+
@Override
public String eventHRTimerExpireEntry() {
return "timer:hrtimer_expire_entry"; //$NON-NLS-1$
return "filename"; //$NON-NLS-1$
}
+ @Override
+ public String fieldHRtimer() {
+ return "hrtimer"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String fieldHRtimerFunction() {
+ return "function"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String fieldHRtimerExpires() {
+ return "expires"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String fieldHRtimerSoftexpires() {
+ return "softexpires"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String fieldHRtimerNow() {
+ return "now"; //$NON-NLS-1$
+ }
+
}