blob: 16ca90ace9f6015f1d3bf4909e0711dec76383ad [file] [log] [blame]
/*******************************************************************************
* 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 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
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";
}
}