os.linux: Add support for thread priorities in the KernelStateProvider
authorChristian Mansky <christian.mansky@gmx.at>
Wed, 18 Feb 2015 09:21:18 +0000 (10:21 +0100)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Thu, 26 Feb 2015 18:42:22 +0000 (13:42 -0500)
This change tracks a threads priority in the KernelStateProvider. The
KernelThreadInformationProvider provides a new access method returning a
threads priority at a given timestamp.

Change-Id: I4911a75151f45b995ea2000d485d309e4b57313e
Signed-off-by: Christian Mansky <christian.mansky@gmx.at>
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/42152
Reviewed-by: Hudson CI
org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernelanalysis/Attributes.java
org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernelanalysis/KernelStateProvider.java
org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernelanalysis/KernelThreadInformationProvider.java
org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/DefaultEventLayout.java
org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java
org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/trace/layout/LttngEventLayout.java
org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/trace/layout/PerfEventLayout.java

index 936e5fdf2b34de4532593a9fb771076b68e61e05..e5742665b82aa8152dc684a31759bc5184a47c7c 100644 (file)
@@ -40,6 +40,7 @@ public interface Attributes {
     static final String PPID = "PPID";
     //static final String STATUS = "Status"
     static final String EXEC_NAME = "Exec_name";
+    static final String PRIO = "Prio";
     static final String SYSTEM_CALL = "System_call";
 
     /* Attributes under "Resources" */
index 37ee0cb59f10da7197af4bf4959a1bfe7ef11fe7..a272001f2f194b2b307ec4160ee19112fa3c8d7a 100644 (file)
@@ -52,7 +52,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
      * Version number of this state provider. Please bump this if you modify the
      * contents of the generated state history in some way.
      */
-    private static final int VERSION = 5;
+    private static final int VERSION = 6;
 
     private static final int IRQ_HANDLER_ENTRY_INDEX = 1;
     private static final int IRQ_HANDLER_EXIT_INDEX = 2;
@@ -65,6 +65,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
     private static final int SCHED_PROCESS_FREE_INDEX = 9;
     private static final int STATEDUMP_PROCESS_STATE_INDEX = 10;
     private static final int SCHED_WAKEUP_INDEX = 11;
+    private static final int SCHED_PI_SETPRIO_INDEX = 12;
 
 
     // ------------------------------------------------------------------------
@@ -106,6 +107,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
         builder.put(layout.eventSoftIrqExit(), SOFT_IRQ_EXIT_INDEX);
         builder.put(layout.eventSoftIrqRaise(), SOFT_IRQ_RAISE_INDEX);
         builder.put(layout.eventSchedSwitch(), SCHED_SWITCH_INDEX);
+        builder.put(layout.eventSchedPiSetprio(), SCHED_PI_SETPRIO_INDEX);
         builder.put(layout.eventSchedProcessFork(), SCHED_PROCESS_FORK_INDEX);
         builder.put(layout.eventSchedProcessExit(), SCHED_PROCESS_EXIT_INDEX);
         builder.put(layout.eventSchedProcessFree(), SCHED_PROCESS_FREE_INDEX);
@@ -279,6 +281,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
                 Long prevState = (Long) content.getField(fLayout.fieldPrevState()).getValue();
                 String nextProcessName = (String) content.getField(fLayout.fieldNextComm()).getValue();
                 Integer nextTid = ((Long) content.getField(fLayout.fieldNextTid()).getValue()).intValue();
+                Integer nextPrio = ((Long) content.getField(fLayout.fieldNextPrio()).getValue()).intValue();
 
                 Integer formerThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(ss), prevTid.toString());
                 Integer newCurrentThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(ss), nextTid.toString());
@@ -300,6 +303,11 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
                 value = TmfStateValue.newValueString(nextProcessName);
                 ss.modifyAttribute(ts, value, quark);
 
+                /* Set the current prio for the new process */
+                quark = ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.PRIO);
+                value = TmfStateValue.newValueInt(nextPrio);
+                ss.modifyAttribute(ts, value, quark);
+
                 /* Make sure the PPID and system_call sub-attributes exist */
                 ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.SYSTEM_CALL);
                 ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.PPID);
@@ -326,6 +334,21 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
             }
                 break;
 
+            case SCHED_PI_SETPRIO_INDEX:
+            {
+                ITmfEventField content = event.getContent();
+                Integer tid = ((Long) content.getField(fLayout.fieldTid()).getValue()).intValue();
+                Integer prio = ((Long) content.getField(fLayout.fieldNewPrio()).getValue()).intValue();
+
+                Integer updateThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(ss), tid.toString());
+
+                /* Set the current prio for the new process */
+                quark = ss.getQuarkRelativeAndAdd(updateThreadNode, Attributes.PRIO);
+                value = TmfStateValue.newValueInt(prio);
+                ss.modifyAttribute(ts, value, quark);
+            }
+                break;
+
             case SCHED_PROCESS_FORK_INDEX:
             {
                 ITmfEventField content = event.getContent();
@@ -440,6 +463,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
             case SCHED_WAKEUP_INDEX:
             {
                 final int tid = ((Long) event.getContent().getField(fLayout.fieldTid()).getValue()).intValue();
+                final int prio = ((Long) event.getContent().getField(fLayout.fieldPrio()).getValue()).intValue();
                 final int threadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(ss), String.valueOf(tid));
 
                 /*
@@ -455,6 +479,14 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
                     value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
                     ss.modifyAttribute(ts, value, quark);
                 }
+
+                /*
+                 * When a user changes a threads prio (e.g. with pthread_setschedparam),
+                 * it shows in ftrace with a sched_wakeup.
+                 */
+                quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.PRIO);
+                value = TmfStateValue.newValueInt(prio);
+                ss.modifyAttribute(ts, value, quark);
             }
                 break;
 
