Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Question about performance tools framework in PTP

As an example of environment variable usage for the execution step I had something like this in mind:

        <execute>
        <optionpane title="TAU Vars">
            <togoption label="Throttle" optname="TAU_THROTTLE" envvar="true"/>
                 <optvalue seton="yes" setoff=""/>
            <togoption label="Callpath Depth" optname="TAU_CALLPATH_DEPTH" envvar="true">
                <optvalue type="number"/>
            </togoption>
        </optionpane>
        <global>
            <envvar flag="TAU_VERBOSE" value="1"/>
        </global>
    </execute>

UI components in an optionpane are about the same as for arguments except that they are specified as env-vars.  The seton/off attributes let you change the default values (1/0) for variables that are just toggled on and off.

There is also a global area to place hard-coded environment variables, analogous to the 'argument' tags under tool commands.

I will have to give some thought to enabling/disabling variables based on text entry.  It is not hard to do but it makes environment-variable field behavior different from argument field behavior and I would prefer to keep the two transparent.  Would it work to have all environment variable widgets enabled by default?   There is already markup for that, and for removing the checkboxes (soon to be documented!).  As I recall providing an empty string when setting an environment variable is the same as not setting it at all, so leaving the fields blank would be the same as disabling them as far as the runtime was concerned.

Please let me know if you have any more thoughts or suggestions.

Thanks,
Wyatt

On Thu, Apr 9, 2009 at 5:38 PM, Dave Wootton <dwootton@xxxxxxxxxx> wrote:

Wyatt
Is what you are proposing is an XML tag that lists the environment variables that need to be passed to the launch environment or a section in the XML file with one statement for each environment variable that gets passed to the launch environment?

How are you thinking you picking up the values for environment variables? I was thinking that if one of the widgets had a value, that would mean that the corresponding environment variable would be set.

For instance, if I had a text field "Maximum event count" that corresponded to environment variable MAX_EVENTS, that if that field in the panel was blank then MAX_EVENTS would not be set, and if the field was non-blank, then the environment variable would not be set or passed to the application. Maybe another keyword in the togoption specification envname=MAX_EVENTS, possibly mutually exclusive with optname? I'd prefer that the environment variable be set only if the field was non-blank rather than asking the user to both check a checkbox and then set the value.

In the case of a boolean, where you present a checkbox, I need a value to be set when the checkbox is checked, in my case 'yes', and if the checkbox is not checked, then the environment variable does not need to be set.

The tool I am working with doesn't have a compilation stage as such. It parses the binary so it can give the user a list of instrumentation points. Once the user selects the instrumentation he wants, the tool rewrites the binary with instrumentation code. At the moment, I'm required to use the user interface that already exists within the tool. I'm trying to add an execution flow to the tool that is a little more friendly than what we have today.
Dave


04/09/2009 12:21 PM

Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>

To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Question about performance tools framework in PTP





Greetings,

Yes I can put in something to clear up those pop-ups.  They only show up for utility applications that aren't found in the system path but I can make them less persistent and add a case for non-tools.

As I was assembling the environment variable system I realized that the application-composite model wouldn't always apply.  TAU is actually similar in that regard, I've just been compiling in instrumentation options rather than using environment variables.  I think I will add a top-level xml tag for environment variables that go to the general launch environment.  The default behavior will be to append environment variables specified for the launch phase to the standard list and restore the list to its previous state after the launch.

By the way, how does compilation with your tool work? Is that something it might be worth while to incorporate into the workflow with the launcher?

I'll take care of those exceptions too.

Thanks!

Wyatt


On Thu, Apr 9, 2009 at 5:23 AM, Dave Wootton <dwootton@xxxxxxxxxx> wrote:

Wyatt

I was looking in the run configuration. Once I created a performance configuration tab the panel showed up. I noticed a couple things that could be problems though. The first time I created a performance configurations, I got popups asking me for the path to the directories for Tau and pinpath, where I think pinpath shows up because that's the name of the group in the utility statement in my XML file. I don't have Tau installed, and in pinpath's case, there is no such tool. I was able to make the dialog go way by picking a random directory for each. If a user chooses to not install Tau, he may be confused by what he is being asked for. I can also get out of this by clicking cancel, although it's not clear to me as a user what the consequences of clicking canel are. Maybe the solution is to have text in the dialog along the lines of 'Click cancel if <tool> is not installed or is unavailable' and then have the plugin handle the absence of that tool properly.


