import org.eclipse.linuxtools.internal.lttng2.core.control.model.IBaseEventInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.ISessionInfo;
+import org.eclipse.linuxtools.internal.lttng2.core.control.model.ISnapshotInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.IUstProviderInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
/**
* @return the version string.
*/
- public String getVersion();
+ String getVersion();
/**
* Checks if given version is supported by this ILTTngControlService implementation.
* @param version The version to check
* @return <code>true</code> if version is supported else <code>false</code>
*/
- public boolean isVersionSupported(String version);
+ boolean isVersionSupported(String version);
/**
* Retrieves the existing sessions names from the node.
* @throws ExecutionException
* If the command fails
*/
- public String[] getSessionNames(IProgressMonitor monitor)
+ String[] getSessionNames(IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public ISessionInfo getSession(String sessionName, IProgressMonitor monitor)
+ ISessionInfo getSession(String sessionName, IProgressMonitor monitor)
+ throws ExecutionException;
+
+ /**
+ * Retrieves the snapshot output information from the node
+ * @param sessionName
+ * - the session name
+ * @param monitor
+ * - a progress monitor
+ * @return snapshot output information
+ * @throws ExecutionException
+ * if command fails
+ */
+ ISnapshotInfo getSnapshotInfo(String sessionName, IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor)
+ List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor)
+ List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor)
throws ExecutionException;
/**
* - a session name to create
* @param sessionPath
* - a path for storing the traces (use null for default)
+ * @param isSnapshot
+ * - true for snapshot session else false
* @param monitor
* - a progress monitor
* @return the session information
* @throws ExecutionException
* If the command fails
*/
- public ISessionInfo createSession(String sessionName, String sessionPath,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Creates a session with given session name and location.
- *
- * @param sessionName
- * - a session name to create
- * @param sessionPath
- * - a path for storing the traces (use null for default)
- * @param noConsumer
- * - a flag to indicate no consumer
- * @param disableConsumer
- * - a flag to disable consumer
- * @param monitor
- * - a progress monitor
- * @return the session information
- * @throws ExecutionException
- * If the command fails
- */
- public ISessionInfo createSession(String sessionName, String sessionPath, boolean noConsumer, boolean disableConsumer,
- IProgressMonitor monitor) throws ExecutionException;
-
+ ISessionInfo createSession(String sessionName, String sessionPath, boolean isSnapshot, IProgressMonitor monitor) throws ExecutionException;
/**
* Creates a session with given session name and location.
* - a URL for control channel (networkUrl has to be null, dataUrl has to be set)
* @param dataUrl
* - a URL for data channel (networkUrl has to be null, controlUrl has to be set)
- * @param noConsumer
- * - a flag to indicate no consumer
- * @param disableConsumer
- * - a flag to disable consumer
+ * @param isSnapshot
+ * - true for snapshot session else false
* @param monitor
* - a progress monitor
* @return the session information
* @throws ExecutionException
* If the command fails
*/
- public ISessionInfo createSession(String sessionName, String networkUrl, String controlUrl, String dataUrl, boolean noConsumer, boolean disableConsumer,
- IProgressMonitor monitor) throws ExecutionException;
+ ISessionInfo createSession(String sessionName, String networkUrl, String controlUrl, String dataUrl, boolean isSnapshot, IProgressMonitor monitor) throws ExecutionException;
/**
* Destroys a session with given session name.
* @throws ExecutionException
* If the command fails
*/
- public void destroySession(String sessionName, IProgressMonitor monitor)
+ void destroySession(String sessionName, IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public void startSession(String sessionName, IProgressMonitor monitor)
+ void startSession(String sessionName, IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public void stopSession(String sessionName, IProgressMonitor monitor)
+ void stopSession(String sessionName, IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public void enableChannels(String sessionName, List<String> channelNames,
+ void enableChannels(String sessionName, List<String> channelNames,
boolean isKernel, IChannelInfo info, IProgressMonitor monitor)
throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void disableChannels(String sessionName, List<String> channelNames,
+ void disableChannels(String sessionName, List<String> channelNames,
boolean isKernel, IProgressMonitor monitor)
throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void enableEvents(String sessionName, String channelName,
+ void enableEvents(String sessionName, String channelName,
List<String> eventNames, boolean isKernel, String filterExpression,
IProgressMonitor monitor)
throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void enableSyscalls(String sessionName, String channelName,
+ void enableSyscalls(String sessionName, String channelName,
IProgressMonitor monitor) throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public void enableProbe(String sessionName, String channelName,
+ void enableProbe(String sessionName, String channelName,
String eventName, boolean isFunction, String probe,
IProgressMonitor monitor) throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void enableLogLevel(String sessionName, String channelName,
+ void enableLogLevel(String sessionName, String channelName,
String eventName, LogLevelType logLevelType, TraceLogLevel level,
String filterExpression,
IProgressMonitor monitor) throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void disableEvent(String sessionName, String channelName,
+ void disableEvent(String sessionName, String channelName,
List<String> eventNames, boolean isKernel, IProgressMonitor monitor)
throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public List<String> getContextList(IProgressMonitor monitor)
+ List<String> getContextList(IProgressMonitor monitor)
throws ExecutionException;
/**
* @throws ExecutionException
* If the command fails
*/
- public void addContexts(String sessionName, String channelName,
+ void addContexts(String sessionName, String channelName,
String eventName, boolean isKernel, List<String> contexts,
IProgressMonitor monitor) throws ExecutionException;
* @throws ExecutionException
* If the command fails
*/
- public void calibrate(boolean isKernel, IProgressMonitor monitor)
+ void calibrate(boolean isKernel, IProgressMonitor monitor)
+ throws ExecutionException;
+
+ /**
+ * Records a snapshot.
+ *
+ * @param sessionName
+ * - a session name
+ * @param monitor
+ * - a progress monitor
+ * @throws ExecutionException
+ * If the command fails
+ */
+ void recordSnapshot(String sessionName, IProgressMonitor monitor)
throws ExecutionException;
}