diff options
author | Alexandre Montplaisir | 2012-05-07 21:58:01 +0000 |
---|---|---|
committer | Alexandre Montplaisir | 2012-05-09 21:57:23 +0000 |
commit | cc2d12fcad9452038cef0a7f36c008c5eb88fe93 (patch) | |
tree | a4b1a2260550b1cc7c3bc14aae589e92fc4a717e /lttng/org.eclipse.linuxtools.lttng2.kernel.core | |
parent | 50a67624c2957d62fa6097aff4bd7d87de8dde00 (diff) | |
download | org.eclipse.linuxtools-cc2d12fcad9452038cef0a7f36c008c5eb88fe93.tar.gz org.eclipse.linuxtools-cc2d12fcad9452038cef0a7f36c008c5eb88fe93.tar.xz org.eclipse.linuxtools-cc2d12fcad9452038cef0a7f36c008c5eb88fe93.zip |
lttng: Change syscalls to a flat attribute instead of a stack
This will not show nested syscalls correctly, but those were
very rare in the first place, and have been completely removed
in recent kernel versions.
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Diffstat (limited to 'lttng/org.eclipse.linuxtools.lttng2.kernel.core')
2 files changed, 9 insertions, 20 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/CtfKernelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/CtfKernelHandler.java index 90b792b563..e6305b638d 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/CtfKernelHandler.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/CtfKernelHandler.java @@ -145,18 +145,10 @@ class CtfKernelHandler implements Runnable { case 1: // "exit_syscall": /* Fields: int64 ret */ { - /* Pop "syscall" from the Exec_mode_stack */ - quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.EXEC_MODE_STACK); - try { - ss.popAttribute(ts, quark); - } catch (AttributeNotFoundException e1) { - /* - * meh, can happen if we're missing events, we'll just - * silently ignore it. - */ - System.err.println(event.getTimestamp() - + " Popping empty attribute: " + e1.getMessage()); //$NON-NLS-1$ - } + /* Clear the current system call on the process */ + quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL); + value = TmfStateValue.nullValue(); + ss.modifyAttribute(ts, value, quark); } break; @@ -358,13 +350,10 @@ class CtfKernelHandler implements Runnable { * syscall names are listed into the event type */ - /* - * Push the syscall name on the Exec_mode_stack of the - * relevant PID - */ - quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.EXEC_MODE_STACK); + /* Assign the new system call to the process */ + quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL); value = TmfStateValue.newValueString(eventName); - ss.pushAttribute(ts, value, quark); + ss.modifyAttribute(ts, value, quark); } } break; @@ -420,7 +409,7 @@ class CtfKernelHandler implements Runnable { private void initThreadNode(int currentThreadNode) { ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.PPID); ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.EXEC_NAME); - ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.EXEC_MODE_STACK); + ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL); ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS); } diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Attributes.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Attributes.java index 5f01a74463..2b0fd487ed 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Attributes.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Attributes.java @@ -39,7 +39,7 @@ public abstract class Attributes { public static final String PPID = "PPID"; public static final String STATUS = "Status"; public static final String EXEC_NAME = "Exec_name"; - public static final String EXEC_MODE_STACK = "Exec_mode_stack"; + public static final String SYSTEM_CALL = "System_call"; /* Attributes under "Resources" */ public static final String IRQS = "IRQs"; |