From: Abder Benbachir Date: Tue, 9 May 2017 19:13:33 +0000 (-0400) Subject: ust: add a default UST event layout X-Git-Url: http://git.efficios.com/?p=deliverable%2Ftracecompass.git;a=commitdiff_plain;h=4f3ea7da0235b04ffb1164987cb360993828d230 ust: add a default UST event layout That layout can be used by LttngUstTraces that were not taken by the lttng tracer. Change-Id: I8383813d1cae64417ce5630abc13a788f79712c4 Signed-off-by: Abder Benbachir Reviewed-on: https://git.eclipse.org/r/96683 Reviewed-by: Genevieve Bastien Tested-by: Genevieve Bastien Reviewed-by: Matthew Khouzam Reviewed-by: Hudson CI --- 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 index 0000000000..2a8c017c79 --- /dev/null +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/trace/layout/DefaultUstEventLayout.java @@ -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"; + } +} diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/trace/LttngUstTrace.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/trace/LttngUstTrace.java index 8660c255d3..96e9b9dd40 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/trace/LttngUstTrace.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/trace/LttngUstTrace.java @@ -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