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