1 /*******************************************************************************
2 * Copyright (c) 2012, 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
.lttng
.scope
.lttng
.kernel
.core
.trace
.layout
.internal
;
15 import java
.util
.Collection
;
17 import org
.eclipse
.jdt
.annotation
.NonNull
;
18 import org
.eclipse
.jdt
.annotation
.Nullable
;
19 import org
.lttng
.scope
.lttng
.kernel
.core
.trace
.layout
.ILttngKernelEventLayout
;
21 import com
.google
.common
.collect
.ImmutableList
;
24 * Event and field definitions for perf traces in CTF format.
26 * @author Alexandre Montplaisir
28 public final class PerfEventLayout
implements ILttngKernelEventLayout
{
30 private PerfEventLayout() {
33 private static final PerfEventLayout INSTANCE
= new PerfEventLayout();
36 * Get the singleton instance of this event layout object.
38 * @return The instance
40 public static PerfEventLayout
getInstance() {
44 // ------------------------------------------------------------------------
46 // ------------------------------------------------------------------------
49 public String
eventIrqHandlerEntry() {
50 return "irq:irq_handler_entry"; //$NON-NLS-1$
54 public String
eventIrqHandlerExit() {
55 return "irq:irq_handler_exit"; //$NON-NLS-1$
59 public String
eventSoftIrqEntry() {
60 return "irq:softirq_entry"; //$NON-NLS-1$
64 public String
eventSoftIrqExit() {
65 return "irq:softirq_exit"; //$NON-NLS-1$
69 public String
eventSoftIrqRaise() {
70 return "irq:softirq_raise"; //$NON-NLS-1$
74 public String
eventSchedSwitch() {
75 return "sched:sched_switch"; //$NON-NLS-1$
79 public String
eventSchedPiSetprio() {
80 return "sched:sched_pi_setprio"; //$NON-NLS-1$
83 private static final Collection
<String
> WAKEUP_EVENTS
= ImmutableList
.of("sched:sched_wakeup", "sched:sched_wakeup_new"); //$NON-NLS-1$ //$NON-NLS-2$
86 public Collection
<String
> eventsSchedWakeup() {
91 public String
eventSchedProcessFork() {
92 return "sched:sched_process_fork"; //$NON-NLS-1$
96 public String
eventSchedProcessExit() {
97 return "sched:sched_process_exit"; //$NON-NLS-1$
101 public String
eventSchedProcessFree() {
102 return "sched:sched_process_free"; //$NON-NLS-1$
106 public @Nullable String
eventStatedumpProcessState() {
107 /* Not present in perf traces */
112 public String
eventSyscallEntryPrefix() {
113 return "raw_syscalls:sys_enter"; //$NON-NLS-1$
117 public String
eventCompatSyscallEntryPrefix() {
118 return eventSyscallEntryPrefix();
122 public String
eventSyscallExitPrefix() {
123 return "raw_syscalls:sys_exit"; //$NON-NLS-1$
127 public String
eventCompatSyscallExitPrefix() {
128 return eventSyscallExitPrefix();
132 public String
eventSchedProcessExec() {
133 return "sched:sched_process_exec"; //$NON-NLS-1$
137 public String
eventSchedProcessWakeup() {
138 return "sched:sched_process_wakeup"; //$NON-NLS-1$
142 public String
eventSchedProcessWakeupNew() {
143 return "sched:process_wakeup_new"; //$NON-NLS-1$
147 public String
eventSchedProcessWaking() {
148 return "sched:sched_waking"; //$NON-NLS-1$
152 public String
eventSchedMigrateTask() {
153 return "sched:sched_migrate_task"; //$NON-NLS-1$
157 public String
eventHRTimerStart() {
158 return "timer:hrtimer_start"; //$NON-NLS-1$
162 public String
eventHRTimerCancel() {
163 return "timer:hrtimer_cancel"; //$NON-NLS-1$
167 public String
eventHRTimerExpireEntry() {
168 return "timer:hrtimer_expire_entry"; //$NON-NLS-1$
172 public String
eventHRTimerExpireExit() {
173 return "timer:hrtimer_expire_exit"; //$NON-NLS-1$
177 public String
eventKmemPageAlloc() {
178 return "kmem:page_alloc"; //$NON-NLS-1$
182 public String
eventKmemPageFree() {
183 return "kmem:page_free"; //$NON-NLS-1$
186 // ------------------------------------------------------------------------
188 // ------------------------------------------------------------------------
191 public String
fieldIrq() {
192 return "irq"; //$NON-NLS-1$
196 public String
fieldVec() {
197 return "vec"; //$NON-NLS-1$
201 public String
fieldTid() {
202 return "pid"; //$NON-NLS-1$
206 public String
fieldPrevTid() {
207 return "prev_pid"; //$NON-NLS-1$
211 public String
fieldPrevState() {
212 return "prev_state"; //$NON-NLS-1$
216 public String
fieldNextComm() {
217 return "next_comm"; //$NON-NLS-1$
221 public String
fieldNextTid() {
222 return "next_pid"; //$NON-NLS-1$
226 public String
fieldChildComm() {
227 return "child_comm"; //$NON-NLS-1$
231 public String
fieldParentTid() {
232 return "parent_pid"; //$NON-NLS-1$
236 public String
fieldChildTid() {
237 return "child_pid"; //$NON-NLS-1$
241 public String
fieldPrio() {
242 return "prio"; //$NON-NLS-1$
246 public String
fieldNewPrio() {
247 return "newprio"; //$NON-NLS-1$
251 public String
fieldPrevPrio() {
252 return "prev_prio"; //$NON-NLS-1$
256 public String
fieldNextPrio() {
257 return "next_prio"; //$NON-NLS-1$
261 public String
fieldComm() {
262 return "comm"; //$NON-NLS-1$
266 public String
fieldName() {
267 return "name"; //$NON-NLS-1$
271 public String
fieldStatus() {
272 return "status"; //$NON-NLS-1$
276 public String
fieldPrevComm() {
277 return "prev_comm"; //$NON-NLS-1$
281 public String
fieldFilename() {
282 return "filename"; //$NON-NLS-1$
286 public String
fieldHRtimer() {
287 return "hrtimer"; //$NON-NLS-1$
291 public String
fieldHRtimerFunction() {
292 return "function"; //$NON-NLS-1$
296 public String
fieldHRtimerExpires() {
297 return "expires"; //$NON-NLS-1$
301 public String
fieldHRtimerSoftexpires() {
302 return "softexpires"; //$NON-NLS-1$
306 public String
fieldHRtimerNow() {
307 return "now"; //$NON-NLS-1$
311 public @NonNull String
fieldOrder() {
312 return "order"; //$NON-NLS-1$
315 // ------------------------------------------------------------------------
316 // I/O events and fields
317 // ------------------------------------------------------------------------
320 public String
eventBlockRqInsert() {
321 return "block:block_rq_insert"; //$NON-NLS-1$
325 public String
eventBlockRqIssue() {
326 return "block:block_rq_issue"; //$NON-NLS-1$
330 public String
eventBlockRqComplete() {
331 return "block:block_rq_complete"; //$NON-NLS-1$
335 public String
eventBlockBioFrontmerge() {
336 return "block:block_bio_frontmerge"; //$NON-NLS-1$
340 public String
eventBlockBioBackmerge() {
341 return "block:block_bio_backmerge"; //$NON-NLS-1$
This page took 0.040768 seconds and 6 git commands to generate.