blob: 145c027e955bfab2a24d4c07354dacb29987ca65 [file] [log] [blame]
/****************************************************************************
* Tuning and Analysis Utilities
* http://www.cs.uoregon.edu/research/paracomp/tau
****************************************************************************
* Copyright (c) 1997-2006
* Department of Computer and Information Science, University of Oregon
* Advanced Computing Laboratory, Los Alamos National Laboratory
* Research Center Juelich, ZAM Germany
*
* 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
*
* Contributors:
* Wyatt Spear - initial API and implementation
****************************************************************************/
package org.eclipse.ptp.etfw;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
/**
* The implementations of this abstract class can be used by the
* org.eclipse.ptp.etfw.dataManagers extension point to manage
* generated performance data.
* @author wspear
*
*/
public abstract class AbstractToolDataManager {
/**
* This returns the name of the string associated with this analysis operation
* The string will be the title of the utility used in a workflow xml document
* It should be used in the form <utility command="string_returned_by_getName" group="internal"/>
* @return
*/
public abstract String getName();
/**
* This operation is called to do the final cleanup after analysis is complete.
* It should be implemented to work properly even if the process method fails.
*/
public abstract void cleanup();
/**
* This is the primary function for processing data generated by a performance analysis tool. The project
* name can be used to sort and label generated data. The project location, with respect to the local filesystem,
* is where many tools generate their data by default. The configuration can be used to extract most of the
* other data relevant to the analysis procedure.
* @param projname The name of the project which produced the data
* @param configuration The launch configuration with which the project was launched
* @param projectLocation The location of the project with respect to the local filesystem
* @throws CoreException
*/
public abstract void process(String projname, ILaunchConfiguration configuration, String projectLocation)throws CoreException;
/**
* For future expansion: currently unused.
* Eventually this should get called to view the generated trace data.
* For now, any viewing should be launched from the process() method.
*
*/
public abstract void view();
/**
* Used to indicate that this analysis operation is being conducted by the user on arbitrary external data. The
* configuration may be an invalid source for some parameters.
*/
public abstract void setExternalTarget(boolean external);
}