This extension doesn't exactly fit my model either. In my case, I have an application binary that has been previously instrumented by my instrumentation and performance analysis tool which has it's own set of views to set up the instrumentation and create the instrumented binary. Once I have the instrumented binary, I think it's reasonable to tell the user that he has to use the profile configurations instead of the run configurations, since this is a different workflow. However, when I run the instrumented application, I don't have a tool that I'm running to do the performance analysis, I'm just setting environment variables which affect the instrumentation, running the instrumented application and then waiting for that application to complete. Once the application completes. I'm expecting PTP to notify me of job completion, perhaps by use if the IProgressMonitor. At that point, my tool knows that it has to look for the performance data files, finds them and opens views displaying that data. So I would expect to specify the application's path in the application tab of the performance configuration and not specify the application path again in the performance analysis tab. I think all that's required for my tool to work with your plugin is that your plugin not require me to specify some tool to run the application or assume the existence of that tool.


For the environment variables, I'm thinking they just need to be appended to the set that's in the environment tab of the performance configuration. I'm guessing that since you seem to be building a command line, that your plugin gets control somewhere in the flow to invoking the application, and that it can just provide the environment variables I set at that point. In my case, I'm assuming the user will be running the application on a remote node, not the same node as Eclipse, so this would need to work for the remote execution case as well.


I also ran into a couple exceptions trying this.


The first exception appears when I try opening a performance configuration and may be caused by the fact taht I don't have Tau installed.


The second exception occurs after I press cancel in both of the popup dialogs asking me for pathnames to Tau and pinpath.


Exception #1


java.lang.NoClassDefFoundError: edu/uoregon/tau/perfdmf/DataSource

at org.eclipse.ptp.perf.tau.TAUAnalysisTab.initDBCombo(TAUAnalysisTab.java:1015)

at org.eclipse.ptp.perf.tau.TAUAnalysisTab.initializeFrom(TAUAnalysisTab.java:994)

at org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(AbstractLaunchConfigurationTabGroup.java:86)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWrapper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:143)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:787)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$8.run(LaunchConfigurationTabGroupViewer.java:663)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:680)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput0(LaunchConfigurationTabGroupViewer.java:642)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:618)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:959)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:566)

at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:842)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)

at org.eclipse.core.runtime.Platform.run(Platform.java:880)

at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)

at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)

at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:840)

at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1639)

at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1104)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handleConfigurationAdded(LaunchConfigurationView.java:281)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.access$1(LaunchConfigurationView.java:271)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView$2.run(LaunchConfigurationView.java:260)

at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)

at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)

at org.eclipse.jface.window.Window.open(Window.java:801)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1113)

at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:388)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:396)

at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:332)

at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:81)

at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)

at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)

at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)

at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)

at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)

at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)

at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

Caused by: java.lang.ClassNotFoundException: edu.uoregon.tau.perfdmf.DataSource

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:481)

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)

at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

... 63 more


Exception #2


java.lang.StringIndexOutOfBoundsException: String index out of range: -1

at java.lang.String.substring(Unknown Source)

at org.eclipse.ptp.perf.tau.TAUAnalysisTab.testTAUEnv(TAUAnalysisTab.java:533)

at org.eclipse.ptp.perf.tau.TAUAnalysisTab.initMakefiles(TAUAnalysisTab.java:472)

at org.eclipse.ptp.perf.tau.TAUAnalysisTab.initializeFrom(TAUAnalysisTab.java:929)

at org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(AbstractLaunchConfigurationTabGroup.java:86)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWrapper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:143)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:787)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$8.run(LaunchConfigurationTabGroupViewer.java:663)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:680)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput0(LaunchConfigurationTabGroupViewer.java:642)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:618)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:959)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:566)

at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:842)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)

at org.eclipse.core.runtime.Platform.run(Platform.java:880)

at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)

at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)

at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:840)

at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1639)

at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1104)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handleConfigurationAdded(LaunchConfigurationView.java:281)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.access$1(LaunchConfigurationView.java:271)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView$2.run(LaunchConfigurationView.java:260)

at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)

at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)

at org.eclipse.jface.window.Window.open(Window.java:801)

at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1113)

at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:388)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:396)

at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:332)

at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:81)

at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)

at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)

at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)

at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)

at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)

at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)

at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

at org.eclipse.equinox.launcher.Main.main(Main.java:1212)


Dave


Wyatt Spear <wspear@xxxxxxxxxxxxxx>
Sent by:
ptp-dev-bounces@xxxxxxxxxxx

04/08/2009 09:27 PM


Please respond to
Parallel Tools Platform general developers <
ptp-dev@xxxxxxxxxxx>

To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Question about performance tools framework in PTP







Are you looking in the run configuration dialog or the profile configuration dialog?  It should be showing up in the latter.  Check the dropdown box in the Performance Analysis tab.  If your tool shows up there but has no associated UI tab then the tool-pane element isn't being taken in properly.  Can I take a look at your xml file?

I'm making some headway on environment variable support, hopefully I'll have that up in CVS soon.  Ideally full wiki documentation for that and a few other useful features will follow shortly.

Regards,
Wyatt