index 50ea1541dc442bca32705b34395eb9064251750a..6b659357244988b06d2eedf04a69ebc6e9194d3b 100644 (file)
@@ -186,6 +186,34 @@ public final class KernelThreadInformationProvider {
         return execName;
     }
 
+    /**
+     * Get the priority of a thread running at a time ts.
+     *
+     * @param module
+     *            The kernel analysis instance to run this method on
+     * @param threadId
+     *            The thread ID of the target thread
+     * @param ts
+     *            The timestamp at which to get the priority
+     * @return The priority of this thread, or {@code null} if not found
+     */
+    public static @Nullable Integer getThreadPrio(KernelAnalysis module, Integer threadId, long ts) {
+        Integer execPrio = null;
+        ITmfStateSystem ss = module.getStateSystem();
+        if (ss == null) {
+            return execPrio;
+        }
+        try {
+            int execPrioQuark = ss.getQuarkAbsolute(Attributes.THREADS, threadId.toString(), Attributes.PRIO);
+            ITmfStateInterval interval = ss.querySingleState(ts, execPrioQuark);
+            ITmfStateValue prioValue = interval.getStateValue();
+            /* We know the prio must be an Integer */
+            execPrio = prioValue.unboxInt();
+        } catch (AttributeNotFoundException | StateSystemDisposedException | TimeRangeException e) {
+        }
+        return execPrio;
+    }
+
     /**
      * Get the status intervals for a given thread with a resolution
      *
index a82636cc5d439ff2148b80e46f66b4ec85110c56..296e28d01e5826ab7f3ad6b37b6ccbee25921c27 100644 (file)
@@ -38,6 +38,7 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
     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 SCHED_SWITCH = "sched_switch"; //$NON-NLS-1$
+    private static final String SCHED_PI_SETPRIO = "sched_pi_setprio"; //$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$
@@ -62,6 +63,9 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
     private static final String PARENT_TID = "parent_tid"; //$NON-NLS-1$
     private static final String CHILD_COMM = "child_comm"; //$NON-NLS-1$
     private static final String CHILD_TID = "child_tid"; //$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$
 
     /** All instances are the same. Only provide a static instance getter */
     private DefaultEventLayout() {
@@ -109,6 +113,11 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
         return SCHED_SWITCH;
     }
 
+    @Override
+    public String eventSchedPiSetprio() {
+        return SCHED_PI_SETPRIO;
+    }
+
     @Override
     public Collection<String> eventsSchedWakeup() {
         return SCHED_WAKEUP_EVENTS;
@@ -203,4 +212,19 @@ public class DefaultEventLayout implements IKernelAnalysisEventLayout{
         return CHILD_TID;
     }
 
+    @Override
+    public String fieldPrio() {
+        return PRIO;
+    }
+
+    @Override
+    public String fieldNewPrio() {
+        return NEW_PRIO;
+    }
+
+    @Override
+    public String fieldNextPrio() {
+        return NEXT_PRIO;
+    }
+
 }
