From 16ad5604d4c4e36e149d149e1bf999ca53781d3b Mon Sep 17 00:00:00 2001 From: Alexandre Montplaisir Date: Wed, 16 Nov 2016 15:50:11 -0500 Subject: [PATCH] os.linux: Correctly model each CPU's run queue 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 --- .../os/linux/core/kernel/StateValues.java | 1 + .../trace/IKernelAnalysisEventLayout.java | 33 ++ .../os/linux/core/kernel/Attributes.java | 1 + .../core/kernel/KernelStateProvider.java | 10 +- .../kernel/handlers/ProcessForkHandler.java | 6 + .../handlers/SchedMigrateTaskHandler.java | 71 +++ .../kernel/handlers/SchedSwitchHandler.java | 34 +- .../kernel/handlers/SchedWakeupHandler.java | 11 +- .../kernel/statesystem/StateSystemTest.java | 6 +- .../kernel/statesystem/TestValues.java | 509 +++++++++++++++++- 10 files changed, 670 insertions(+), 12 deletions(-) create mode 100644 analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedMigrateTaskHandler.java diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/StateValues.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/StateValues.java index 9a7a37dedf..d4133a5cc5 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/StateValues.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/StateValues.java @@ -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") diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java index 84f0837b9f..ae77d746b8 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/trace/IKernelAnalysisEventLayout.java @@ -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 *

@@ -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 // ------------------------------------------------------------------------ diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/Attributes.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/Attributes.java index e8889f3ce6..a4cee7efe5 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/Attributes.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/Attributes.java @@ -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"; diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java index 94a9933a54..892ccd8850 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java @@ -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 * * * @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)); } - for( String s : layout.getIPIIrqVectorsExits()) { + for (String s : layout.getIPIIrqVectorsExits()) { builder.put(s, new IPIExitHandler(layout)); } diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/ProcessForkHandler.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/ProcessForkHandler.java index 02a13ce24a..af4cf43bd2 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/ProcessForkHandler.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/ProcessForkHandler.java @@ -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 index 0000000000..314ebd5d7c --- /dev/null +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedMigrateTaskHandler.java @@ -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); + } + +} diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedSwitchHandler.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedSwitchHandler.java index ab0506cbcd..fe1f8fb64b 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedSwitchHandler.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedSwitchHandler.java @@ -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) { diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedWakeupHandler.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedWakeupHandler.java index 40bed11921..9d29d5383a 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedWakeupHandler.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SchedWakeupHandler.java @@ -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); } diff --git a/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java b/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java index b895f05e05..48eb6ffbd5 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java +++ b/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java @@ -404,8 +404,8 @@ public abstract class StateSystemTest { public void testGetQuarks_end() { List 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 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 diff --git a/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java b/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java index d9e6314029..d20feeac6e 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java +++ b/lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java @@ -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(), }; } -- 2.34.1