On Wed, Apr 8, 2009 at 6:18 PM, Dave Wootton <
dwootton@xxxxxxxxxx> wrote:

Wyatt

I tried this tonight with PTP 2.1.1 installed on an Eclipse 3.4.1 installation and can't seem to make it work. I have a simple plugin I'm experimenting with which implements a single new view. That plugin loads successfully since I can see the new view.
I copied the extension point usage into my plugin.xml file directly from the example on your wiki page


<extension point="org.eclipse.ptp.perf.workflows">
     <workflowDefinitionXML
           XMLFile="data/toolxml/tf.xml">
     </workflowDefinitionXML>
  </extension>


Then I created the
data/toolxml/tf.xml file as a new file in my plugin project and pasted the full contents from the tf.xml example just below the extension point example into that file.

After that, I started a 2nd Eclipse instance as Eclipse application and could see my plugin view. I opened teh run configuration dialog and picked a parallel application run configuration and a C run configuration. I expected to see a new tab in the launch configuration dialog with the title Performance Analysis, but I don't see it. I don't see any errors logged in the error log views or to the console views. I do see the org.eclipse.ptp.perf plugin which I think implements your extension point, in the list of plugins in the Help->About Eclipse SDK dialog so I think I have teh right plugins loading.


I also tried using the PTP preferences panel to select the path to the tf.xml file then open the launch configuration, and still didn't see the new tab.


Am I doing something wrong?

Dave

Wyatt Spear <wspear@xxxxxxxxxxxxxx>
Sent by:
ptp-dev-bounces@xxxxxxxxxxx

04/06/2009 02:26 PM


Please respond to
Parallel Tools Platform general developers <
ptp-dev@xxxxxxxxxxx>

To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Question about performance tools framework in PTP









The most through documentation available at the moment can be found here: 
http://wiki.eclipse.org/PTP/ETFw/PTP_External_Tools_Framework
There have been a few additions to the XML definition capabilities since this was written and it doesn't cover the internal API as much as the external XML tool definitions system.  It sounds like what you want will be something like what we did for TAU integration, using your plugin to wrap the components provided by the external tools.  I can pull together some more information on that for you.

So far, most of our test cases have dealt with generating command line arguments, so we don't have a complete general purpose environment variable system in place.  However it shouldn't take long to get that up and running.  Setting environment variables in the local eclipse launch environment is fairly straightforward, but if a different method is needed to send them to the remote system I can provide a 'getter' for environment variables specified in the tool's UI.


-Wyatt


On Mon, Apr 6, 2009 at 11:02 AM, Dave Wootton <
dwootton@xxxxxxxxxx> wrote:
Wyatt
I was hoping that if I chose this approach that it would cover CDT as
well. So that's good news. In order for this to be useful to me, I do need
to be able to add to the list of environment variables passed to the
remote process. Can you give me a reference to current documentation on
how to use this? I will look at the IProgessMonitor. I just need to find
time to do it.
Dave



Wyatt Spear <
wspear@xxxxxxxxxxxxxx>
Sent by:
ptp-dev-bounces@xxxxxxxxxxx
04/06/2009 12:11 PM
Please respond to
Parallel Tools Platform general developers <
ptp-dev@xxxxxxxxxxx>


To
Parallel Tools Platform general developers <
ptp-dev@xxxxxxxxxxx>
cc

Subject
Re: [ptp-dev] Question about performance tools framework in PTP






Greetings Dave,

The ExternalTools provide a distinct launch configuration system for both
the PTP and CDT.  Presently the system covers status with the standard
IProgressMonitor used to display job status in the UI.  It may be possible
for you to hook in to that, but if not I can probably add a listener
hook.  I'll also need to take a look and make sure environment variable
control is up and running.  Please let me know if you have any questions
or if I can help out with anything.

-Wyatt

On Mon, Apr 6, 2009 at 7:11 AM, Dave Wootton <
dwootton@xxxxxxxxxx> wrote:
Wyatt
I have a performance analysis tool that has an Eclipse plugin. I'd like to
extend the Eclipse launch configuration dialog to add a new panel with
execution options specific to this tool. These options result in setting
environment variables that the tool recognizes. The tool itself runs as a
remote process on a different node than the Eclipse node. Greg suggested
that your framework might be helpful for this.

I need to use this for parallel execution, where I'm thinking of this as a
logical extension of the PTP launch configuration, as well as for serial
applications which would not use the PTP launch configuration and do not
run under control of any PTP resource manager. Does your tool framework
work only with PTP launch configurations, or would it work with the CDT
launch dialogs as well.

Also, does your framework provide any notifications of job start and
finish, such that a listener could register to be notified of those state
changes?

Thanks
Dave
_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev

_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev


_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev

_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev


_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev

_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev


_______________________________________________
ptp-dev mailing list

ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev

_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev


_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev



Back to the top