kernel.core: making some classes final
[deliverable/tracecompass.git] / lttng / org.eclipse.tracecompass.lttng2.kernel.core / src / org / eclipse / tracecompass / internal / lttng2 / kernel / core / trace / layout / PerfEventLayout.java
CommitLineData
bd0e2f70 1/*******************************************************************************
ed902a2b 2 * Copyright (c) 2012, 2015 Ericsson
bd0e2f70
AM
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
bd0e2f70 17import org.eclipse.jdt.annotation.Nullable;
e363eae1 18import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout;
bd0e2f70
AM
19
20import com.google.common.collect.ImmutableList;
21
22/**
23 * Event and field definitions for perf traces in CTF format.
24 *
25 * @author Alexandre Montplaisir
26 */
92780930 27public final class PerfEventLayout implements IKernelAnalysisEventLayout {
bd0e2f70
AM
28
29 private PerfEventLayout() {}
30
31 private static final PerfEventLayout INSTANCE = new PerfEventLayout();
32
33 /**
34 * Get the singleton instance of this event layout object.
35 *
36 * @return The instance
37 */
38 public static PerfEventLayout getInstance() {
39 return INSTANCE;
40 }
41
42 // ------------------------------------------------------------------------
43 // Event names
44 // ------------------------------------------------------------------------
45
46 @Override
47 public String eventIrqHandlerEntry() {
48 return "irq:irq_handler_exit"; //$NON-NLS-1$
49 }
50
51 @Override
52 public String eventIrqHandlerExit() {
53 return "irq:irq_handler_entry"; //$NON-NLS-1$
54 }
55
56 @Override
57 public String eventSoftIrqEntry() {
58 return "irq:softirq_entry"; //$NON-NLS-1$
59 }
60
61 @Override
62 public String eventSoftIrqExit() {
63 return "irq:softirq_exit"; //$NON-NLS-1$
64 }
65
66 @Override
67 public String eventSoftIrqRaise() {
68 return "irq:softirq_raise"; //$NON-NLS-1$
69 }
70
71 @Override
72 public String eventSchedSwitch() {
73 return "sched:sched_switch"; //$NON-NLS-1$
74 }
75
3bf563da
CM
76 @Override
77 public String eventSchedPiSetprio() {
78 return "sched:sched_pi_setprio"; //$NON-NLS-1$
79 }
80
5db5a3a4 81 private static final Collection<String> WAKEUP_EVENTS =
0e4f957e 82 ImmutableList.of("sched:sched_wakeup", "sched:sched_wakeup_new"); //$NON-NLS-1$ //$NON-NLS-2$
bd0e2f70
AM
83
84 @Override
85 public Collection<String> eventsSchedWakeup() {
86 return WAKEUP_EVENTS;
87 }
88
89 @Override
90 public String eventSchedProcessFork() {
91 return "sched:sched_process_fork"; //$NON-NLS-1$
92 }
93
94 @Override
95 public String eventSchedProcessExit() {
96 return "sched:sched_process_exit"; //$NON-NLS-1$
97 }
98
99 @Override
100 public String eventSchedProcessFree() {
101 return "sched:sched_process_free"; //$NON-NLS-1$
102 }
103
104 @Override
105 public @Nullable String eventStatedumpProcessState() {
106 /* Not present in perf traces */
107 return null;
108 }
109
110 @Override
111 public String eventSyscallEntryPrefix() {
112 return "raw_syscalls:sys_enter"; //$NON-NLS-1$
113 }
114
115 @Override
116 public String eventCompatSyscallEntryPrefix() {
117 return eventSyscallEntryPrefix();
118 }
119
120 @Override
121 public String eventSyscallExitPrefix() {
122 return "raw_syscalls:sys_exit"; //$NON-NLS-1$
123 }
124
01f2a507
AM
125 @Override
126 public String eventCompatSyscallExitPrefix() {
127 return eventSyscallExitPrefix();
128 }
129
fb3a499b
FG
130 @Override
131 public String eventSchedProcessExec() {
132 return "sched:sched_process_exec"; //$NON-NLS-1$
133 }
134
135 @Override
136 public String eventSchedProcessWakeup() {
137 return "sched:sched_process_wakeup"; //$NON-NLS-1$
138 }
139
140 @Override
141 public String eventSchedProcessWakeupNew() {
142 return "sched:process_wakeup_new"; //$NON-NLS-1$
143 }
144
a8b8de05
BH
145 @Override
146 public String eventHRTimerStart() {
147 return "timer:hrtimer_start"; //$NON-NLS-1$
148 }
149
150 @Override
151 public String eventHRTimerCancel() {
152 return "timer:hrtimer_cancel"; //$NON-NLS-1$
153 }
154
fb3a499b
FG
155 @Override
156 public String eventHRTimerExpireEntry() {
157 return "timer:hrtimer_expire_entry"; //$NON-NLS-1$
158 }
159
160 @Override
161 public String eventHRTimerExpireExit() {
162 return "timer:hrtimer_expire_exit"; //$NON-NLS-1$
163 }
164
aa19e48b
NA
165 @Override
166 public String eventKmemPageAlloc() {
167 return "kmem:page_alloc"; //$NON-NLS-1$
168 }
169
170 @Override
171 public String eventKmemPageFree() {
172 return "kmem:page_free"; //$NON-NLS-1$
173 }
174
bd0e2f70
AM
175 // ------------------------------------------------------------------------
176 // Field names
177 // ------------------------------------------------------------------------
178
179 @Override
180 public String fieldIrq() {
181 return "irq"; //$NON-NLS-1$
182 }
183
184 @Override
185 public String fieldVec() {
186 return "vec"; //$NON-NLS-1$
187 }
188
189 @Override
190 public String fieldTid() {
191 return "pid"; //$NON-NLS-1$
192 }
193
194 @Override
195 public String fieldPrevTid() {
196 return "prev_pid"; //$NON-NLS-1$
197 }
198
199 @Override
200 public String fieldPrevState() {
201 return "prev_state"; //$NON-NLS-1$
202 }
203
204 @Override
205 public String fieldNextComm() {
206 return "next_comm"; //$NON-NLS-1$
207 }
208
209 @Override
210 public String fieldNextTid() {
211 return "next_pid"; //$NON-NLS-1$
212 }
213
214 @Override
215 public String fieldChildComm() {
216 return "child_comm"; //$NON-NLS-1$
217 }
218
219 @Override
220 public String fieldParentTid() {
221 return "parent_pid"; //$NON-NLS-1$
222 }
223
224 @Override
225 public String fieldChildTid() {
226 return "child_pid"; //$NON-NLS-1$
227 }
228
3bf563da
CM
229 @Override
230 public String fieldPrio() {
231 return "prio"; //$NON-NLS-1$
232 }
233
234 @Override
235 public String fieldNewPrio() {
236 return "newprio"; //$NON-NLS-1$
237 }
238
94c57af7
RB
239 @Override
240 public String fieldPrevPrio() {
241 return "prev_prio"; //$NON-NLS-1$
242 }
243
3bf563da
CM
244 @Override
245 public String fieldNextPrio() {
246 return "next_prio"; //$NON-NLS-1$
247 }
248
fb3a499b
FG
249 @Override
250 public String fieldComm() {
251 return "comm"; //$NON-NLS-1$
252 }
253
254 @Override
255 public String fieldName() {
256 return "name"; //$NON-NLS-1$
257 }
258
259 @Override
260 public String fieldStatus() {
261 return "status"; //$NON-NLS-1$
262 }
263
264 @Override
265 public String fieldPrevComm() {
266 return "prev_comm"; //$NON-NLS-1$
267 }
268
269 @Override
270 public String fieldFilename() {
271 return "filename"; //$NON-NLS-1$
272 }
273
a8b8de05
BH
274 @Override
275 public String fieldHRtimer() {
276 return "hrtimer"; //$NON-NLS-1$
277 }
278
279 @Override
280 public String fieldHRtimerFunction() {
281 return "function"; //$NON-NLS-1$
282 }
283
284 @Override
285 public String fieldHRtimerExpires() {
286 return "expires"; //$NON-NLS-1$
287 }
288
289 @Override
290 public String fieldHRtimerSoftexpires() {
291 return "softexpires"; //$NON-NLS-1$
292 }
293
294 @Override
295 public String fieldHRtimerNow() {
296 return "now"; //$NON-NLS-1$
297 }
2bb1a7a1
GB
298
299 // ------------------------------------------------------------------------
300 // I/O events and fields
301 // ------------------------------------------------------------------------
302
303 @Override
304 public String eventBlockRqInsert() {
305 return "block:block_rq_insert"; //$NON-NLS-1$
306 }
307
308 @Override
309 public String eventBlockRqIssue() {
310 return "block:block_rq_issue"; //$NON-NLS-1$
311 }
312
313 @Override
314 public String eventBlockRqComplete() {
315 return "block:block_rq_complete"; //$NON-NLS-1$
316 }
317
318 @Override
319 public String eventBlockBioFrontmerge() {
320 return "block:block_bio_frontmerge"; //$NON-NLS-1$
321 }
322
323 @Override
324 public String eventBlockBioBackmerge() {
325 return "block:block_bio_backmerge"; //$NON-NLS-1$
326 }
327
bd0e2f70 328}
This page took 0.064534 seconds and 5 git commands to generate.