ust: add a default UST event layout
authorAbder Benbachir <anis.benbachir@gmail.com>
Tue, 9 May 2017 19:13:33 +0000 (15:13 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Fri, 12 May 2017 13:55:19 +0000 (09:55 -0400)
That layout can be used by LttngUstTraces that were not taken by the lttng tracer.

Change-Id: I8383813d1cae64417ce5630abc13a788f79712c4
Signed-off-by: Abder Benbachir <anis.benbachir@gmail.com>
Reviewed-on: https://git.eclipse.org/r/96683
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/trace/layout/DefaultUstEventLayout.java [new file with mode: 0644]
lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/trace/LttngUstTrace.java

diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/trace/layout/DefaultUstEventLayout.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/trace/layout/DefaultUstEventLayout.java
new file mode 100644 (file)
index 0000000..2a8c017
--- /dev/null
@@ -0,0 +1,169 @@
+/*******************************************************************************
+ * Copyright (c) 2017 École Polytechnique de Montréal
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.internal.lttng2.ust.core.trace.layout;
+
+import org.eclipse.tracecompass.lttng2.ust.core.trace.layout.ILttngUstEventLayout;
+
+/**
+ * Definitions can be used by other tracers if they want to output ctf format.
+ *
+ * @author Abderrahmane Benbachir
+ */
+@SuppressWarnings("nls")
+public class DefaultUstEventLayout implements ILttngUstEventLayout {
+
+    /**
+     * Constructor
+     */
+    protected DefaultUstEventLayout() {}
+
+    private static final DefaultUstEventLayout INSTANCE = new DefaultUstEventLayout();
+
+    /**
+     * Get a singleton instance.
+     *
+     * @return The instance
+     */
+    public static DefaultUstEventLayout getInstance() {
+        return INSTANCE;
+    }
+
+    // ------------------------------------------------------------------------
+    // Event names used for memory events
+    // ------------------------------------------------------------------------
+
+    @Override
+    public String eventLibcMalloc() {
+        return "ust_libc:malloc";
+    }
+
+    @Override
+    public String eventLibcCalloc() {
+        return "ust_libc:calloc";
+    }
+
+    @Override
+    public String eventLibcRealloc() {
+        return "ust_libc:realloc";
+    }
+
+    @Override
+    public String eventLibcFree() {
+        return "ust_libc:free";
+    }
+
+    @Override
+    public String eventLibcMemalign() {
+        return "ust_libc:memalign";
+    }
+
+    @Override
+    public String eventLibcPosixMemalign() {
+        return "ust_libc:posix_memalign";
+    }
+
+    // ------------------------------------------------------------------------
+    // Event names used for function entry/exit
+    // ------------------------------------------------------------------------
+
+    @Override
+    public String eventCygProfileFuncEntry() {
+        return "func_entry";
+    }
+
+    @Override
+    public String eventCygProfileFastFuncEntry() {
+        return "fast:func_entry";
+    }
+
+    @Override
+    public String eventCygProfileFuncExit() {
+        return "func_exit";
+    }
+
+    @Override
+    public String eventCygProfileFastFuncExit() {
+        return "fast:func_exit";
+    }
+
+    // ------------------------------------------------------------------------
+    // Event names used to track dynamic linking loader
+    // ------------------------------------------------------------------------
+
+    @Override
+    public String eventDlOpen() {
+        return "ust_dl:dlopen";
+    }
+
+    @Override
+    public String eventDlClose() {
+        return "ust_dl:dlclose";
+    }
+
+    // ------------------------------------------------------------------------
+    // Field names
+    // ------------------------------------------------------------------------
+
+    @Override
+    public String fieldPtr() {
+        return "ptr";
+    }
+
+    @Override
+    public String fieldNmemb() {
+        return "nmemb";
+    }
+
+    @Override
+    public String fieldSize() {
+        return "size";
+    }
+
+    @Override
+    public String fieldOutPtr() {
+        return "out_ptr";
+    }
+
+    @Override
+    public String fieldInPtr() {
+        return "in_ptr";
+    }
+
+    @Override
+    public String fieldAddr() {
+        return "addr";
+    }
+
+    // ------------------------------------------------------------------------
+    // Field names
+    // Note: 'Context' word only kept for implementing the ILttngUstEventLayout
+    // interface
+    // ------------------------------------------------------------------------
+
+    @Override
+    public String contextVpid() {
+        return "vpid";
+    }
+
+    @Override
+    public String contextVtid() {
+        return "vtid";
+    }
+
+    @Override
+    public String contextProcname() {
+        return "procname";
+    }
+
+    @Override
+    public String contextIp() {
+        return "ip";
+    }
+}
index 8660c255d3bf5c969e1e3ba25e2929d2eb8a0e67..96e9b9dd401acffca2605d06651682e1d0e61f26 100644 (file)
@@ -24,6 +24,7 @@ import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.tracecompass.internal.lttng2.ust.core.Activator;
+import org.eclipse.tracecompass.internal.lttng2.ust.core.trace.layout.DefaultUstEventLayout;
 import org.eclipse.tracecompass.internal.lttng2.ust.core.trace.layout.LttngUst20EventLayout;
 import org.eclipse.tracecompass.internal.lttng2.ust.core.trace.layout.LttngUst27EventLayout;
 import org.eclipse.tracecompass.internal.lttng2.ust.core.trace.layout.LttngUst28EventLayout;
@@ -121,8 +122,8 @@ public class LttngUstTrace extends CtfTmfTrace {
             }
         }
 
-        /* Fallback to the UST 2.0 layout and hope for the best */
-        return LttngUst20EventLayout.getInstance();
+        /* Fallback to the Default layout and hope for the best */
+        return DefaultUstEventLayout.getInstance();
     }
 
     @Override
This page took 0.026778 seconds and 5 git commands to generate.