os.linux: Correctly model each CPU's run queue
authorAlexandre Montplaisir <alexmonthy@efficios.com>
Wed, 16 Nov 2016 20:50:11 +0000 (15:50 -0500)
committerAlexandre Montplaisir <alexmonthy@efficios.com>
Fri, 25 Nov 2016 21:57:51 +0000 (16:57 -0500)
Add a new attribute to the kernel state system:

THREADS
 +--1000
     +--Current_cpu_rq

Which will track on which CPU's run queue this thread
is currently located. Unlike the cpu -> Current_thread
attribute, several threads can be present on the same
CPU's run queue at the same time.

This will allow for example tracking on which CPU a
thread is expecting to go when it is in the WAIT_FOR_CPU
state.

This requires tweaks to the sched_switch, sched_wakeup
and process_fork handlers, as well as adding a new handler
for the sched_migrate_task event (which simply moves a
non-running thread from one run queue to another).

Change-Id: I6e0386214df195eb6389cec87f2e6a42fdc0691d
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/StateValues.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/Attributes.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/ProcessForkHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedMigrateTaskHandler.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedSwitchHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedWakeupHandler.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java

index 9a7a37dedf0cdb8439f62954413534b966701fca..d4133a5cc5a77c66bcef187fe6d85b055668b3f7 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.tracecompass.statesystem.core.statevalue.TmfStateValue;
  * history file.
  *
  * @author Alexandre Montplaisir
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 2.0
  */
 @SuppressWarnings("javadoc")
