blob: 74f296897f74bf6766c86e10ac906a8c2879d08e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Alexandre Montplaisir - Initial API and implementation
******************************************************************************/
package org.eclipse.tracecompass.analysis.os.linux.core.trace;
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.tmf.core.filter.ITmfFilter;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceContext;
/**
* Trace type that represents a Linux kernel trace.
*
* Any trace implementing the interface should be able to run the different
* Linux kernel analyses in this plugin.
*
* @author Alexandre Montplaisir
*/
public interface IKernelTrace extends ITmfTrace {
/**
* Get the event layout of this trace. Many known concepts from the Linux
* kernel may be exported under different names, depending on the tracer.
*
* @return The event layout
*/
IKernelAnalysisEventLayout getKernelEventLayout();
/** @since 2.0 */
@Override
default TmfTraceContext createTraceContext(TmfTimeRange selection, TmfTimeRange windowRange, @Nullable IFile editorFile, @Nullable ITmfFilter filter) {
return new LinuxTraceContext(selection, windowRange, editorFile, filter, this);
}
}