diff options
author | Francois Chouinard | 2011-09-15 01:13:22 +0000 |
---|---|---|
committer | Francois Chouinard | 2011-09-15 01:14:30 +0000 |
commit | a08e87c902396b0c2a8f8857dd3ad5f513bdcbd4 (patch) | |
tree | a769c47e84ac540840a23f348742c2ab59d7093b /lttng/org.eclipse.linuxtools.lttng | |
parent | c8b12d97f3519448697ae916e68aba4d7eb8e9f8 (diff) | |
download | org.eclipse.linuxtools-a08e87c902396b0c2a8f8857dd3ad5f513bdcbd4.tar.gz org.eclipse.linuxtools-a08e87c902396b0c2a8f8857dd3ad5f513bdcbd4.tar.xz org.eclipse.linuxtools-a08e87c902396b0c2a8f8857dd3ad5f513bdcbd4.zip |
Fix for Bug349987
Diffstat (limited to 'lttng/org.eclipse.linuxtools.lttng')
-rw-r--r-- | lttng/org.eclipse.linuxtools.lttng/src/org/eclipse/linuxtools/lttng/state/StateStrings.java | 282 |
1 files changed, 139 insertions, 143 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng/src/org/eclipse/linuxtools/lttng/state/StateStrings.java b/lttng/org.eclipse.linuxtools.lttng/src/org/eclipse/linuxtools/lttng/state/StateStrings.java index 8fde2ebce8..be1149921f 100644 --- a/lttng/org.eclipse.linuxtools.lttng/src/org/eclipse/linuxtools/lttng/state/StateStrings.java +++ b/lttng/org.eclipse.linuxtools.lttng/src/org/eclipse/linuxtools/lttng/state/StateStrings.java @@ -8,6 +8,7 @@ * * Contributors: * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation + * Daniel U. Thibault (daniel.thibault@drdc-rddc.gc.ca) - 2011-06-21 Fixes *******************************************************************************/ package org.eclipse.linuxtools.lttng.state; @@ -16,11 +17,10 @@ import java.util.HashSet; /** * Singleton - * Establishes relationships of state related strings, since the strings and + * Establishes relationships of state-related strings. Since the strings and * relations are fixed, the elements are final i.e. just for reading. * * @author alvaro - * */ @SuppressWarnings("nls") @@ -29,11 +29,11 @@ public class StateStrings { // ======================================================================== // Table data // ======================================================================= - private static StateStrings instance = null; public static final String LTTV_STATE_UNBRANDED = ""; + private static StateStrings instance = null; private final HashMap<String, Events> eventStrMap = new HashMap<String, Events>(); private final HashMap<String, Events> stateTransEventMap = new HashMap<String, Events>(); - private final String[] syscall_names = new String[256];; + private final String[] syscall_names = new String[256]; private final String[] trap_names = new String[256]; private final String[] irq_names = new String[256]; private final String[] soft_irq_names = new String[32]; @@ -66,11 +66,10 @@ public class StateStrings { for (int i = 0; i < 32; i++) { soft_irq_names[i] = "softirq " + i; } - } public static StateStrings getInstance() { - // Singleton to provide string constant + // Create singleton instance if not already done if (instance == null) { instance = new StateStrings(); } @@ -78,22 +77,31 @@ public class StateStrings { } public enum Channels { - LTT_CHANNEL_FD_STATE("fd_state"), /* */ - LTT_CHANNEL_GLOBAL_STATE("global_state"), /* */ - LTT_CHANNEL_IRQ_STATE("irq_state"), /* */ - LTT_CHANNEL_MODULE_STATE("module_state"), /* */ - LTT_CHANNEL_NETIF_STATE("netif_state"), /* */ - LTT_CHANNEL_SOFTIRQ_STATE("softirq_state"), /* */ - LTT_CHANNEL_SWAP_STATE("swap_state"), /* */ - LTT_CHANNEL_SYSCALL_STATE("syscall_state"), /* */ - LTT_CHANNEL_TASK_STATE("task_state"), /* */ - LTT_CHANNEL_VM_STATE("vm_state"), /* */ - LTT_CHANNEL_KPROBE_STATE("kprobe_state"), /* */ - LTT_CHANNEL_FS("fs"), /* */ - LTT_CHANNEL_KERNEL("kernel"), /* */ - LTT_CHANNEL_MM("mm"), /* */ - LTT_CHANNEL_USERSPACE("userspace"), /* */ - LTT_CHANNEL_BLOCK("block"); + LTT_CHANNEL_FD_STATE("fd_state"), /* file descriptor state events */ + LTT_CHANNEL_GLOBAL_STATE("global_state"), /* system state dump events */ + LTT_CHANNEL_IRQ_STATE("irq_state"), /* interrupt request (IRQ) events */ + LTT_CHANNEL_MODULE_STATE("module_state"), /* modules state events (list of modules) */ + LTT_CHANNEL_NETIF_STATE("netif_state"), /* network interface events */ + LTT_CHANNEL_SOFTIRQ_STATE("softirq_state"), /* soft IRQs state events (soft IRQ vector table) */ + LTT_CHANNEL_SWAP_STATE("swap_state"), /* swap state events */ + LTT_CHANNEL_SYSCALL_STATE("syscall_state"), /* system calls state events (system call table) */ + LTT_CHANNEL_TASK_STATE("task_state"), /* process state events */ + LTT_CHANNEL_VM_STATE("vm_state"), /* virtual memory events (virtual memory table) */ + LTT_CHANNEL_KPROBE_STATE("kprobe_state"), /* kprobe events (kprobe table) */ + LTT_CHANNEL_FS("fs"), /* file system events */ + LTT_CHANNEL_KERNEL("kernel"), /* kernel events */ + LTT_CHANNEL_MM("mm"), /* memory management events */ + LTT_CHANNEL_USERSPACE("userspace"), /* user space tracing events */ + LTT_CHANNEL_BLOCK("block"); /* block devices events */ + /* remaining channels: */ +/* LTT_CHANNEL_DEFAULT("default"), /* null (i.e. no default) */ +/* LTT_CHANNEL_INPUT("input"), /* LTT control command inputs */ +/* LTT_CHANNEL_IPC("ipc"), /* Inter Process Communication (IPC) events */ +/* LTT_CHANNEL_JBD2("jbd2"), /* Journaling Block Device (JBD) events (JBD2 fork for ext4 file system) */ +/* LTT_CHANNEL_METADATA("metadata"), /* trace meta data */ +/* LTT_CHANNEL_NET("net"), /* networking events */ +/* LTT_CHANNEL_PM("pm"), /* power management events */ +/* LTT_CHANNEL_RCU("rcu"), /* Read-Copy-Update (RCU) events */ private final String inName; @@ -102,11 +110,11 @@ public class StateStrings { } public String getInName() { - return inName; + return this.inName; + } + } - }; - // public enum Events { LTT_EVENT_SYSCALL_ENTRY("syscall_entry"), /* */ LTT_EVENT_SYSCALL_EXIT("syscall_exit"), /* */ @@ -143,7 +151,9 @@ public class StateStrings { private final String inName; private final HashSet<Fields> children = new HashSet<Fields>(); private Channels parent = null; - // Expected to cause a state transition default flag + // Default value for the "expected to cause a state transition?" flag + // Although most events do cause a state transition, the default is kept + // false to make this important property explicit in the static initializer private boolean stateTransition = false; static { @@ -175,116 +185,104 @@ public class StateStrings { } private static void associate() { - // SYSCALL, can receive ip, syscall_id + // SYSCALL_ENTRY can receive ip (?), syscall_id LTT_EVENT_SYSCALL_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_SYSCALL_ENTRY.getChildren().add( - Fields.LTT_FIELD_SYSCALL_ID); LTT_EVENT_SYSCALL_ENTRY.stateTransition = true; + LTT_EVENT_SYSCALL_ENTRY.getChildren().add(Fields.LTT_FIELD_SYSCALL_ID); + //SYSCALL_EXIT LTT_EVENT_SYSCALL_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_SYSCALL_EXIT.stateTransition = true; - // TRAP + // TRAP_ENTRY LTT_EVENT_TRAP_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_TRAP_ENTRY.getChildren().add(Fields.LTT_FIELD_TRAP_ID); LTT_EVENT_TRAP_ENTRY.stateTransition = true; + // TRAP_EXIT LTT_EVENT_TRAP_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_TRAP_EXIT.stateTransition = true; - // PAGE_FAULT + // PAGE_FAULT_ENTRY LTT_EVENT_PAGE_FAULT_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_PAGE_FAULT_ENTRY.getChildren().add( - Fields.LTT_FIELD_TRAP_ID); + LTT_EVENT_PAGE_FAULT_ENTRY.getChildren().add(Fields.LTT_FIELD_TRAP_ID); LTT_EVENT_PAGE_FAULT_ENTRY.stateTransition = true; + // PAGE_FAULT_EXIT LTT_EVENT_PAGE_FAULT_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_PAGE_FAULT_EXIT.stateTransition = true; - // PAGE_FAULT_NOSEM - LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY - .setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY.getChildren().add( - Fields.LTT_FIELD_TRAP_ID); + // PAGE_FAULT_NOSEM_ENTRY + LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); + LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY.getChildren().add(Fields.LTT_FIELD_TRAP_ID); LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY.stateTransition = true; - LTT_EVENT_PAGE_FAULT_NOSEM_EXIT.getChildren().add( - Fields.LTT_FIELD_TRAP_ID); + // PAGE_FAULT_NOSEM_EXIT + LTT_EVENT_PAGE_FAULT_NOSEM_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); + LTT_EVENT_PAGE_FAULT_NOSEM_EXIT.getChildren().add(Fields.LTT_FIELD_TRAP_ID); LTT_EVENT_PAGE_FAULT_NOSEM_EXIT.stateTransition = true; - // IRQ it also receives fields kernel_mode, ip and handler + // IRQ_ENTRY also receives fields kernel_mode, ip and handler (??) LTT_EVENT_IRQ_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_IRQ_ENTRY.getChildren().add(Fields.LTT_FIELD_IRQ_ID); LTT_EVENT_IRQ_ENTRY.stateTransition = true; + // IRQ_EXIT LTT_EVENT_IRQ_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_IRQ_EXIT.stateTransition = true; - // SOFT IRQ RAISE + // SOFT_IRQ_RAISE LTT_EVENT_SOFT_IRQ_RAISE.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_SOFT_IRQ_RAISE.getChildren().add( - Fields.LTT_FIELD_SOFT_IRQ_ID); + LTT_EVENT_SOFT_IRQ_RAISE.getChildren().add(Fields.LTT_FIELD_SOFT_IRQ_ID); LTT_EVENT_SOFT_IRQ_RAISE.stateTransition = true; - // SOFT IRQ ENTRY + // SOFT_IRQ_ENTRY LTT_EVENT_SOFT_IRQ_ENTRY.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_SOFT_IRQ_ENTRY.getChildren().add( - Fields.LTT_FIELD_SOFT_IRQ_ID); + LTT_EVENT_SOFT_IRQ_ENTRY.getChildren().add(Fields.LTT_FIELD_SOFT_IRQ_ID); LTT_EVENT_SOFT_IRQ_ENTRY.stateTransition = true; + // SOFT_IRQ_EXIT LTT_EVENT_SOFT_IRQ_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_SOFT_IRQ_EXIT.stateTransition = true; - // SCHED SCHEDULE + // SCHED_SCHEDULE LTT_EVENT_SCHED_SCHEDULE.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_SCHED_SCHEDULE.getChildren().add( - Fields.LTT_FIELD_PREV_PID); - LTT_EVENT_SCHED_SCHEDULE.getChildren().add( - Fields.LTT_FIELD_NEXT_PID); - LTT_EVENT_SCHED_SCHEDULE.getChildren().add( - Fields.LTT_FIELD_PREV_STATE); + LTT_EVENT_SCHED_SCHEDULE.getChildren().add(Fields.LTT_FIELD_PREV_PID); + LTT_EVENT_SCHED_SCHEDULE.getChildren().add(Fields.LTT_FIELD_NEXT_PID); + LTT_EVENT_SCHED_SCHEDULE.getChildren().add(Fields.LTT_FIELD_PREV_STATE); LTT_EVENT_SCHED_SCHEDULE.stateTransition = true; - // PROCESS FORK + // PROCESS_FORK LTT_EVENT_PROCESS_FORK.setParent(Channels.LTT_CHANNEL_KERNEL); - LTT_EVENT_PROCESS_FORK.getChildren().add( - Fields.LTT_FIELD_PARENT_PID); - LTT_EVENT_PROCESS_FORK.getChildren() - .add(Fields.LTT_FIELD_CHILD_PID); - LTT_EVENT_PROCESS_FORK.getChildren().add( - Fields.LTT_FIELD_CHILD_TGID); + LTT_EVENT_PROCESS_FORK.getChildren().add(Fields.LTT_FIELD_PARENT_PID); + LTT_EVENT_PROCESS_FORK.getChildren().add(Fields.LTT_FIELD_CHILD_PID); + LTT_EVENT_PROCESS_FORK.getChildren().add(Fields.LTT_FIELD_CHILD_TGID); LTT_EVENT_PROCESS_FORK.stateTransition = true; - // KTHREAD + // KTHREAD_CREATE LTT_EVENT_KTHREAD_CREATE.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_KTHREAD_CREATE.getChildren().add(Fields.LTT_FIELD_PID); LTT_EVENT_KTHREAD_CREATE.stateTransition = true; - // PROCES EXIT + // PROCESS_EXIT LTT_EVENT_PROCESS_EXIT.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_PROCESS_EXIT.getChildren().add(Fields.LTT_FIELD_PID); LTT_EVENT_PROCESS_EXIT.stateTransition = true; - // PROCESS FREE + // PROCESS_FREE LTT_EVENT_PROCESS_FREE.setParent(Channels.LTT_CHANNEL_KERNEL); LTT_EVENT_PROCESS_FREE.getChildren().add(Fields.LTT_FIELD_PID); LTT_EVENT_PROCESS_FREE.stateTransition = true; - // EVENT EXEC + // EVENT_EXEC LTT_EVENT_EXEC.setParent(Channels.LTT_CHANNEL_FS); LTT_EVENT_EXEC.getChildren().add(Fields.LTT_FIELD_FILENAME); LTT_EVENT_EXEC.stateTransition = true; - // THREAD BRAND - LTT_EVENT_THREAD_BRAND.setParent(Channels.LTT_CHANNEL_USERSPACE); - LTT_EVENT_THREAD_BRAND.getChildren().add(Fields.LTT_FIELD_NAME); - LTT_EVENT_THREAD_BRAND.stateTransition = true; - - // EVENT PROCESS STATE + // EVENT_PROCESS_STATE LTT_EVENT_PROCESS_STATE.setParent(Channels.LTT_CHANNEL_TASK_STATE); LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_PID); - LTT_EVENT_PROCESS_STATE.getChildren().add( - Fields.LTT_FIELD_PARENT_PID); + LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_PARENT_PID); LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_NAME); LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_TYPE); LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_MODE); @@ -293,82 +291,75 @@ public class StateStrings { LTT_EVENT_PROCESS_STATE.getChildren().add(Fields.LTT_FIELD_TGID); LTT_EVENT_PROCESS_STATE.stateTransition = true; - // EVENT STATEDUMP END - LTT_EVENT_STATEDUMP_END - .setParent(Channels.LTT_CHANNEL_GLOBAL_STATE); + // STATEDUMP_END + LTT_EVENT_STATEDUMP_END.setParent(Channels.LTT_CHANNEL_GLOBAL_STATE); LTT_EVENT_STATEDUMP_END.stateTransition = true; - // LTT_EVENT_LIST_INTERRUPT - LTT_EVENT_LIST_INTERRUPT.setParent(Channels.LTT_CHANNEL_IRQ_STATE); - LTT_EVENT_LIST_INTERRUPT.getChildren().add(Fields.LTT_FIELD_ACTION); - LTT_EVENT_LIST_INTERRUPT.getChildren().add(Fields.LTT_FIELD_IRQ_ID); - LTT_EVENT_LIST_INTERRUPT.stateTransition = true; + // FUNCTION_ENTRY + LTT_EVENT_FUNCTION_ENTRY.setParent(Channels.LTT_CHANNEL_USERSPACE); + LTT_EVENT_FUNCTION_ENTRY.getChildren().add(Fields.LTT_FIELD_THIS_FN); + LTT_EVENT_FUNCTION_ENTRY.getChildren().add(Fields.LTT_FIELD_CALL_SITE); + LTT_EVENT_FUNCTION_ENTRY.stateTransition = true; - // LTT_EVENT_REQUEST_ISSUE + // FUNCTION_EXIT + LTT_EVENT_FUNCTION_EXIT.setParent(Channels.LTT_CHANNEL_USERSPACE); + LTT_EVENT_FUNCTION_EXIT.getChildren().add(Fields.LTT_FIELD_THIS_FN); + LTT_EVENT_FUNCTION_EXIT.getChildren().add(Fields.LTT_FIELD_CALL_SITE); + LTT_EVENT_FUNCTION_EXIT.stateTransition = true; + + // THREAD_BRAND + LTT_EVENT_THREAD_BRAND.setParent(Channels.LTT_CHANNEL_USERSPACE); + LTT_EVENT_THREAD_BRAND.getChildren().add(Fields.LTT_FIELD_NAME); + LTT_EVENT_THREAD_BRAND.stateTransition = true; + + // REQUEST_ISSUE LTT_EVENT_REQUEST_ISSUE.setParent(Channels.LTT_CHANNEL_BLOCK); LTT_EVENT_REQUEST_ISSUE.getChildren().add(Fields.LTT_FIELD_MAJOR); LTT_EVENT_REQUEST_ISSUE.getChildren().add(Fields.LTT_FIELD_MINOR); LTT_EVENT_REQUEST_ISSUE.getChildren().add(Fields.LTT_FIELD_OPERATION); - LTT_EVENT_REQUEST_ISSUE.getChildren().add( - Fields.LTT_FIELD_OPERATION); LTT_EVENT_REQUEST_ISSUE.stateTransition = true; - // LTT_EVENT_REQUEST_COMPLETE + // REQUEST_COMPLETE LTT_EVENT_REQUEST_COMPLETE.setParent(Channels.LTT_CHANNEL_BLOCK); - LTT_EVENT_REQUEST_COMPLETE.getChildren() - .add(Fields.LTT_FIELD_MAJOR); - LTT_EVENT_REQUEST_COMPLETE.getChildren() - .add(Fields.LTT_FIELD_MINOR); - LTT_EVENT_REQUEST_COMPLETE.getChildren().add( - Fields.LTT_FIELD_OPERATION); + LTT_EVENT_REQUEST_COMPLETE.getChildren().add(Fields.LTT_FIELD_MAJOR); + LTT_EVENT_REQUEST_COMPLETE.getChildren().add(Fields.LTT_FIELD_MINOR); + LTT_EVENT_REQUEST_COMPLETE.getChildren().add(Fields.LTT_FIELD_OPERATION); LTT_EVENT_REQUEST_COMPLETE.stateTransition = true; - // LTT_EVENT_FUNCTION_ENTRY - LTT_EVENT_FUNCTION_ENTRY.setParent(Channels.LTT_CHANNEL_USERSPACE); - LTT_EVENT_FUNCTION_ENTRY.getChildren() - .add(Fields.LTT_FIELD_THIS_FN); - LTT_EVENT_FUNCTION_ENTRY.getChildren().add( - Fields.LTT_FIELD_CALL_SITE); - LTT_EVENT_FUNCTION_ENTRY.stateTransition = true; - - // LTT_EVENT_FUNCTION_EXIT - LTT_EVENT_FUNCTION_EXIT.setParent(Channels.LTT_CHANNEL_USERSPACE); - LTT_EVENT_FUNCTION_EXIT.getChildren().add(Fields.LTT_FIELD_THIS_FN); - LTT_EVENT_FUNCTION_EXIT.getChildren().add( - Fields.LTT_FIELD_CALL_SITE); - LTT_EVENT_FUNCTION_EXIT.stateTransition = true; - - // LTT_EVENT_FUNCTION_EXIT - LTT_EVENT_FUNCTION_EXIT.setParent(Channels.LTT_CHANNEL_USERSPACE); - LTT_EVENT_FUNCTION_EXIT.getChildren().add(Fields.LTT_FIELD_THIS_FN); - LTT_EVENT_FUNCTION_EXIT.getChildren().add( - Fields.LTT_FIELD_CALL_SITE); - LTT_EVENT_FUNCTION_EXIT.stateTransition = true; + // LIST_INTERRUPT + LTT_EVENT_LIST_INTERRUPT.setParent(Channels.LTT_CHANNEL_IRQ_STATE); + LTT_EVENT_LIST_INTERRUPT.getChildren().add(Fields.LTT_FIELD_ACTION); + LTT_EVENT_LIST_INTERRUPT.getChildren().add(Fields.LTT_FIELD_IRQ_ID); + LTT_EVENT_LIST_INTERRUPT.stateTransition = true; - // LTT_EVENT_SYS_CALL_TABLE - LTT_EVENT_SYS_CALL_TABLE - .setParent(Channels.LTT_CHANNEL_SYSCALL_STATE); + // SYS_CALL_TABLE + LTT_EVENT_SYS_CALL_TABLE.setParent(Channels.LTT_CHANNEL_SYSCALL_STATE); LTT_EVENT_SYS_CALL_TABLE.getChildren().add(Fields.LTT_FIELD_ID); - LTT_EVENT_SYS_CALL_TABLE.getChildren() - .add(Fields.LTT_FIELD_ADDRESS); + LTT_EVENT_SYS_CALL_TABLE.getChildren().add(Fields.LTT_FIELD_ADDRESS); LTT_EVENT_SYS_CALL_TABLE.getChildren().add(Fields.LTT_FIELD_SYMBOL); LTT_EVENT_SYS_CALL_TABLE.stateTransition = true; - // LTT_EVENT_SYS_CALL_TABLE - LTT_EVENT_KPROBE_TABLE.setParent(Channels.LTT_CHANNEL_KPROBE_STATE); - LTT_EVENT_KPROBE_TABLE.getChildren().add(Fields.LTT_FIELD_IP); - LTT_EVENT_KPROBE_TABLE.getChildren().add(Fields.LTT_FIELD_SYMBOL); - LTT_EVENT_KPROBE_TABLE.stateTransition = true; - - // LTT_EVENT_SOFTIRQ_VEC + // SOFTIRQ_VEC LTT_EVENT_SOFTIRQ_VEC.setParent(Channels.LTT_CHANNEL_SOFTIRQ_STATE); LTT_EVENT_SOFTIRQ_VEC.getChildren().add(Fields.LTT_FIELD_ID); LTT_EVENT_SOFTIRQ_VEC.getChildren().add(Fields.LTT_FIELD_ADDRESS); LTT_EVENT_SOFTIRQ_VEC.getChildren().add(Fields.LTT_FIELD_SYMBOL); LTT_EVENT_SOFTIRQ_VEC.stateTransition = true; + + // KPROBE_TABLE + LTT_EVENT_KPROBE_TABLE.setParent(Channels.LTT_CHANNEL_KPROBE_STATE); + LTT_EVENT_KPROBE_TABLE.getChildren().add(Fields.LTT_FIELD_IP); + LTT_EVENT_KPROBE_TABLE.getChildren().add(Fields.LTT_FIELD_SYMBOL); + LTT_EVENT_KPROBE_TABLE.stateTransition = true; + + // KPROBE + LTT_EVENT_KPROBE.setParent(Channels.LTT_CHANNEL_KERNEL); + LTT_EVENT_KPROBE.getChildren().add(Fields.LTT_FIELD_IP); +// LTT_EVENT_KPROBE.getChildren().add(Fields.LTT_FIELD_SYMBOL); + LTT_EVENT_KPROBE.stateTransition = true; } - }; + } public enum Fields { LTT_FIELD_SYSCALL_ID("syscall_id"), /* */ @@ -409,7 +400,8 @@ public class StateStrings { public String getInName() { return this.inName; } - }; + + } public enum CpuMode { LTTV_CPU_UNKNOWN("unknown"), /* */ @@ -419,7 +411,7 @@ public class StateStrings { LTTV_CPU_SOFT_IRQ("softirq"), /* */ LTTV_CPU_TRAP("trap"); /* */ - String inName; + private final String inName; private CpuMode(String name) { this.inName = name; @@ -436,7 +428,7 @@ public class StateStrings { LTTV_IRQ_IDLE("idle"), /* */ LTTV_IRQ_BUSY("busy"); /* */ - String inName; + private final String inName; private IRQMode(String name) { this.inName = name; @@ -454,7 +446,7 @@ public class StateStrings { LTTV_SOFT_IRQ_PENDING("pending"), /* */ LTTV_SOFT_IRQ_BUSY("busy"); /* */ - String inName; + private final String inName; private SoftIRQMode(String name) { this.inName = name; @@ -472,7 +464,7 @@ public class StateStrings { LTTV_BDEV_BUSY_READING("busy_reading"), /* */ LTTV_BDEV_BUSY_WRITING("busy_writing"); /* */ - String inName; + private final String inName; private BdevMode(String name) { this.inName = name; @@ -489,7 +481,7 @@ public class StateStrings { LTTV_TRAP_IDLE("idle"), /* */ LTTV_TRAP_BUSY("busy"); /* */ - String inName; + private final String inName; private TrapMode(String name) { this.inName = name; @@ -500,11 +492,12 @@ public class StateStrings { } } + public enum ProcessType { LTTV_STATE_USER_THREAD("USER_THREAD"), /* */ LTTV_STATE_KERNEL_THREAD("KERNEL_THREAD"); /* */ - String inName; + private final String inName; private ProcessType(String name) { this.inName = name; @@ -517,7 +510,8 @@ public class StateStrings { } public enum ProcessStatus { - LTTV_STATE_UNNAMED("UNNAMED"), LTTV_STATE_WAIT_FORK("WAIT_FORK"), /* */ + LTTV_STATE_UNNAMED("UNNAMED"), /* */ + LTTV_STATE_WAIT_FORK("WAIT_FORK"), /* */ LTTV_STATE_WAIT_CPU("WAIT_CPU"), /* */ LTTV_STATE_EXIT("EXIT"), /* */ LTTV_STATE_ZOMBIE("ZOMBIE"), /* */ @@ -525,7 +519,7 @@ public class StateStrings { LTTV_STATE_RUN("RUN"), /* */ LTTV_STATE_DEAD("DEAD"); /* */ - String inName; + private final String inName; private ProcessStatus(String name) { this.inName = name; @@ -541,7 +535,7 @@ public class StateStrings { LTTV_STATE_SUBMODE_UNKNOWN("UNKNOWN"), /* */ LTTV_STATE_SUBMODE_NONE("NONE"); /* */ - String inName; + private final String inName; private ExecutionSubMode(String name) { this.inName = name; @@ -561,7 +555,7 @@ public class StateStrings { LTTV_STATE_IRQ("IRQ"), /* */ LTTV_STATE_SOFT_IRQ("SOFTIRQ"); /* */ - String inName; + private final String inName; private ExecutionMode(String name) { this.inName = name; @@ -591,7 +585,7 @@ public class StateStrings { LTTV_STATE_RESOURCE_TRAPS("trap resource states"), /* */ LTTV_STATE_RESOURCE_BLKDEVS("blkdevs resource states"); /* */ - String inName; + private final String inName; private GenStates(String name) { this.inName = name; @@ -606,8 +600,9 @@ public class StateStrings { // ======================================================================== // Methods // ======================================================================= + /** - * Return the string to any known event + * Return the map from event name strings to Events instances * * @return the eventstrmap */ @@ -616,7 +611,8 @@ public class StateStrings { } /** - * Return the string to state transition events map + * Return the map from state transition event name strings to Events instances + * State transition events are the subset of events that have the attribute stateTransition == True. * * @return the stateTransEventMap */ @@ -625,28 +621,28 @@ public class StateStrings { } /** - * @return the mapping from int to system call names + * @return the mapping from int (0..255) to system call names */ public String[] getSyscallNames() { return syscall_names; } /** - * @return the mapping from int to trap names + * @return the mapping from int (0..255) to trap names */ public String[] getTrapNames() { return trap_names; } /** - * @return the mapping from int to irq names + * @return the mapping from int (0..255) to IRQ names */ public String[] getIrqNames() { return irq_names; } /** - * @return the mapping from int to softirq name + * @return the mapping from int (0..31) to soft IRQ names */ public String[] getSoftIrqNames() { return soft_irq_names; |