From 4bf167e792d15556a15c0977a0a882a733509582 Mon Sep 17 00:00:00 2001 From: Alexandre Montplaisir Date: Thu, 1 Sep 2016 21:30:28 -0400 Subject: [PATCH] os.linux: Make KernelCtfTraceStub public Other tests might want to make use of kernel traces without depending on the lttng2.kernel plugins. One limitation is that that stub uses the DefaultEventLayout, which means only very early LTTng 2.x traces will work. More recent event layouts are only defined in the lttng plugins at the moment. Change-Id: I0717cba18e696cabb4bbad53c90dbe471f836ffa Signed-off-by: Alexandre Montplaisir --- .../tests/latency/SyscallAnalysisTest.java | 1 + .../latency/SyscallStatsAnalysisTest.java | 1 + .../stubs/trace}/KernelCtfTraceStub.java | 21 ++++++++++++++++--- 3 files changed, 20 insertions(+), 3 deletions(-) rename analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/{src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency => stubs/org/eclipse/tracecompass/analysis/os/linux/core/tests/stubs/trace}/KernelCtfTraceStub.java (78%) diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallAnalysisTest.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallAnalysisTest.java index 8f55c3714e..8d389d51ed 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallAnalysisTest.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallAnalysisTest.java @@ -13,6 +13,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.tracecompass.analysis.os.linux.core.tests.stubs.trace.KernelCtfTraceStub; import org.eclipse.tracecompass.internal.analysis.os.linux.core.latency.SystemCallLatencyAnalysis; import org.eclipse.tracecompass.segmentstore.core.ISegment; import org.eclipse.tracecompass.segmentstore.core.ISegmentStore; diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallStatsAnalysisTest.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallStatsAnalysisTest.java index 235af47150..0ef6ce14e1 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallStatsAnalysisTest.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/SyscallStatsAnalysisTest.java @@ -12,6 +12,7 @@ package org.eclipse.tracecompass.analysis.os.linux.core.tests.latency; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import org.eclipse.tracecompass.analysis.os.linux.core.tests.stubs.trace.KernelCtfTraceStub; import org.eclipse.tracecompass.analysis.timing.core.segmentstore.statistics.SegmentStoreStatistics; import org.eclipse.tracecompass.internal.analysis.os.linux.core.latency.SystemCallLatencyAnalysis; import org.eclipse.tracecompass.internal.analysis.os.linux.core.latency.statistics.SystemCallLatencyStatisticsAnalysisModule; diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/KernelCtfTraceStub.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/stubs/org/eclipse/tracecompass/analysis/os/linux/core/tests/stubs/trace/KernelCtfTraceStub.java similarity index 78% rename from analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/KernelCtfTraceStub.java rename to analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/stubs/org/eclipse/tracecompass/analysis/os/linux/core/tests/stubs/trace/KernelCtfTraceStub.java index 05177c2bd7..22b014a6ea 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/latency/KernelCtfTraceStub.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/stubs/org/eclipse/tracecompass/analysis/os/linux/core/tests/stubs/trace/KernelCtfTraceStub.java @@ -7,13 +7,12 @@ * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tracecompass.analysis.os.linux.core.tests.latency; +package org.eclipse.tracecompass.analysis.os.linux.core.tests.stubs.trace; import java.io.IOException; import org.eclipse.core.runtime.FileLocator; import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.tracecompass.analysis.os.linux.core.tests.stubs.trace.KernelEventLayoutStub; import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout; import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelTrace; import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace; @@ -21,11 +20,27 @@ import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException; import org.eclipse.tracecompass.tmf.ctf.core.event.CtfTmfEvent; import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace; -class KernelCtfTraceStub extends CtfTmfTrace implements IKernelTrace { +/** + * Stub for a generic CTF kernel trace. + * + * It's basically an LTTng (2.0/2.1) trace, but without depending on o.e.t.lttng2.kernel! + */ +public class KernelCtfTraceStub extends CtfTmfTrace implements IKernelTrace { + + /** + * Constructor + */ public KernelCtfTraceStub() { super(); } + /** + * Get a trace from a CTF test trace. + * + * @param ctfTrace + * The CTF test trace + * @return The initialized trace + */ public static synchronized KernelCtfTraceStub getTrace(CtfTestTrace ctfTrace) { String tracePath; try { -- 2.34.1