index 84f0837b9fe65836bf1ac70c191a779ad3473655..ae77d746b815dc37039de8e288680699de7350cb 100644 (file)
@@ -220,6 +220,17 @@ public interface IKernelAnalysisEventLayout {
      */
     String eventSchedProcessWakeupNew();
 
+    /**
+     * Migration event, moving a non-running thread from one CPU's run queue to
+     * another.
+     *
+     * @return The event name
+     * @since 2.2
+     */
+    default String eventSchedMigrateTask() {
+        return "sched_migrate_task"; //$NON-NLS-1$
+    }
+
     /**
      * Starting the high resolution timer
      * <p>
@@ -600,6 +611,28 @@ public interface IKernelAnalysisEventLayout {
         return "ret"; //$NON-NLS-1$
     }
 
+    /**
+     * Field indicating the upcoming CPU of sched_wakeup and sched_waking
+     * events.
+     *
+     * @return The field name
+     * @since 2.2
+     */
+    default String fieldTargetCpu() {
+        return "target_cpu"; //$NON-NLS-1$
+    }
+
+    /**
+     * Field of scheduler migration events, indicating the destination CPU of a
+     * thread being migrated.
+     *
+     * @return The field name
+     * @since 2.2
+     */
+    default String fieldDestCpu() {
+        return "dest_cpu"; //$NON-NLS-1$
+    }
+
     // ------------------------------------------------------------------------
     // I/O events and fields
     // ------------------------------------------------------------------------
index e8889f3ce65d25b3d3bc8db0fa1fe055bbed42a8..a4cee7efe52162d306a09ae0e1dfba639131fc5d 100644 (file)
@@ -36,6 +36,7 @@ public interface Attributes {
     String IRQS = "IRQs";
 
     /* Sub-attributes of the Thread nodes */
+    String CURRENT_CPU_RQ = "Current_cpu_rq";
     String PPID = "PPID";
     String EXEC_NAME = "Exec_name";
 
index 94a9933a549cf59f13c7f9c5e68600010c15ac95..892ccd8850b654fb8d26de1fd4d0f8150b260abc 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.ProcessExitHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.ProcessForkHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.ProcessFreeHandler;
+import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.SchedMigrateTaskHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.SchedSwitchHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.SchedWakeupHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.SoftIrqEntryHandler;
@@ -65,6 +66,7 @@ import com.google.common.collect.ImmutableMap;
  * |  |  |- EXEC_NAME
  * |  |  |- PRIO
  * |  |  |- SYSTEM_CALL
+ * |  |  |- CURRENT_CPU_RQ
  * </pre>
  *
  * @author Alexandre Montplaisir
@@ -79,7 +81,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 = 21;
+    private static final int VERSION = 22;
 
     // ------------------------------------------------------------------------
     // Fields
@@ -130,10 +132,12 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
         builder.put(layout.eventSchedProcessFork(), new ProcessForkHandler(layout));
         builder.put(layout.eventSchedProcessExit(), new ProcessExitHandler(layout));
         builder.put(layout.eventSchedProcessFree(), new ProcessFreeHandler(layout));
-        for( String s : layout.getIPIIrqVectorsEntries()) {
+        builder.put(layout.eventSchedMigrateTask(), new SchedMigrateTaskHandler(layout));
+
+        for (String s : layout.getIPIIrqVectorsEntries()) {
             builder.put(s, new IPIEntryHandler(layout));
         }
-        forString s : layout.getIPIIrqVectorsExits()) {
+        for (String s : layout.getIPIIrqVectorsExits()) {
             builder.put(s, new IPIExitHandler(layout));
         }
 
index 02a13ce24ae1f3d5e6f2347d0ace841d2e0280c0..af4cf43bd20965d9eb09a72e1d01b2b44e78bbef 100644 (file)
@@ -76,6 +76,12 @@ public class ProcessForkHandler extends KernelEventHandler {
         value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
         ss.modifyAttribute(timestamp, value, childTidNode);
 
+        /* Set the process's run queue, to be the same as the parent's */
+        quark = ss.getQuarkRelativeAndAdd(parentTidNode, Attributes.CURRENT_CPU_RQ);
+        value = ss.queryOngoingState(quark);
+        quark = ss.getQuarkRelativeAndAdd(childTidNode, Attributes.CURRENT_CPU_RQ);
+        ss.modifyAttribute(timestamp, value, quark);
+
         /* Set the process' syscall name, to be the same as the parent's */
         quark = ss.getQuarkRelativeAndAdd(parentTidNode, Attributes.SYSTEM_CALL);
         value = ss.queryOngoingState(quark);
diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedMigrateTaskHandler.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedMigrateTaskHandler.java
new file mode 100644 (file)
index 0000000..314ebd5
--- /dev/null
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers;
+
+import org.eclipse.tracecompass.analysis.os.linux.core.kernel.StateValues;
+import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout;
+import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.Attributes;
+import org.eclipse.tracecompass.statesystem.core.ITmfStateSystemBuilder;
+import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundException;
+import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue;
+import org.eclipse.tracecompass.statesystem.core.statevalue.TmfStateValue;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+
+/**
+ * Handler for task migration events. Normally moves a (non-running) process
+ * from one run queue to another.
+ *
+ * @author Alexandre Montplaisir
+ */
+public class SchedMigrateTaskHandler extends KernelEventHandler {
+
+    /**
+     * Constructor
+     *
+     * @param layout
+     *            The event layout to use
+     */
+    public SchedMigrateTaskHandler(IKernelAnalysisEventLayout layout) {
+        super(layout);
+    }
+
+    @Override
+    public void handleEvent(ITmfStateSystemBuilder ss, ITmfEvent event) throws AttributeNotFoundException {
+        Long tid = event.getContent().getFieldValue(Long.class, getLayout().fieldTid());
+        Long destCpu = event.getContent().getFieldValue(Long.class, getLayout().fieldDestCpu());
+
+        if (tid == null || destCpu == null) {
+            return;
+        }
+
+        long t = event.getTimestamp().toNanos();
+
+        String threadAttributeName = Attributes.buildThreadAttributeName(tid.intValue(), null);
+        if (threadAttributeName == null) {
+            /* Swapper threads do not get migrated */
+            return;
+        }
+        int threadNode = ss.getQuarkRelativeAndAdd(KernelEventHandlerUtils.getNodeThreads(ss), threadAttributeName);
+
+        /*
+         * Put the thread in the "wait for cpu" state. Some older versions of
+         * the kernel/tracers may not have the corresponding sched_waking events
+         * that also does so, so we can set it at the migrate, if applicable.
+         */
+        ITmfStateValue value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
+        ss.modifyAttribute(t, value, threadNode);
+
+        /* Update the thread's running queue to the new one indicated by the event */
+        int quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.CURRENT_CPU_RQ);
+        value = TmfStateValue.newValueInt(destCpu.intValue());
+        ss.modifyAttribute(t, value, quark);
+    }
+
+}
index ab0506cbcd1a0ff6f909453e4e5e9df12363537a..fe1f8fb64b64640728486619e01fcdc84e761586 100644 (file)
@@ -65,12 +65,24 @@ public class SchedSwitchHandler extends KernelEventHandler {
         int newCurrentThreadNode = ss.getQuarkRelativeAndAdd(nodeThreads, currenThreadAttributeName);
 
         long timestamp = KernelEventHandlerUtils.getTimestamp(event);
-        /* Set the status of the process that got scheduled out. */
-        setOldProcessStatus(ss, prevState, formerThreadNode, timestamp);
+        /*
+         * Set the status of the process that got scheduled out. This will also
+         * set it's current CPU run queue accordingly.
+         */
+        setOldProcessStatus(ss, prevState, formerThreadNode, cpu, timestamp);
 
         /* Set the status of the new scheduled process */
         KernelEventHandlerUtils.setProcessToRunning(timestamp, newCurrentThreadNode, ss);
 
+        /*
+         * Set the current CPU run queue of the new process. Should be already
+         * set if we've seen the previous sched_wakeup, but doesn't hurt to set
+         * it here too.
+         */
+        int quark = ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.CURRENT_CPU_RQ);
+        ITmfStateValue value = TmfStateValue.newValueInt(cpu);
+        ss.modifyAttribute(timestamp, value, quark);
+
         /* Set the exec name of the former process */
         setProcessExecName(ss, prevProcessName, formerThreadNode, timestamp);
 
@@ -91,8 +103,11 @@ public class SchedSwitchHandler extends KernelEventHandler {
         setCpuStatus(ss, nextTid, newCurrentThreadNode, timestamp, currentCPUNode);
     }
 
-    private static void setOldProcessStatus(ITmfStateSystemBuilder ss, Long prevState, Integer formerThreadNode, long timestamp) {
+    private static void setOldProcessStatus(ITmfStateSystemBuilder ss,
+            long prevState, int formerThreadNode, int cpu, long timestamp) {
         ITmfStateValue value;
+        boolean staysOnRunQueue = false;
+
         /*
          * Empirical observations and look into the linux code have
          * shown that the TASK_STATE_MAX flag is used internally and
@@ -107,6 +122,7 @@ public class SchedSwitchHandler extends KernelEventHandler {
 
         if (isRunning(state)) {
             value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
+            staysOnRunQueue = true;
         } else if (isWaiting(state)) {
             value = StateValues.PROCESS_STATUS_WAIT_BLOCKED_VALUE;
         } else if (isDead(state)) {
@@ -116,6 +132,18 @@ public class SchedSwitchHandler extends KernelEventHandler {
         }
         ss.modifyAttribute(timestamp, value, formerThreadNode);
 
+        int quark = ss.getQuarkRelativeAndAdd(formerThreadNode, Attributes.CURRENT_CPU_RQ);
+        if (staysOnRunQueue) {
+            /*
+             * Set the thread's run queue. This will often be redundant with
+             * previous events, but it may be the first time we see the
+             * information too.
+             */
+            value = TmfStateValue.newValueInt(cpu);
+        } else {
+            value = TmfStateValue.nullValue();
+        }
+        ss.modifyAttribute(timestamp, value, quark);
     }
 
     private static boolean isDead(int state) {
index 40bed11921b893fc5e951b78bb660c7facacdaea..9d29d5383a3591bc6ec03131acab236890ff6b8e 100644 (file)
@@ -39,9 +39,11 @@ public class SchedWakeupHandler extends KernelEventHandler {
         Integer cpu = KernelEventHandlerUtils.getCpu(event);
         final int tid = ((Long) event.getContent().getField(getLayout().fieldTid()).getValue()).intValue();
         final int prio = ((Long) event.getContent().getField(getLayout().fieldPrio()).getValue()).intValue();
+        Long targetCpu = event.getContent().getFieldValue(Long.class, getLayout().fieldTargetCpu());
 
         String threadAttributeName = Attributes.buildThreadAttributeName(tid, cpu);
-        if (threadAttributeName == null) {
+
+        if (cpu == null || targetCpu == null || threadAttributeName == null) {
             return;
         }
 
@@ -61,11 +63,16 @@ public class SchedWakeupHandler extends KernelEventHandler {
             ss.modifyAttribute(timestamp, value, threadNode);
         }
 
+        /* Set the thread's target run queue */
+        int quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.CURRENT_CPU_RQ);
+        value = TmfStateValue.newValueInt(targetCpu.intValue());
+        ss.modifyAttribute(timestamp, value, quark);
+
         /*
          * When a user changes a threads prio (e.g. with pthread_setschedparam),
          * it shows in ftrace with a sched_wakeup.
          */
-        int quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.PRIO);
+        quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.PRIO);
         value = TmfStateValue.newValueInt(prio);
         ss.modifyAttribute(timestamp, value, quark);
     }
index b895f05e052826971d2984434450755e84e0ca43..48eb6ffbd56140affdb59cb1214968b82299a029 100644 (file)
@@ -404,8 +404,8 @@ public abstract class StateSystemTest {
     public void testGetQuarks_end() {
         List<Integer> list = fixture.getQuarks(Attributes.THREADS, "1577", "*");
 
-        /* There should be 3 sub-attributes for each Thread node */
-        assertEquals(3, list.size());
+        /* There should be 4 sub-attributes for this Thread node */
+        assertEquals(4, list.size());
     }
 
     @Test
@@ -413,7 +413,7 @@ public abstract class StateSystemTest {
         List<Integer> list = fixture.getQuarks(Attributes.THREADS, "*", "*");
 
         /* There should be 716 attributes as not all have a system call or priority at this point*/
-        assertEquals(547, list.size());
+        assertEquals(716, list.size());
     }
 
     @Test
index d9e631402993c9883ed22ffa8807d0c9f3f4bf8c..d20feeac6e0fe7343690a66ec6acfc3546218dc9 100644 (file)
@@ -25,13 +25,15 @@ import org.eclipse.tracecompass.statesystem.core.statevalue.TmfStateValue;
  */
 interface TestValues {
 
-    int size = 740;
+    int size = 909;
 
     long[] startTimes = {
         1331668247314038062L,
         1331668247399757985L,
         1331668247316334243L,
+        1331668247399757985L,
         1331668247316320929L,
+        1331668247316334243L,
         1331668247314046266L,
         1331668247314046266L,
         1331668247399148733L,
@@ -42,24 +44,29 @@ interface TestValues {
         1331668247314851888L,
         1331668247327098502L,
         1331668247327098502L,
+        1331668247314851888L,
         1331668247327098502L,
         1331668247327098502L,
         1331668247399704235L,
         1331668247415001807L,
+        1331668247399704235L,
         1331668247415001807L,
         1331668247415001807L,
         1331668248014145796L,
         1331668247314038062L,
         1331668247314601653L,
         1331668247314601653L,
+        1331668247314601653L,
         1331668248013353414L,
         1331668247314607227L,
         1331668247314607227L,
+        1331668247314607227L,
         1331668248014130616L,
         1331668248014184526L,
         1331668247314038062L,
         1331668248011090056L,
         1331668247931793142L,
+        1331668247931793142L,
         1331668247930941981L,
         1331668247314038062L,
         1331668247314038062L,
@@ -70,6 +77,7 @@ interface TestValues {
         1331668247315471788L,
         1331668247335106720L,
         1331668247335106720L,
+        1331668247315471788L,
         1331668247335106720L,
         1331668247335106720L,
         1331668247931782426L,
@@ -77,38 +85,46 @@ interface TestValues {
         1331668247316120937L,
         1331668247335112802L,
         1331668247335112802L,
+        1331668247316120937L,
         1331668247335112802L,
         1331668247335112802L,
         1331668248004705322L,
         1331668248004935409L,
+        1331668248004935409L,
         1331668248004770916L,
         1331668248004925240L,
         1331668247316553071L,
         1331668247399743968L,
         1331668247314038062L,
         1331668247999256178L,
+        1331668247999256178L,
         1331668247999239403L,
         1331668247999250697L,
         1331668247318567561L,
         1331668247999336085L,
+        1331668247999336085L,
         1331668247999131058L,
         1331668247999327778L,
         1331668247318631139L,
         1331668247959041965L,
         1331668247960265258L,
         1331668247903884233L,
+        1331668247903884233L,
         1331668247902254797L,
         1331668247903869067L,
         1331668247328403934L,
         1331668247908495390L,
+        1331668247908495390L,
         1331668247908391792L,
         1331668247908464125L,
         1331668247328921944L,
         1331668247903840082L,
+        1331668247903840082L,
         1331668247902986051L,
         1331668247903831313L,
         1331668247329404733L,
         1331668247960291263L,
+        1331668247960291263L,
         1331668247960272741L,
         1331668247314038062L,
         1331668247330548245L,
@@ -117,40 +133,51 @@ interface TestValues {
         1331668247340083580L,
         1331668247966976915L,
         1331668248004729173L,
+        1331668248004729173L,
         1331668248004720009L,
         1331668247314038062L,
         1331668247371137735L,
         1331668247387196023L,
+        1331668247387196023L,
         1331668247387154824L,
         1331668247387191465L,
         1331668247376420842L,
         1331668247400231496L,
+        1331668247400231496L,
         1331668247400130260L,
         1331668247400218303L,
         1331668247378430187L,
         1331668247751186217L,
+        1331668247751186217L,
         1331668247751173305L,
         1331668247314038062L,
         1331668247387136191L,
         1331668247400779449L,
+        1331668247400779449L,
         1331668247415047817L,
         1331668247415047817L,
         1331668247415047817L,
         1331668247400095883L,
+        1331668247400095883L,
         1331668247399991225L,
         1331668247400085049L,
         1331668247399991225L,
         1331668247401441000L,
+        1331668247401441000L,
         1331668247401341331L,
         1331668247401428073L,
         1331668247400779449L,
         1331668247410754305L,
+        1331668247410754305L,
         1331668247410594291L,
         1331668247519727372L,
+        1331668247519727372L,
         1331668247519619353L,
         1331668247412887695L,
+        1331668247412887695L,
         1331668247412803787L,
         1331668247413704524L,
+        1331668247413704524L,
         1331668247413576917L,
         1331668247412877246L,
         1331668247410583861L,
@@ -161,100 +188,124 @@ interface TestValues {
         1331668247519712481L,
         1331668247411099759L,
         1331668247924029486L,
+        1331668247924029486L,
         1331668247923412966L,
         1331668247924012402L,
         1331668247412302666L,
         1331668247924105876L,
+        1331668247924105876L,
         1331668247924010016L,
         1331668247924098044L,
         1331668247417574343L,
         1331668248014184526L,
+        1331668248014184526L,
         1331668248013799545L,
         1331668248014130616L,
         1331668247417635948L,
         1331668247928627023L,
+        1331668247928627023L,
         1331668247928556625L,
         1331668247928621067L,
         1331668247417978805L,
         1331668247928556625L,
+        1331668247928556625L,
         1331668247927469138L,
         1331668247928529840L,
         1331668247418470511L,
         1331668247930341625L,
+        1331668247930341625L,
         1331668247928614605L,
         1331668248014184526L,
+        1331668248014089924L,
         1331668248014184526L,
         1331668248013793850L,
         1331668247419578477L,
         1331668247930328175L,
         1331668247419655652L,
         1331668248013753736L,
+        1331668248013331679L,
         1331668248013353414L,
         1331668248013749389L,
         1331668247420382626L,
         1331668247930579872L,
+        1331668247930579872L,
         1331668247930316322L,
         1331668247930574368L,
         1331668247420451876L,
         1331668247926378321L,
+        1331668247926378321L,
         1331668247925622863L,
         1331668247926367737L,
         1331668247423543945L,
         1331668247619316825L,
         1331668247619491008L,
         1331668247619505885L,
+        1331668247619505885L,
         1331668247619392829L,
         1331668247619495072L,
         1331668247434248026L,
         1331668247434551326L,
+        1331668247434551326L,
         1331668247434365352L,
         1331668247434546203L,
         1331668247434365352L,
         1331668247908325947L,
+        1331668247908325947L,
         1331668247908264450L,
         1331668247908319810L,
         1331668247467380509L,
         1331668247908677700L,
+        1331668247908677700L,
         1331668247908325947L,
         1331668247908640244L,
         1331668247467447781L,
         1331668247869556425L,
+        1331668247869556425L,
         1331668247869483379L,
         1331668247869544380L,
         1331668247503177108L,
         1331668247504321893L,
+        1331668247504321893L,
         1331668247504294050L,
         1331668247504319470L,
         1331668247503423094L,
         1331668248014183954L,
+        1331668248014135819L,
         1331668248014145796L,
         1331668248014183954L,
         1331668247512172527L,
         1331668247539381562L,
+        1331668247539381562L,
         1331668247539325848L,
         1331668247539369787L,
         1331668247539325848L,
         1331668247735177820L,
+        1331668247735177820L,
         1331668247735128110L,
         1331668247735170303L,
         1331668247735128110L,
         1331668247735168206L,
+        1331668247735168206L,
         1331668247735152717L,
         1331668247735161964L,
         1331668247735152717L,
         1331668247775218227L,
+        1331668247775218227L,
         1331668247775191569L,
         1331668247775231079L,
+        1331668247775231079L,
         1331668247775218227L,
         1331668247775205377L,
         1331668247775191569L,
         1331668247775223776L,
         1331668247775218227L,
         1331668247869483379L,
+        1331668247869483379L,
         1331668247869457807L,
         1331668247869477795L,
         1331668247869457807L,
         1331668247941667986L,
+        1331668247941667986L,
         1331668247941620894L,
         1331668247941650415L,
         1331668247941620894L,
@@ -768,9 +819,129 @@ 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 = {
+        1331668259054285979L,
+        1331668259054130388L,
         1331668259054285979L,
         1331668259054130388L,
         1331668259054285979L,
@@ -791,18 +962,23 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
+        1331668259054285979L,
         1331668248014620024L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248015333196L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248014188534L,
         1331668248014548923L,
         1331668259054285979L,
         1331668248015040151L,
         1331668248482983146L,
+        1331668248482978166L,
         1331668248482983146L,
         1331668259054285979L,
         1331668259054285979L,
@@ -815,6 +991,7 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248483009726L,
         1331668259054285979L,
         1331668259054285979L,
@@ -822,37 +999,45 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
+        1331668259054285979L,
         1331668248015959980L,
         1331668248016172023L,
         1331668248016172023L,
+        1331668248016172023L,
         1331668248016194935L,
         1331668259054285979L,
         1331668259054136697L,
         1331668259054285979L,
         1331668248016556933L,
         1331668248016556933L,
+        1331668248016556933L,
         1331668248016592456L,
         1331668252511012367L,
         1331668248016623209L,
         1331668248016623209L,
+        1331668248016623209L,
         1331668248016645047L,
         1331668252843104826L,
         1331668248015041609L,
         1331668248486545657L,
         1331668248502954816L,
         1331668248502954816L,
+        1331668248502954816L,
         1331668248503000162L,
         1331668259054285979L,
         1331668248020364249L,
+        1331668248020359475L,
         1331668248020364249L,
         1331668248020419523L,
         1331668259054285979L,
         1331668248020866943L,
         1331668248020866943L,
+        1331668248020866943L,
         1331668248020888352L,
         1331668259054285979L,
         1331668248531200073L,
         1331668248531200073L,
+        1331668248531200073L,
         1331668259054285979L,
         1331668259054285979L,
         1331668248019005964L,
@@ -861,6 +1046,8 @@ interface TestValues {
         1331668248021867385L,
         1331668248175307354L,
         1331668248175307354L,
+        1331668248175307354L,
+        1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
@@ -869,10 +1056,13 @@ interface TestValues {
         1331668259054285979L,
         1331668259051873438L,
         1331668259051873438L,
+        1331668259051873438L,
         1331668259051879701L,
         1331668259054285979L,
         1331668248751061201L,
         1331668248751061201L,
+        1331668248751061201L,
+        1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
         1331668259054285979L,
@@ -880,19 +1070,25 @@ interface TestValues {
         1331668259054285979L,
         1331668259054285979L,
         1331668259051838247L,
+        1331668259051834588L,
         1331668259051838247L,
         1331668259051846351L,
         1331668259054285979L,
         1331668257325265220L,
         1331668257325265220L,
+        1331668257325265220L,
         1331668257325277639L,
         1331668259054285979L,
         1331668250005943125L,
+        1331668250005939534L,
         1331668250005943125L,
         1331668248014565260L,
         1331668248014565260L,
+        1331668248014565260L,
         1331668250006219013L,
         1331668250006219013L,
+        1331668250006219013L,
+        1331668250004649129L,
         1331668250004649129L,
         1331668250004649129L,
         1331668250006228246L,
@@ -905,88 +1101,110 @@ interface TestValues {
         1331668259054285979L,
         1331668248414826115L,
         1331668248414826115L,
+        1331668248414826115L,
         1331668248414875444L,
         1331668259054285979L,
         1331668248420327828L,
         1331668248420327828L,
+        1331668248420327828L,
         1331668248420342919L,
         1331668259054285979L,
         1331668248015353903L,
+        1331668248015347726L,
         1331668248015353903L,
         1331668248015428919L,
         1331668259054285979L,
         1331668248420617453L,
+        1331668248420613401L,
         1331668248420617453L,
         1331668248420709272L,
         1331668259054285979L,
         1331668248421112139L,
         1331668248421112139L,
+        1331668248421112139L,
         1331668248421137268L,
         1331668259054285979L,
         1331668248421291701L,
         1331668248421291701L,
+        1331668248421291701L,
         1331668248014188534L,
+        1331668248014548923L,
         1331668248015518081L,
         1331668248014188534L,
         1331668259054285979L,
         1331668248421940554L,
         1331668259054285979L,
         1331668248014548923L,
+        1331668248014614755L,
         1331668248016397030L,
         1331668248014550770L,
         1331668259054285979L,
         1331668248422509298L,
         1331668248422509298L,
+        1331668248422509298L,
         1331668248422523601L,
         1331668259054285979L,
         1331668248424325503L,
         1331668248424325503L,
+        1331668248424325503L,
         1331668248424394073L,
         1331668259054285979L,
         1331668248140683324L,
         1331668248140686546L,
         1331668248140727269L,
         1331668248140727269L,
+        1331668248140727269L,
         1331668248140780012L,
         1331668259054285979L,
         1331668251031789570L,
         1331668251031789570L,
+        1331668251031789570L,
         1331668251031812282L,
         1331668252047037657L,
         1331668248269586770L,
         1331668248269586770L,
+        1331668248269586770L,
         1331668248269613258L,
         1331668259054285979L,
         1331668248141167328L,
         1331668248141167328L,
+        1331668248141167328L,
         1331668248141400164L,
         1331668259054285979L,
         1331668248141004006L,
         1331668248141004006L,
+        1331668248141004006L,
         1331668248141028631L,
         1331668259054285979L,
         1331668248141324868L,
         1331668248141324868L,
+        1331668248141324868L,
         1331668248141345677L,
         1331668259054285979L,
         1331668248014185078L,
+        1331668248014620024L,
         1331668248015165243L,
         1331668248014185078L,
         1331668259054285979L,
         1331668248539549580L,
         1331668248539549580L,
+        1331668248539549580L,
         1331668248539579511L,
         1331668259054285979L,
         1331668255234884605L,
         1331668255234884605L,
+        1331668255234884605L,
         1331668255234905622L,
         1331668259054285979L,
         1331668255234936617L,
         1331668255234936617L,
+        1331668255234936617L,
         1331668255234941684L,
         1331668259054285979L,
         1331668252778982101L,
         1331668252778982101L,
+        1331668252778982101L,
+        1331668252779007563L,
         1331668252779007563L,
         1331668252779007563L,
         1331668252781320133L,
@@ -995,236 +1213,295 @@ interface TestValues {
         1331668259054285979L,
         1331668248869653287L,
         1331668248869653287L,
+        1331668248869653287L,
         1331668248869679933L,
         1331668259054285979L,
         1331668248941858743L,
         1331668248941858743L,
+        1331668248941858743L,
         1331668248941885421L,
         1331668252782929207L,
         1331668248207116451L,
         1331668248207116451L,
+        1331668248207116451L,
         1331668248207177650L,
         1331668248207163589L,
         1331668248207165629L,
         1331668248207165629L,
+        1331668248207165629L,
         1331668248207212201L,
         1331668248207197204L,
         1331668248763171129L,
         1331668248763171129L,
+        1331668248763171129L,
         1331668259054285979L,
         1331668248763179780L,
         1331668248895005379L,
         1331668248895005379L,
+        1331668248895005379L,
         1331668248895062414L,
         1331668248895035146L,
         1331668249000328909L,
         1331668249000328909L,
+        1331668249000328909L,
         1331668249000373092L,
         1331668249000350716L,
         1331668249548101920L,
         1331668249947171998L,
         1331668249947171998L,
+        1331668249947171998L,
         1331668249947269897L,
         1331668249947249018L,
         1331668249951033184L,
         1331668249951033184L,
+        1331668249951033184L,
         1331668249951077605L,
         1331668249951058138L,
         1331668249959079406L,
         1331668249959079406L,
+        1331668249959079406L,
         1331668259054285979L,
         1331668249959100633L,
         1331668249970937981L,
         1331668249970937981L,
+        1331668249970937981L,
         1331668259054285979L,
         1331668249970963407L,
         1331668250007423753L,
         1331668250007423753L,
+        1331668250007423753L,
         1331668250007449251L,
         1331668250007428034L,
         1331668250231124169L,
         1331668250231124169L,
+        1331668250231124169L,
         1331668250231169946L,
         1331668250231148973L,
         1331668250326525622L,
         1331668250326525622L,
+        1331668250326525622L,
         1331668250329519305L,
         1331668250329507458L,
         1331668251063191270L,
         1331668251063191270L,
+        1331668251063191270L,
         1331668251063256143L,
         1331668251063222335L,
         1331668251065026369L,
         1331668251065026369L,
+        1331668251065026369L,
         1331668251065048462L,
         1331668251065030498L,
         1331668251065058051L,
         1331668251065058051L,
+        1331668251065058051L,
         1331668251065091761L,
         1331668251065069765L,
         1331668251065364590L,
         1331668251065364590L,
+        1331668251065364590L,
         1331668251065412381L,
         1331668251065407607L,
         1331668251065462500L,
         1331668251065462500L,
+        1331668251065462500L,
         1331668251065477027L,
         1331668251065465604L,
         1331668251065780572L,
         1331668251065780572L,
+        1331668251065780572L,
         1331668251065836719L,
         1331668251065829440L,
         1331668251065899750L,
         1331668251065899750L,
+        1331668251065899750L,
         1331668251065913891L,
         1331668251065902892L,
         1331668251066057402L,
         1331668251066057402L,
+        1331668251066057402L,
         1331668251066070617L,
         1331668251066060363L,
         1331668251066495616L,
         1331668251066495616L,
+        1331668251066495616L,
         1331668251066520321L,
         1331668251066506338L,
         1331668251066532840L,
         1331668251066532840L,
+        1331668251066532840L,
         1331668251066546436L,
         1331668251066535866L,
         1331668251066658006L,
         1331668251066658006L,
+        1331668251066658006L,
         1331668251066671812L,
         1331668251066660635L,
         1331668251066883302L,
         1331668251066883302L,
+        1331668251066883302L,
         1331668251066906446L,
         1331668251066887423L,
         1331668251067153808L,
         1331668251067153808L,
+        1331668251067153808L,
         1331668251067176405L,
         1331668251067157534L,
         1331668251067407214L,
         1331668251067407214L,
+        1331668251067407214L,
         1331668251067420770L,
         1331668251067410220L,
         1331668251067763731L,
         1331668251067763731L,
+        1331668251067763731L,
         1331668251067818612L,
         1331668251067811009L,
         1331668251067884367L,
         1331668251067884367L,
+        1331668251067884367L,
         1331668251067897382L,
         1331668251067887136L,
         1331668251068275691L,
         1331668251068275691L,
+        1331668251068275691L,
         1331668251068288692L,
         1331668251068278423L,
         1331668251068706355L,
         1331668251068706355L,
+        1331668251068706355L,
         1331668251068719015L,
         1331668251068709290L,
         1331668251069067645L,
         1331668251069067645L,
+        1331668251069067645L,
         1331668251069122518L,
         1331668251069116275L,
         1331668251069178617L,
         1331668251069178617L,
+        1331668251069178617L,
         1331668251069191305L,
         1331668251069181300L,
         1331668251069664884L,
         1331668251069664884L,
+        1331668251069664884L,
         1331668251069684555L,
         1331668251069668097L,
         1331668251069682852L,
         1331668251069682852L,
+        1331668251069682852L,
         1331668251069708201L,
         1331668251069690226L,
         1331668251715054925L,
         1331668251715054925L,
+        1331668251715054925L,
         1331668259054285979L,
         1331668251715066022L,
         1331668251803784493L,
         1331668251803784493L,
+        1331668251803784493L,
         1331668251803827591L,
         1331668251803808547L,
         1331668251983438636L,
         1331668251983438636L,
+        1331668251983438636L,
         1331668251983448709L,
         1331668251983441583L,
         1331668251992993580L,
         1331668251992993580L,
+        1331668251992993580L,
         1331668251993008591L,
         1331668251992998928L,
         1331668252022091542L,
         1331668252022091542L,
         1331668252022091542L,
         1331668252022091542L,
+        1331668252022091542L,
         1331668252022095079L,
         1331668252031771660L,
         1331668252031771660L,
+        1331668252031771660L,
         1331668252031777595L,
         1331668252031773847L,
         1331668252032463013L,
         1331668252032463013L,
+        1331668252032463013L,
         1331668252032502964L,
         1331668252032497700L,
         1331668252032506884L,
         1331668252032506884L,
+        1331668252032506884L,
         1331668252032559227L,
         1331668252032539402L,
         1331668252039535067L,
         1331668252039535067L,
+        1331668252039535067L,
         1331668259054285979L,
         1331668252039537404L,
         1331668252044008981L,
         1331668252044008981L,
+        1331668252044008981L,
         1331668252044014257L,
         1331668252044010861L,
         1331668252044059151L,
         1331668252044059151L,
+        1331668252044059151L,
         1331668252044064004L,
         1331668252044060420L,
         1331668252179391423L,
         1331668252179391423L,
+        1331668252179391423L,
         1331668252184781913L,
         1331668252184772369L,
         1331668252193425490L,
+        1331668252193422093L,
         1331668252193425490L,
         1331668252193432385L,
         1331668252193427706L,
         1331668252253575716L,
         1331668252253575716L,
+        1331668252253575716L,
         1331668252253592491L,
         1331668252253581852L,
         1331668252472449352L,
         1331668252472449352L,
+        1331668252472449352L,
         1331668252472474547L,
         1331668252472458163L,
         1331668252487295286L,
         1331668252487295286L,
+        1331668252487295286L,
         1331668252487300925L,
         1331668252487297683L,
         1331668252495759849L,
         1331668252495759849L,
+        1331668252495759849L,
         1331668252495766026L,
         1331668252495762178L,
         1331668252496219924L,
         1331668252496219924L,
+        1331668252496219924L,
         1331668252496245837L,
         1331668252496228816L,
         1331668252523291829L,
         1331668252523291829L,
+        1331668252523291829L,
         1331668252523482082L,
         1331668252523469395L,
         1331668252764810964L,
         1331668252764810964L,
+        1331668252764810964L,
         1331668252764829827L,
         1331668252764814570L,
         1331668252765021775L,
         1331668252765021775L,
+        1331668252765021775L,
         1331668252765026623L,
         1331668252765023841L,
         1331668252769399706L,
         1331668252769399706L,
+        1331668252769399706L,
+        1331668252769401404L,
         1331668252769401404L,
         1331668252769401404L,
         1331668259054285979L,
@@ -1233,14 +1510,18 @@ interface TestValues {
         1331668252769456141L,
         1331668252784988923L,
         1331668252784988923L,
+        1331668252784988923L,
         1331668259054285979L,
         1331668252785262589L,
         1331668252795062126L,
         1331668252795062126L,
+        1331668252795062126L,
         1331668259054285979L,
         1331668252795122600L,
         1331668252828832090L,
         1331668252828832090L,
+        1331668252828832090L,
+        1331668252828859292L,
         1331668252828859292L,
         1331668252828859292L,
         1331668252828904216L,
@@ -1249,26 +1530,37 @@ interface TestValues {
         1331668252828992804L,
         1331668252829505108L,
         1331668252829505108L,
+        1331668252829505108L,
+        1331668252829527974L,
         1331668252829527974L,
         1331668252829527974L,
         1331668252829719292L,
         1331668252829638887L,
         1331668252829643060L,
         1331668252829643060L,
+        1331668252829643060L,
+        1331668252829660274L,
         1331668252829660274L,
         1331668252829660274L,
         1331668252829683896L,
+        1331668252829679280L,
         1331668252829683896L,
         1331668252829799248L,
         1331668252829799248L,
+        1331668252829799248L,
+        1331668252829802278L,
         1331668252829802278L,
         1331668252829802278L,
         1331668252829821642L,
         1331668252829821642L,
+        1331668252829821642L,
         1331668252829840961L,
+        1331668252829837120L,
         1331668252829840961L,
         1331668252829859256L,
         1331668252829859256L,
+        1331668252829859256L,
+        1331668252829976501L,
         1331668252829976501L,
         1331668252829976501L,
         1331668252830107659L,
@@ -1287,6 +1579,7 @@ interface TestValues {
         1331668252831083126L,
         1331668252831228714L,
         1331668252831228714L,
+        1331668252831228714L,
         1331668252831318123L,
         1331668252831301843L,
         1331668252831543926L,
@@ -1299,14 +1592,18 @@ interface TestValues {
         1331668252883172744L,
         1331668252883172744L,
         1331668252883172744L,
+        1331668252883172744L,
         1331668252883178472L,
         1331668252885827603L,
         1331668252885827603L,
         1331668252885827603L,
         1331668252885827603L,
+        1331668252885827603L,
         1331668252885834716L,
         1331668252889337098L,
         1331668252889337098L,
+        1331668252889337098L,
+        1331668252889396688L,
         1331668252889396688L,
         1331668252889396688L,
         1331668252889396688L,
@@ -1318,8 +1615,10 @@ interface TestValues {
         1331668252901540914L,
         1331668252901540914L,
         1331668252901540914L,
+        1331668252901540914L,
         1331668252901545242L,
         1331668252901573889L,
+        1331668252901570182L,
         1331668252901573889L,
         1331668252901586635L,
         1331668252901577276L,
@@ -1327,188 +1626,227 @@ interface TestValues {
         1331668252906764880L,
         1331668252906764880L,
         1331668252906764880L,
+        1331668252906764880L,
         1331668252906769816L,
         1331668252912042743L,
         1331668252912042743L,
+        1331668252912042743L,
         1331668259054285979L,
         1331668252912048618L,
         1331668252927449371L,
         1331668252927449371L,
         1331668252927449371L,
         1331668252927449371L,
+        1331668252927449371L,
         1331668252927454567L,
         1331668252947156908L,
         1331668252947156908L,
         1331668252947156908L,
         1331668252947156908L,
+        1331668252947156908L,
         1331668252947162086L,
         1331668252947197386L,
         1331668252947197386L,
         1331668252947197386L,
         1331668252947197386L,
+        1331668252947197386L,
         1331668252947200470L,
         1331668253035499713L,
         1331668253035499713L,
         1331668253035499713L,
         1331668253035499713L,
+        1331668253035499713L,
         1331668253035505047L,
         1331668253036766769L,
         1331668253036766769L,
         1331668253036766769L,
         1331668253036766769L,
+        1331668253036766769L,
         1331668253036770602L,
         1331668253037890651L,
         1331668253037890651L,
         1331668253037890651L,
         1331668253037890651L,
+        1331668253037890651L,
         1331668253037894147L,
         1331668253051945128L,
         1331668253051945128L,
         1331668253051945128L,
         1331668253051945128L,
+        1331668253051945128L,
         1331668253051948233L,
         1331668253054627961L,
         1331668253054627961L,
         1331668253054627961L,
         1331668253054627961L,
+        1331668253054627961L,
         1331668253054630786L,
         1331668253057609433L,
         1331668253057609433L,
         1331668253057609433L,
         1331668253057609433L,
+        1331668253057609433L,
         1331668253057612341L,
         1331668253062222314L,
         1331668253062222314L,
         1331668253062222314L,
         1331668253062222314L,
+        1331668253062222314L,
         1331668253062227485L,
         1331668253097239708L,
         1331668253097239708L,
         1331668253097239708L,
         1331668253097239708L,
+        1331668253097239708L,
         1331668253097246792L,
         1331668253097518746L,
         1331668253097518746L,
         1331668253097518746L,
         1331668253097518746L,
+        1331668253097518746L,
         1331668253097521994L,
         1331668253267104284L,
         1331668253267104284L,
+        1331668253267104284L,
         1331668253267117055L,
         1331668253267107624L,
         1331668253267342015L,
         1331668253267342015L,
+        1331668253267342015L,
         1331668253267378405L,
         1331668253267367303L,
         1331668253278218713L,
         1331668253278218713L,
         1331668253278218713L,
         1331668253278218713L,
+        1331668253278218713L,
         1331668253278223105L,
         1331668253324119756L,
         1331668253324119756L,
         1331668253324119756L,
         1331668253324119756L,
+        1331668253324119756L,
         1331668253324123194L,
         1331668253614347227L,
         1331668253614347227L,
         1331668253614347227L,
         1331668253614347227L,
+        1331668253614347227L,
         1331668253614351910L,
         1331668253619459320L,
         1331668253619459320L,
         1331668253619459320L,
         1331668253619459320L,
+        1331668253619459320L,
         1331668253619462745L,
         1331668253619867625L,
         1331668253619867625L,
         1331668253619867625L,
         1331668253619867625L,
+        1331668253619867625L,
         1331668253619870183L,
         1331668253621486721L,
         1331668253621486721L,
+        1331668253621486721L,
         1331668253621508851L,
         1331668253621491536L,
         1331668253622429608L,
         1331668253622429608L,
         1331668253622429608L,
         1331668253622429608L,
+        1331668253622429608L,
         1331668253622432889L,
         1331668253857465365L,
         1331668253857465365L,
         1331668253857465365L,
         1331668253857465365L,
+        1331668253857465365L,
         1331668253857469629L,
         1331668253858125091L,
         1331668253858125091L,
         1331668253858125091L,
         1331668253858125091L,
+        1331668253858125091L,
         1331668253858128274L,
         1331668253910194540L,
         1331668253910194540L,
         1331668253910194540L,
         1331668253910194540L,
+        1331668253910194540L,
         1331668253910198633L,
         1331668253910329721L,
         1331668253910329721L,
         1331668253910329721L,
         1331668253910329721L,
+        1331668253910329721L,
         1331668253910333029L,
         1331668253984922308L,
         1331668253984922308L,
         1331668253984922308L,
         1331668253984922308L,
+        1331668253984922308L,
         1331668253984926366L,
         1331668254004098152L,
         1331668254004098152L,
         1331668254004098152L,
         1331668254004098152L,
+        1331668254004098152L,
         1331668254004102129L,
         1331668254047839900L,
         1331668254047839900L,
         1331668254047839900L,
         1331668254047839900L,
+        1331668254047839900L,
         1331668254047843621L,
         1331668254093066195L,
         1331668254093066195L,
         1331668254093066195L,
         1331668254093066195L,
+        1331668254093066195L,
         1331668254093071603L,
         1331668254106326339L,
         1331668254106326339L,
         1331668254106326339L,
         1331668254106326339L,
+        1331668254106326339L,
         1331668254106330527L,
         1331668255052411647L,
         1331668255052411647L,
         1331668255052411647L,
         1331668255052411647L,
+        1331668255052411647L,
         1331668255052417904L,
         1331668255157088064L,
         1331668255157088064L,
+        1331668255157088064L,
         1331668255157101973L,
         1331668255157091812L,
         1331668256244508635L,
         1331668256244508635L,
         1331668256244508635L,
         1331668256244508635L,
+        1331668256244508635L,
         1331668256244513337L,
         1331668257246987050L,
         1331668257246987050L,
+        1331668257246987050L,
         1331668257247036372L,
         1331668257247027684L,
         1331668259045096840L,
         1331668259045096840L,
         1331668259045096840L,
         1331668259045096840L,
+        1331668259045096840L,
         1331668259045103189L,
         1331668259052126585L,
         1331668259052126585L,
         1331668259052126585L,
         1331668259052126585L,
+        1331668259052126585L,
         1331668259052129986L,
         1331668259053345550L,
         1331668259053345550L,
+        1331668259053345550L,
         1331668259054285979L,
         1331668259053349544L,
     };
@@ -1517,7 +1855,9 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueString("sys_poll"),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueString("lttng-sessiond"),
         TmfStateValue.newValueString("lttng-consumerd"),
         TmfStateValue.newValueInt(20),
@@ -1534,11 +1874,15 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(5),
         TmfStateValue.nullValue(),
+        TmfStateValue.newValueInt(0),
         TmfStateValue.newValueString("swapper/0"),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(5),
+        TmfStateValue.newValueInt(1),
         TmfStateValue.newValueString("swapper/1"),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(4),
@@ -1546,6 +1890,7 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
@@ -1558,6 +1903,7 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("lttng-consumerd"),
         TmfStateValue.nullValue(),
@@ -1566,35 +1912,43 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(-6),
         TmfStateValue.newValueString("sys_ppoll"),
         TmfStateValue.newValueString("alsa-sink"),
         TmfStateValue.newValueString("sys_epoll_wait"),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gnome-terminal"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_select"),
         TmfStateValue.newValueString("Xorg"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("metacity"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("kworker/0:1"),
@@ -1603,18 +1957,22 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("ksoftirqd/0"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_read"),
         TmfStateValue.newValueString("rsyslogd"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("rs:main Q:Reg"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("kworker/1:1"),
@@ -1622,21 +1980,28 @@ interface TestValues {
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_select"),
         TmfStateValue.newValueString("rsyslogd"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_read"),
         TmfStateValue.newValueString("bash"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("bamfdaemon"),
@@ -1647,100 +2012,124 @@ interface TestValues {
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("unity-2d-panel"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("indicator-multi"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("dbus-daemon"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("indicator-appli"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(3),
+        TmfStateValue.newValueInt(1),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.newValueInt(5),
+        TmfStateValue.newValueInt(1),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("unity-panel-ser"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("hud-service"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.nullValue(),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("openvpn"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("firefox"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(2),
+        TmfStateValue.newValueInt(0),
         TmfStateValue.newValueInt(20),
         TmfStateValue.nullValue(),
         TmfStateValue.newValueString("gdbus"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_nanosleep"),
         TmfStateValue.newValueString("gvfs-afc-volume"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("rtkit-daemon"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(-100),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("rtkit-daemon"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueString("sys_poll"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("thunderbird-bin"),
         TmfStateValue.newValueInt(1),
+        TmfStateValue.nullValue(),
         TmfStateValue.newValueInt(20),
         TmfStateValue.newValueString("sys_futex"),
         TmfStateValue.newValueString("firefox"),
@@ -2254,5 +2643,123 @@ 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(),
     };
 }
This page took 0.057662 seconds and 5 git commands to generate.