Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Montplaisir2012-05-07 21:58:01 +0000
committerAlexandre Montplaisir2012-05-09 21:57:23 +0000
commitcc2d12fcad9452038cef0a7f36c008c5eb88fe93 (patch)
treea4b1a2260550b1cc7c3bc14aae589e92fc4a717e /lttng/org.eclipse.linuxtools.lttng2.kernel.core
parent50a67624c2957d62fa6097aff4bd7d87de8dde00 (diff)
downloadorg.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')
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/CtfKernelHandler.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Attributes.java2
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";

Back to the top