lttng: Fix system calls for LTTng 2.6 kernel traces
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.kernel.core / src / org / eclipse / tracecompass / internal / lttng2 / kernel / core / trace / layout / LttngEventLayout.java
CommitLineData
7411cd67
AM
1/*******************************************************************************
2 * Copyright (c) 2012, 2014 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Alexandre Montplaisir - Initial API and implementation
11 ******************************************************************************/
12
13package org.eclipse.tracecompass.internal.lttng2.kernel.core.trace.layout;
14
15import java.util.Collection;
16
17import org.eclipse.jdt.annotation.NonNull;
18
19import com.google.common.collect.ImmutableList;
20
21/**
acba092b
AM
22 * This file defines all the known event and field names for LTTng kernel
23 * traces, for versions of lttng-modules up to 2.5.
7411cd67
AM
24 *
25 * These should not be externalized, since they need to match exactly what the
26 * tracer outputs. If you want to localize them in a view, you should do a
27 * mapping in the view itself.
28 *
29 * @author Alexandre Montplaisir
30 */
31@SuppressWarnings("nls")
32public class LttngEventLayout implements IKernelAnalysisEventLayout {
33
34 /* Event names */
7411cd67
AM
35 private static final String IRQ_HANDLER_ENTRY = "irq_handler_entry";
36 private static final String IRQ_HANDLER_EXIT = "irq_handler_exit";
37 private static final String SOFTIRQ_ENTRY = "softirq_entry";
38 private static final String SOFTIRQ_EXIT = "softirq_exit";
39 private static final String SOFTIRQ_RAISE = "softirq_raise";
40 private static final String SCHED_SWITCH = "sched_switch";
41
42 @SuppressWarnings("null")
43 private static final @NonNull Collection<String> SCHED_WAKEUP_EVENTS = ImmutableList.of("sched_wakeup", "sched_wakeup_new");
44
45 private static final String SCHED_PROCESS_FORK = "sched_process_fork";
46 private static final String SCHED_PROCESS_EXIT = "sched_process_exit";
47 private static final String SCHED_PROCESS_FREE = "sched_process_free";
48 private static final String STATEDUMP_PROCESS_STATE = "lttng_statedump_process_state";
49
acba092b
AM
50 private static final String SYSCALL_ENTRY_PREFIX = "sys_";
51 private static final String COMPAT_SYSCALL_ENTRY_PREFIX = "compat_sys_";
52 private static final String SYSCALL_EXIT_PREFIX = "exit_syscall";
7411cd67
AM
53
54 /* Field names */
55 private static final String IRQ = "irq";
56 private static final String TID = "tid";
57 private static final String VEC = "vec";
58 private static final String PREV_TID = "prev_tid";
59 private static final String PREV_STATE = "prev_state";
60 private static final String NEXT_COMM = "next_comm";
61 private static final String NEXT_TID = "next_tid";
62 private static final String PARENT_TID = "parent_tid";
63 private static final String CHILD_COMM = "child_comm";
64 private static final String CHILD_TID = "child_tid";
65
66 /** All instances are the same. Only provide a static instance getter */
acba092b 67 protected LttngEventLayout() {
7411cd67
AM
68 }
69
70 private static final IKernelAnalysisEventLayout INSTANCE = new LttngEventLayout();
71
72 /**
73 * Get an instance of this event layout
74 *
75 * This object is completely immutable, so no need to create additional
76 * instances via the constructor.
77 *
78 * @return The instance
79 */
80 public static IKernelAnalysisEventLayout getInstance() {
81 return INSTANCE;
82 }
83
84 // ------------------------------------------------------------------------
85 // Event names
86 // ------------------------------------------------------------------------
87
88 @Override
89 public String eventIrqHandlerEntry() {
90 return IRQ_HANDLER_ENTRY;
91 }
92
93 @Override
94 public String eventIrqHandlerExit() {
95 return IRQ_HANDLER_EXIT;
96 }
97
98 @Override
99 public String eventSoftIrqEntry() {
100 return SOFTIRQ_ENTRY;
101 }
102
103 @Override
104 public String eventSoftIrqExit() {
105 return SOFTIRQ_EXIT;
106 }
107
108 @Override
109 public String eventSoftIrqRaise() {
110 return SOFTIRQ_RAISE;
111 }
112
113 @Override
114 public String eventSchedSwitch() {
115 return SCHED_SWITCH;
116 }
117
118 @Override
119 public Collection<String> eventsSchedWakeup() {
120 return SCHED_WAKEUP_EVENTS;
121 }
122
123 @Override
124 public String eventSchedProcessFork() {
125 return SCHED_PROCESS_FORK;
126 }
127
128 @Override
129 public String eventSchedProcessExit() {
130 return SCHED_PROCESS_EXIT;
131 }
132
133 @Override
134 public String eventSchedProcessFree() {
135 return SCHED_PROCESS_FREE;
136 }
137
138 @Override
139 public String eventStatedumpProcessState() {
140 return STATEDUMP_PROCESS_STATE;
141 }
7411cd67
AM
142
143 @Override
144 public String eventSyscallEntryPrefix() {
acba092b 145 return SYSCALL_ENTRY_PREFIX;
7411cd67
AM
146 }
147
148 @Override
149 public String eventCompatSyscallEntryPrefix() {
acba092b
AM
150 return COMPAT_SYSCALL_ENTRY_PREFIX;
151 }
152
153 @Override
154 public String eventSyscallExitPrefix() {
155 return SYSCALL_EXIT_PREFIX;
7411cd67
AM
156 }
157
158 // ------------------------------------------------------------------------
159 // Event field names
160 // ------------------------------------------------------------------------
161
162 @Override
163 public String fieldIrq() {
164 return IRQ;
165 }
166
167 @Override
168 public String fieldVec() {
169 return VEC;
170 }
171
172 @Override
173 public String fieldTid() {
174 return TID;
175 }
176
177 @Override
178 public String fieldPrevTid() {
179 return PREV_TID;
180 }
181
182 @Override
183 public String fieldPrevState() {
184 return PREV_STATE;
185 }
186
187 @Override
188 public String fieldNextComm() {
189 return NEXT_COMM;
190 }
191
192 @Override
193 public String fieldNextTid() {
194 return NEXT_TID;
195 }
196
197 @Override
198 public String fieldChildComm() {
199 return CHILD_COMM;
200 }
201
202 @Override
203 public String fieldParentTid() {
204 return PARENT_TID;
205 }
206
207 @Override
208 public String fieldChildTid() {
209 return CHILD_TID;
210 }
211
212}
This page took 0.032817 seconds and 5 git commands to generate.