index 662f816669c9182197cf5283db4444d92990994e..f7fe4084d5159db461d5779ed449119129eca7ff 100644 (file)
@@ -52,6 +52,7 @@ public interface IKernelAnalysisEventLayout {
     String eventSoftIrqExit();
     String eventSoftIrqRaise();
     String eventSchedSwitch();
+    String eventSchedPiSetprio();
     Collection<String> eventsSchedWakeup();
     String eventSchedProcessFork();
     String eventSchedProcessExit();
@@ -75,4 +76,7 @@ public interface IKernelAnalysisEventLayout {
     String fieldChildComm();
     String fieldParentTid();
     String fieldChildTid();
+    String fieldPrio();
+    String fieldNewPrio();
+    String fieldNextPrio();
 }
index 86b07f5f8f5c3c6372e85b5fbfea9bf0b88b76fd..a66b2a0494a0369dab5234d2e2bcb7b7ec961eb7 100644 (file)
@@ -358,8 +358,8 @@ public abstract class StateSystemTest {
     public void testGetQuarks_end() {
         List<Integer> list = fixture.getQuarks(Attributes.THREADS, "1577", "*");
 
-        /* There should be 4 sub-attributes for each Thread node */
-        assertEquals(4, list.size());
+        /* There should be 5 sub-attributes for each Thread node */
+        assertEquals(5, list.size());
     }
 
     // ------------------------------------------------------------------------
index bad7a39ee2fa195bf18b538706436df68e64a2bf..353f6bc8a63cc7304180bb88a4af5d7af0964cbd 100644 (file)
@@ -25,7 +25,7 @@ import org.eclipse.tracecompass.statesystem.core.statevalue.TmfStateValue;
  */
 interface TestValues {
 
-    int size = 863;
+    int size = 1031;
 
     long[] startTimes = {
         1331668247314038062L,
@@ -39,6 +39,7 @@ interface TestValues {
         1331668247316320929L,
         1331668247316334243L,
         1331668247314046266L,
+        1331668247316120937L,
         1331668247314038062L,
         1331668248014183954L,
         1331668247314038062L,
@@ -46,15 +47,18 @@ interface TestValues {
         1331668247327098502L,
         1331668247327098502L,
         1331668247327098502L,
+        1331668247327098502L,
         1331668247314038062L,
         1331668247415001807L,
         1331668247415001807L,
         1331668247415001807L,
+        1331668247415001807L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247314038062L,
         1331668248013353414L,
         1331668248004935409L,
+        1331668247314601653L,
         1331668247314038062L,
         1331668247314038062L,
         1331668248014184526L,
@@ -64,6 +68,7 @@ interface TestValues {
         1331668248011125682L,
         1331668247314038062L,
         1331668247931793142L,
+        1331668247930941981L,
         1331668247959041965L,
         1331668248011129576L,
         1331668247314038062L,
@@ -71,6 +76,7 @@ interface TestValues {
         1331668247335106720L,
         1331668247335106720L,
         1331668247335106720L,
+        1331668247335106720L,
         1331668247931782426L,
         1331668247315274351L,
         1331668247314038062L,
@@ -79,44 +85,53 @@ interface TestValues {
         1331668247335112802L,
         1331668247335112802L,
         1331668247335112802L,
+        1331668247335112802L,
         1331668247314038062L,
         1331668248004705322L,
         1331668247314038062L,
         1331668248004935409L,
+        1331668248004770916L,
         1331668248004925240L,
         1331668247316553071L,
         1331668247314038062L,
+        1331668247399148733L,
         1331668247399743968L,
         1331668247316925661L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247999256178L,
+        1331668247999239403L,
         1331668247999250697L,
         1331668247318567561L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247999336085L,
+        1331668247999131058L,
         1331668247999327778L,
         1331668247318631139L,
         1331668247314038062L,
         1331668247960265258L,
         1331668247314038062L,
         1331668247903884233L,
+        1331668247902254797L,
         1331668247903869067L,
         1331668247328403934L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247908495390L,
+        1331668247908391792L,
         1331668247908464125L,
         1331668247328921944L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247903840082L,
+        1331668247902986051L,
         1331668247903831313L,
         1331668247329404733L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247960291263L,
+        1331668247960272741L,
         1331668247314038062L,
         1331668247330548245L,
         1331668247314038062L,
@@ -125,21 +140,25 @@ interface TestValues {
         1331668247966976915L,
         1331668247314038062L,
         1331668248004729173L,
+        1331668248004720009L,
         1331668247314038062L,
         1331668247371137735L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247387196023L,
+        1331668247387154824L,
         1331668247387191465L,
         1331668247376420842L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247400231496L,
+        1331668247400130260L,
         1331668247400218303L,
         1331668247378430187L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247751186217L,
+        1331668247751173305L,
         1331668247314038062L,
         1331668247387136191L,
         1331668247314038062L,
@@ -147,25 +166,32 @@ interface TestValues {
         1331668247415047817L,
         1331668247415047817L,
         1331668247415047817L,
+        1331668247415047817L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247400095883L,
+        1331668247399991225L,
         1331668247400085049L,
         1331668247399991225L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247401441000L,
+        1331668247401408057L,
         1331668247401428073L,
         1331668247400779449L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247410754305L,
+        1331668247410594291L,
         1331668247314038062L,
         1331668247519727372L,
+        1331668247519619353L,
         1331668247314038062L,
         1331668247412887695L,
+        1331668247412803787L,
         1331668247314038062L,
         1331668247413704524L,
+        1331668247413576917L,
         1331668247412877246L,
         1331668247410583861L,
         1331668247314038062L,
@@ -180,33 +206,40 @@ interface TestValues {
         1331668247314038062L,
         1331668247314038062L,
         1331668247924029486L,
+        1331668247923412966L,
         1331668247924012402L,
         1331668247412302666L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247924105876L,
+        1331668247924010016L,
         1331668247924098044L,
         1331668247417574343L,
         1331668247314038062L,
         1331668247314038062L,
         1331668248014184526L,
+        1331668248013799545L,
         1331668248014130616L,
         1331668247417635948L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247928627023L,
+        1331668247928556625L,
         1331668247928621067L,
         1331668247417978805L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247928556625L,
+        1331668247927469138L,
         1331668247928529840L,
         1331668247418470511L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247930341625L,
+        1331668247928614605L,
         1331668247314038062L,
         1331668248014184526L,
+        1331668248014184526L,
         1331668248013793850L,
         1331668247419578477L,
         1331668247314038062L,
@@ -215,16 +248,19 @@ interface TestValues {
         1331668247314038062L,
         1331668247314038062L,
         1331668248013753736L,
+        1331668248013353414L,
         1331668248013749389L,
         1331668247420382626L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247930579872L,
+        1331668247930316322L,
         1331668247930574368L,
         1331668247420451876L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247926378321L,
+        1331668247925622863L,
         1331668247926367737L,
         1331668247423543945L,
         1331668247314038062L,
@@ -232,58 +268,70 @@ interface TestValues {
         1331668247619491008L,
         1331668247314038062L,
         1331668247619505885L,
+        1331668247619392829L,
         1331668247619495072L,
         1331668247434248026L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247434551326L,
+        1331668247434365352L,
         1331668247434546203L,
         1331668247434365352L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247908325947L,
+        1331668247908264450L,
         1331668247908319810L,
         1331668247467380509L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247908677700L,
+        1331668247908325947L,
         1331668247908640244L,
         1331668247467447781L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247869556425L,
+        1331668247869483379L,
         1331668247869544380L,
         1331668247503177108L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247504321893L,
+        1331668247504294050L,
         1331668247504319470L,
         1331668247503423094L,
         1331668247314038062L,
         1331668247314038062L,
         1331668248014183954L,
+        1331668248014145796L,
         1331668248014183954L,
         1331668247512172527L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247539381562L,
+        1331668247539325848L,
         1331668247539369787L,
         1331668247539325848L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247735177820L,
+        1331668247735128110L,
         1331668247735170303L,
         1331668247735128110L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247735168206L,
+        1331668247735152717L,
         1331668247735161964L,
         1331668247735152717L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247775218227L,
+        1331668247775191569L,
         1331668247314038062L,
         1331668247775231079L,
+        1331668247775218227L,
         1331668247775205377L,
         1331668247775191569L,
         1331668247314038062L,
@@ -292,11 +340,13 @@ interface TestValues {
         1331668247314038062L,
         1331668247314038062L,
         1331668247869483379L,
+        1331668247869457807L,
         1331668247869477795L,
         1331668247869457807L,
         1331668247314038062L,
         1331668247314038062L,
         1331668247941667986L,
+        1331668247941620894L,
         1331668247941650415L,
         1331668247941620894L,
         1331668247314038062L,
@@ -891,6 +941,124 @@ interface TestValues {
         1331668247314038062L,
         1331668247314038062L,
         1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
+        1331668247314038062L,
     };
 
     long[] endTimes = {
@@ -906,6 +1074,7 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248014185078L,
         1331668259054285979L,
         1331668259054285979L,
@@ -919,10 +1088,13 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
+        1331668259054285979L,
         1331668248014620024L,
         1331668248014620024L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248014548923L,
         1331668248014188534L,
         1331668259054285979L,
@@ -930,6 +1102,7 @@ interface TestValues {
         1331668248015040151L,
         1331668259054285979L,
         1331668248482983146L,
+        1331668248482983146L,
         1331668248015041609L,
         1331668248015176320L,
         1331668259054285979L,
@@ -937,6 +1110,7 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248483009726L,
         1331668259054285979L,
         1331668259054285979L,
@@ -946,43 +1120,52 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248015959980L,
         1331668259054285979L,
         1331668248016172023L,
+        1331668248016172023L,
         1331668248016194935L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054130388L,
         1331668259054136697L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248016556933L,
+        1331668248016556933L,
         1331668248016592456L,
         1331668252511012367L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248016623209L,
+        1331668248016623209L,
         1331668248016645047L,
         1331668252843104826L,
         1331668259054285979L,
         1331668248486545657L,
         1331668259054285979L,
         1331668248502954816L,
+        1331668248502954816L,
         1331668248503000162L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248020364249L,
+        1331668248020364249L,
         1331668248020419523L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248020866943L,
+        1331668248020866943L,
         1331668248020888352L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248531200073L,
+        1331668248531200073L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
@@ -991,6 +1174,8 @@ interface TestValues {
         1331668248021867385L,
         1331668259054285979L,
         1331668248175307354L,
+        1331668248175307354L,
+        1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1001,11 +1186,14 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259051873438L,
+        1331668259051873438L,
         1331668259051879701L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248751061201L,
+        1331668248751061201L,
+        1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1016,22 +1204,28 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259051838247L,
+        1331668259051838247L,
         1331668259051846351L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668257325265220L,
+        1331668257325265220L,
         1331668257325277639L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668250005943125L,
+        1331668250005943125L,
         1331668259054285979L,
         1331668248014565260L,
+        1331668248014565260L,
         1331668259054285979L,
         1331668250006219013L,
+        1331668250006219013L,
         1331668259054285979L,
         1331668250004649129L,
+        1331668250004649129L,
         1331668250006228246L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1046,33 +1240,40 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668248414826115L,
+        1331668248414826115L,
         1331668248414875444L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248420327828L,
+        1331668248420327828L,
         1331668248420342919L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248015353903L,
+        1331668248015353903L,
         1331668248015428919L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248420617453L,
+        1331668248420617453L,
         1331668248420709272L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248421112139L,
+        1331668248421112139L,
         1331668248421137268L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248421291701L,
+        1331668248421291701L,
         1331668259054285979L,
         1331668248014188534L,
+        1331668248015518081L,
         1331668248014188534L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1081,16 +1282,19 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668248014548923L,
+        1331668248016397030L,
         1331668248014550770L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248422509298L,
+        1331668248422509298L,
         1331668248422523601L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248424325503L,
+        1331668248424325503L,
         1331668248424394073L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1098,58 +1302,70 @@ interface TestValues {
         1331668248140686546L,
         1331668259054285979L,
         1331668248140727269L,
+        1331668248140727269L,
         1331668248140780012L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251031789570L,
+        1331668251031789570L,
         1331668251031812282L,
         1331668252047037657L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248269586770L,
+        1331668248269586770L,
         1331668248269613258L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248141167328L,
+        1331668248141167328L,
         1331668248141400164L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248141004006L,
+        1331668248141004006L,
         1331668248141028631L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248141324868L,
+        1331668248141324868L,
         1331668248141345677L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248014185078L,
+        1331668248015165243L,
         1331668248014185078L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248539549580L,
+        1331668248539549580L,
         1331668248539579511L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668255234884605L,
+        1331668255234884605L,
         1331668255234905622L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668255234936617L,
+        1331668255234936617L,
         1331668255234941684L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252778982101L,
+        1331668252778982101L,
         1331668259054285979L,
         1331668252779007563L,
+        1331668252779007563L,
         1331668252781320133L,
         1331668259054285979L,
         1331668259054285979L,
@@ -1158,202 +1374,242 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668248869653287L,
+        1331668248869653287L,
         1331668248869679933L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248941858743L,
+        1331668248941858743L,
         1331668248941885421L,
         1331668252782929207L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248207116451L,
+        1331668248207116451L,
         1331668248207177650L,
         1331668248207163589L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248207165629L,
+        1331668248207165629L,
         1331668248207212201L,
         1331668248207197204L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248763171129L,
+        1331668248763171129L,
         1331668259054285979L,
         1331668248763179780L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248895005379L,
+        1331668248895005379L,
         1331668248895062414L,
         1331668248895035146L,
         1331668259054285979L,
         1331668259054285979L,
         1331668249000328909L,
+        1331668249000328909L,
         1331668249000373092L,
         1331668249000350716L,
         1331668259054285979L,
         1331668249548101920L,
         1331668259054285979L,
         1331668249947171998L,
+        1331668249947171998L,
         1331668249947269897L,
         1331668249947249018L,
         1331668259054285979L,
         1331668259054285979L,
         1331668249951033184L,
+        1331668249951033184L,
         1331668249951077605L,
         1331668249951058138L,
         1331668259054285979L,
         1331668259054285979L,
         1331668249959079406L,
+        1331668249959079406L,
         1331668259054285979L,
         1331668249959100633L,
         1331668259054285979L,
         1331668259054285979L,
         1331668249970937981L,
+        1331668249970937981L,
         1331668259054285979L,
         1331668249970963407L,
         1331668259054285979L,
         1331668259054285979L,
         1331668250007423753L,
+        1331668250007423753L,
         1331668250007449251L,
         1331668250007428034L,
         1331668259054285979L,
         1331668259054285979L,
         1331668250231124169L,
+        1331668250231124169L,
         1331668250231169946L,
         1331668250231148973L,
         1331668259054285979L,
         1331668259054285979L,
         1331668250326525622L,
+        1331668250326525622L,
         1331668250329519305L,
         1331668250329507458L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251063191270L,
+        1331668251063191270L,
         1331668251063256143L,
         1331668251063222335L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065026369L,
+        1331668251065026369L,
         1331668251065048462L,
         1331668251065030498L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065058051L,
+        1331668251065058051L,
         1331668251065091761L,
         1331668251065069765L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065364590L,
+        1331668251065364590L,
         1331668251065412381L,
         1331668251065407607L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065462500L,
+        1331668251065462500L,
         1331668251065477027L,
         1331668251065465604L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065780572L,
+        1331668251065780572L,
         1331668251065836719L,
         1331668251065829440L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251065899750L,
+        1331668251065899750L,
         1331668251065913891L,
         1331668251065902892L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251066057402L,
+        1331668251066057402L,
         1331668251066070617L,
         1331668251066060363L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251066495616L,
+        1331668251066495616L,
         1331668251066520321L,
         1331668251066506338L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251066532840L,
+        1331668251066532840L,
         1331668251066546436L,
         1331668251066535866L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251066658006L,
+        1331668251066658006L,
         1331668251066671812L,
         1331668251066660635L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251066883302L,
+        1331668251066883302L,
         1331668251066906446L,
         1331668251066887423L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251067153808L,
+        1331668251067153808L,
         1331668251067176405L,
         1331668251067157534L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251067407214L,
+        1331668251067407214L,
         1331668251067420770L,
         1331668251067410220L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251067763731L,
+        1331668251067763731L,
         1331668251067818612L,
         1331668251067811009L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251067884367L,
+        1331668251067884367L,
         1331668251067897382L,
         1331668251067887136L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251068275691L,
+        1331668251068275691L,
         1331668251068288692L,
         1331668251068278423L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251068706355L,
+        1331668251068706355L,
         1331668251068719015L,
         1331668251068709290L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251069067645L,
+        1331668251069067645L,
         1331668251069122518L,
         1331668251069116275L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251069178617L,
+        1331668251069178617L,
         1331668251069191305L,
         1331668251069181300L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251069664884L,
+        1331668251069664884L,
         1331668251069684555L,
         1331668251069668097L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251069682852L,
+        1331668251069682852L,
         1331668251069708201L,
         1331668251069690226L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251715054925L,
+        1331668251715054925L,
         1331668259054285979L,
         1331668251715066022L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251803784493L,
+        1331668251803784493L,
         1331668251803827591L,
         1331668251803808547L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251983438636L,
+        1331668251983438636L,
         1331668251983448709L,
         1331668251983441583L,
         1331668259054285979L,
         1331668259054285979L,
         1331668251992993580L,
+        1331668251992993580L,
         1331668251993008591L,
         1331668251992998928L,
         1331668259054285979L,
@@ -1362,90 +1618,109 @@ interface TestValues {
         1331668252022091542L,
         1331668252022091542L,
         1331668252022091542L,
+        1331668252022095079L,
         1331668259054285979L,
         1331668252031771660L,
+        1331668252031771660L,
         1331668252031777595L,
         1331668252031773847L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252032463013L,
+        1331668252032463013L,
         1331668252032502964L,
         1331668252032497700L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252032506884L,
+        1331668252032506884L,
         1331668252032559227L,
         1331668252032539402L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252039535067L,
+        1331668252039535067L,
         1331668259054285979L,
         1331668252039537404L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252044008981L,
+        1331668252044008981L,
         1331668252044014257L,
         1331668252044010861L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252044059151L,
+        1331668252044059151L,
         1331668252044064004L,
         1331668252044060420L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252179391423L,
+        1331668252179391423L,
         1331668252184781913L,
         1331668252184772369L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252193425490L,
+        1331668252193425490L,
         1331668252193432385L,
         1331668252193427706L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252253575716L,
+        1331668252253575716L,
         1331668252253592491L,
         1331668252253581852L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252472449352L,
+        1331668252472449352L,
         1331668252472474547L,
         1331668252472458163L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252487295286L,
+        1331668252487295286L,
         1331668252487300925L,
         1331668252487297683L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252495759849L,
+        1331668252495759849L,
         1331668252495766026L,
         1331668252495762178L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252496219924L,
+        1331668252496219924L,
         1331668252496245837L,
         1331668252496228816L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252523291829L,
+        1331668252523291829L,
         1331668252523482082L,
         1331668252523469395L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252764810964L,
+        1331668252764810964L,
         1331668252764829827L,
         1331668252764814570L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252765021775L,
+        1331668252765021775L,
         1331668252765026623L,
         1331668252765023841L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252769399706L,
+        1331668252769399706L,
         1331668259054285979L,
         1331668252769401404L,
+        1331668252769401404L,
         1331668259054285979L,
         1331668252769446847L,
         1331668259054285979L,
@@ -1454,18 +1729,22 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668252784988923L,
+        1331668252784988923L,
         1331668259054285979L,
         1331668252785262589L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252795062126L,
+        1331668252795062126L,
         1331668259054285979L,
         1331668252795122600L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252828832090L,
+        1331668252828832090L,
         1331668259054285979L,
         1331668252828859292L,
+        1331668252828859292L,
         1331668252828904216L,
         1331668252828866041L,
         1331668259054285979L,
@@ -1474,29 +1753,40 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668252829505108L,
+        1331668252829505108L,
         1331668259054285979L,
         1331668252829527974L,
+        1331668252829527974L,
         1331668252829719292L,
         1331668252829638887L,
         1331668259054285979L,
         1331668259054285979L,
         1331668252829643060L,
+        1331668252829643060L,
         1331668259054285979L,
         1331668252829660274L,
+        1331668252829660274L,
         1331668259054285979L,
         1331668252829683896L,
+        1331668252829683896L,
         1331668259054285979L,
         1331668252829799248L,
+        1331668252829799248L,
         1331668259054285979L,
         1331668252829802278L,
+        1331668252829802278L,
         1331668259054285979L,
         1331668252829821642L,
+        1331668252829821642L,
         1331668259054285979L,
         1331668252829840961L,
+        1331668252829840961L,
         1331668259054285979L,
         1331668252829859256L,
+        1331668252829859256L,
         1331668259054285979L,
         1331668252829976501L,
+        1331668252829976501L,
         1331668252830107659L,
         1331668252830085595L,
         1331668259054285979L,
@@ -1520,6 +1810,7 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668252831228714L,
+        1331668252831228714L,
         1331668252831318123L,
         1331668252831301843L,
         1331668259054285979L,
@@ -1537,18 +1828,22 @@ interface TestValues {
         1331668252883172744L,
         1331668252883172744L,
         1331668252883172744L,
+        1331668252883178472L,
         1331668259054285979L,
         1331668252885827603L,
         1331668252885827603L,
         1331668252885827603L,
         1331668252885827603L,
+        1331668252885834716L,
         1331668259054285979L,
         1331668252889337098L,
+        1331668252889337098L,
         1331668259054285979L,
         1331668252889396688L,
         1331668252889396688L,
         1331668252889396688L,
         1331668252889396688L,
+        1331668252889399649L,
         1331668252901232798L,
         1331668252901118256L,
         1331668259054285979L,
@@ -1557,8 +1852,10 @@ interface TestValues {
         1331668252901540914L,
         1331668252901540914L,
         1331668252901540914L,
+        1331668252901545242L,
         1331668259054285979L,
         1331668252901573889L,
+        1331668252901573889L,
         1331668252901586635L,
         1331668252901577276L,
         1331668259054285979L,
@@ -1567,8 +1864,10 @@ interface TestValues {
         1331668252906764880L,
         1331668252906764880L,
         1331668252906764880L,
+        1331668252906769816L,
         1331668259054285979L,
         1331668252912042743L,
+        1331668252912042743L,
         1331668259054285979L,
         1331668252912048618L,
         1331668259054285979L,
@@ -1577,68 +1876,82 @@ interface TestValues {
         1331668252927449371L,
         1331668252927449371L,
         1331668252927449371L,
+        1331668252927454567L,
         1331668259054285979L,
         1331668252947156908L,
         1331668252947156908L,
         1331668252947156908L,
         1331668252947156908L,
+        1331668252947162086L,
         1331668259054285979L,
         1331668252947197386L,
         1331668252947197386L,
         1331668252947197386L,
         1331668252947197386L,
+        1331668252947200470L,
         1331668259054285979L,
         1331668253035499713L,
         1331668253035499713L,
         1331668253035499713L,
         1331668253035499713L,
+        1331668253035505047L,
         1331668259054285979L,
         1331668253036766769L,
         1331668253036766769L,
         1331668253036766769L,
         1331668253036766769L,
+        1331668253036770602L,
         1331668259054285979L,
         1331668253037890651L,
         1331668253037890651L,
         1331668253037890651L,
         1331668253037890651L,
+        1331668253037894147L,
         1331668259054285979L,
         1331668253051945128L,
         1331668253051945128L,
         1331668253051945128L,
         1331668253051945128L,
+        1331668253051948233L,
         1331668259054285979L,
         1331668253054627961L,
         1331668253054627961L,
         1331668253054627961L,
         1331668253054627961L,
+        1331668253054630786L,
         1331668259054285979L,
         1331668253057609433L,
         1331668253057609433L,
         1331668253057609433L,
         1331668253057609433L,
+        1331668253057612341L,
         1331668259054285979L,
         1331668253062222314L,
         1331668253062222314L,
         1331668253062222314L,
         1331668253062222314L,
+        1331668253062227485L,
         1331668259054285979L,
         1331668253097239708L,
         1331668253097239708L,
         1331668253097239708L,
         1331668253097239708L,
+        1331668253097246792L,
         1331668259054285979L,
         1331668253097518746L,
         1331668253097518746L,
         1331668253097518746L,
         1331668253097518746L,
+        1331668253097521994L,
         1331668259054285979L,
         1331668253267104284L,
+        1331668253267104284L,
         1331668253267117055L,
         1331668253267107624L,
         1331668259054285979L,
         1331668259054285979L,
         1331668253267342015L,
+        1331668253267342015L,
         1331668253267378405L,
         1331668253267367303L,
         1331668259054285979L,
@@ -1647,28 +1960,34 @@ interface TestValues {
         1331668253278218713L,
         1331668253278218713L,
         1331668253278218713L,
+        1331668253278223105L,
         1331668259054285979L,
         1331668253324119756L,
         1331668253324119756L,
         1331668253324119756L,
         1331668253324119756L,
+        1331668253324123194L,
         1331668259054285979L,
         1331668253614347227L,
         1331668253614347227L,
         1331668253614347227L,
         1331668253614347227L,
+        1331668253614351910L,
         1331668259054285979L,
         1331668253619459320L,
         1331668253619459320L,
         1331668253619459320L,
         1331668253619459320L,
+        1331668253619462745L,
         1331668259054285979L,
         1331668253619867625L,
         1331668253619867625L,
         1331668253619867625L,
         1331668253619867625L,
+        1331668253619870183L,
         1331668259054285979L,
         1331668253621486721L,
+        1331668253621486721L,
         1331668253621508851L,
         1331668253621491536L,
         1331668259054285979L,
@@ -1677,58 +1996,70 @@ interface TestValues {
         1331668253622429608L,
         1331668253622429608L,
         1331668253622429608L,
+        1331668253622432889L,
         1331668259054285979L,
         1331668253857465365L,
         1331668253857465365L,
         1331668253857465365L,
         1331668253857465365L,
+        1331668253857469629L,
         1331668259054285979L,
         1331668253858125091L,
         1331668253858125091L,
         1331668253858125091L,
         1331668253858125091L,
+        1331668253858128274L,
         1331668259054285979L,
         1331668253910194540L,
         1331668253910194540L,
         1331668253910194540L,
         1331668253910194540L,
+        1331668253910198633L,
         1331668259054285979L,
         1331668253910329721L,
         1331668253910329721L,
         1331668253910329721L,
         1331668253910329721L,
+        1331668253910333029L,
         1331668259054285979L,
         1331668253984922308L,
         1331668253984922308L,
         1331668253984922308L,
         1331668253984922308L,
+        1331668253984926366L,
         1331668259054285979L,
         1331668254004098152L,
         1331668254004098152L,
         1331668254004098152L,
         1331668254004098152L,
+        1331668254004102129L,
         1331668259054285979L,
         1331668254047839900L,
         1331668254047839900L,
         1331668254047839900L,
         1331668254047839900L,
+        1331668254047843621L,
         1331668259054285979L,
         1331668254093066195L,
         1331668254093066195L,
         1331668254093066195L,
         1331668254093066195L,
+        1331668254093071603L,
         1331668259054285979L,
         1331668254106326339L,
         1331668254106326339L,
         1331668254106326339L,
         1331668254106326339L,
+        1331668254106330527L,
         1331668259054285979L,
         1331668255052411647L,
         1331668255052411647L,
         1331668255052411647L,
         1331668255052411647L,
+        1331668255052417904L,
         1331668259054285979L,
         1331668255157088064L,
+        1331668255157088064L,
         1331668255157101973L,
         1331668255157091812L,
         1331668259054285979L,
@@ -1737,8 +2068,10 @@ interface TestValues {
         1331668256244508635L,
         1331668256244508635L,
         1331668256244508635L,
+        1331668256244513337L,
         1331668259054285979L,
         1331668257246987050L,
+        1331668257246987050L,
         1331668257247036372L,
         1331668257247027684L,
         1331668259054285979L,
@@ -1747,13 +2080,16 @@ interface TestValues {
         1331668259045096840L,
         1331668259045096840L,
         1331668259045096840L,
+        1331668259045103189L,
         1331668259054285979L,
         1331668259052126585L,
         1331668259052126585L,
         1331668259052126585L,
         1331668259052126585L,
+        1331668259052129986L,
         1331668259054285979L,
         1331668259053345550L,
+        1331668259053345550L,
         1331668259054285979L,
         1331668259053349544L,
         1331668259054285979L,
@@ -1771,6 +2107,7 @@ interface TestValues {
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueInt(1),
         TmfStateValue.newValueString("lttng-consumerd"),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
         TmfStateValue.nullValue(),
@@ -1785,8 +2122,11 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(5),
         TmfStateValue.newValueString("swapper/1"),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1432),
@@ -1796,6 +2136,8 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
+        TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
@@ -1814,41 +2156,50 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(-6),
         TmfStateValue.newValueString("sys_ppoll"),
         TmfStateValue.newValueString("alsa-sink"),
         TmfStateValue.nullValue(),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_epoll_wait"),
         TmfStateValue.newValueString("lttng-sessiond"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gnome-terminal"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_select"),
         TmfStateValue.newValueString("Xorg"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("metacity"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("kworker/0:1"),
         TmfStateValue.nullValue(),
@@ -1857,21 +2208,25 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("ksoftirqd/0"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_read"),
         TmfStateValue.newValueString("rsyslogd"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("rs:main Q:Reg"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("kworker/1:1"),
         TmfStateValue.nullValue(),
@@ -1881,23 +2236,30 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_select"),
         TmfStateValue.newValueString("rsyslogd"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_read"),
         TmfStateValue.newValueString("bash"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("bamfdaemon"),
         TmfStateValue.nullValue(),
@@ -1912,33 +2274,40 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("indicator-multi"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("dbus-daemon"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("indicator-appli"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(3),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
@@ -1947,16 +2316,19 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(5),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("unity-panel-ser"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("hud-service"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
@@ -1964,58 +2336,70 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("openvpn"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(2),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_nanosleep"),
         TmfStateValue.newValueString("gvfs-afc-volume"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("rtkit-daemon"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(-100),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("rtkit-daemon"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
@@ -2024,11 +2408,13 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.nullValue(),
@@ -2623,5 +3009,124 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
     };
 }
+
index 225478b60618e406dacfe7e699469d6ebc2fdad3..13a9fbf62b2a610064ca50b8cdd2c853514c7bb8 100644 (file)
@@ -41,6 +41,7 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
     private static final String SOFTIRQ_EXIT = "softirq_exit";
     private static final String SOFTIRQ_RAISE = "softirq_raise";
     private static final String SCHED_SWITCH = "sched_switch";
+    private static final String SCHED_PI_SETPRIO = "sched_pi_setprio";
 
     private static final Collection<String> SCHED_WAKEUP_EVENTS =
             checkNotNull(ImmutableList.of("sched_wakeup", "sched_wakeup_new"));
@@ -65,6 +66,9 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
     private static final String PARENT_TID = "parent_tid";
     private static final String CHILD_COMM = "child_comm";
     private static final String CHILD_TID = "child_tid";
+    private static final String PRIO = "prio";
+    private static final String NEXT_PRIO = "next_prio";
+    private static final String NEW_PRIO = "newprio";
 
     /** All instances are the same. Only provide a static instance getter */
     protected LttngEventLayout() {
@@ -118,6 +122,11 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
         return SCHED_SWITCH;
     }
 
+    @Override
+    public String eventSchedPiSetprio() {
+        return SCHED_PI_SETPRIO;
+    }
+
     @Override
     public Collection<String> eventsSchedWakeup() {
         return SCHED_WAKEUP_EVENTS;
@@ -212,4 +221,19 @@ public class LttngEventLayout implements IKernelAnalysisEventLayout {
         return CHILD_TID;
     }
 
+    @Override
+    public String fieldPrio() {
+        return PRIO;
+    }
+
+    @Override
+    public String fieldNewPrio() {
+        return NEW_PRIO;
+    }
+
+    @Override
+    public String fieldNextPrio() {
+        return NEXT_PRIO;
+    }
+
 }
index 35cccc432b057eaf75a7478a87a3d90e82dbea50..03512c2b429e00e507f51eda294e2de1b1c296be 100644 (file)
@@ -75,6 +75,11 @@ public class PerfEventLayout implements IKernelAnalysisEventLayout {
         return "sched:sched_switch"; //$NON-NLS-1$
     }
 
+    @Override
+    public String eventSchedPiSetprio() {
+        return "sched:sched_pi_setprio"; //$NON-NLS-1$
+    }
+
     private static final Collection<String> WAKEUP_EVENTS =
             checkNotNull(ImmutableList.of("sched:sched_wakeup", "sched:sched_wakeup_new")); //$NON-NLS-1$ //$NON-NLS-2$
 
@@ -173,4 +178,19 @@ public class PerfEventLayout implements IKernelAnalysisEventLayout {
         return "child_pid"; //$NON-NLS-1$
     }
 
+    @Override
+    public String fieldPrio() {
+        return "prio"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldNewPrio() {
+        return "newprio"; //$NON-NLS-1$
+    }
+
+    @Override
+    public String fieldNextPrio() {
+        return "next_prio"; //$NON-NLS-1$
+    }
+
 }
This page took 0.046335 seconds and 5 git commands to generate.