1 /*******************************************************************************
2 * Copyright (c) 2014, 2015 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Alexandre Montplaisir - Initial API and implementation
11 ******************************************************************************/
13 package org
.eclipse
.tracecompass
.analysis
.os
.linux
.core
.trace
;
15 import java
.util
.Collection
;
17 import org
.eclipse
.jdt
.annotation
.Nullable
;
20 * Interface to define "concepts" present in the Linux kernel (represented by
21 * its tracepoints), that can then be exposed by different tracers under
24 * @author Alexandre Montplaisir
26 // The methods are named after the TRACE_EVENT's, should be straightforward
27 @SuppressWarnings("javadoc")
28 public interface IKernelAnalysisEventLayout
{
30 // ------------------------------------------------------------------------
32 // ------------------------------------------------------------------------
34 IKernelAnalysisEventLayout DEFAULT_LAYOUT
= DefaultEventLayout
.INSTANCE
;
37 * Whenever a process appears for the first time in a trace, we assume it
38 * starts inside this system call. (The syscall prefix is defined by the
39 * implementer of this interface.)
41 * TODO Change to a default method with Java 8?
43 String INITIAL_SYSCALL_NAME
= "clone"; //$NON-NLS-1$
45 // ------------------------------------------------------------------------
47 // ------------------------------------------------------------------------
49 String
eventIrqHandlerEntry();
50 String
eventIrqHandlerExit();
51 String
eventSoftIrqEntry();
52 String
eventSoftIrqExit();
53 String
eventSoftIrqRaise();
54 String
eventSchedSwitch();
55 Collection
<String
> eventsSchedWakeup();
56 String
eventSchedProcessFork();
57 String
eventSchedProcessExit();
58 String
eventSchedProcessFree();
59 @Nullable String
eventStatedumpProcessState();
60 String
eventSyscallEntryPrefix();
61 String
eventCompatSyscallEntryPrefix();
62 String
eventSyscallExitPrefix();
64 // ------------------------------------------------------------------------
66 // ------------------------------------------------------------------------
71 String
fieldPrevTid();
72 String
fieldPrevState();
73 String
fieldNextComm();
74 String
fieldNextTid();
75 String
fieldChildComm();
76 String
fieldParentTid();
77 String
fieldChildTid();