[
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,
WyattOn 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 |
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
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
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