Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hyades-dev] Bug 62382 "Open with>" action in Profiling Monitor view should only show relevant views

Geary/Sylvain,
 
You guys both saw this mail - right?
 
Tanuj Vohra, tvohra@xxxxxxxxxx
 
 
 
Monday, July 19, 2004 10:42 AM
To: hyades-dev@xxxxxxxxxxx
cc:
From: "Curtis D'Entremont" <curtispd@xxxxxxxxxx>
Subject: [hyades-dev] Bug 62382 "Open with>" action in Profiling Monitor view should only show relevant views



This is required action for any hyades extensions that define their own trace viewers or profiling types:

For Hyades 3.0.1 we will be including the following usability fix:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=62382

Currently we show all profiling-related viewers when trying to open a profiling agent or profiling type. The idea is to show only relevant viewers to reduce complexity. This applies to both the "open with" menu and the default viewer when double clicking. Thus, we need to declare which profiling type(s) a viewer applies to.

Here's what you need to do.

If you define your own profiling type, declare a typeDescription extension for the profiling type that viewers can link to. The type will be the profiling type id. Here is an example for the memory analysis profiling type:

   <extension
         point="org.eclipse.hyades.ui.typeDescriptions">
      <typeDescription
            name="%memoryType"
            type="org.eclipse.hyades.profilingType.memoryHeap"
            icon="icons/full/obj16/memleakantype_obj.gif"
            extension="trace">
      </typeDescription>
   </extension>

This will allow viewers to be associated with the profiling type, and the type will show up in the Trace Associations preference page.

If you define your own viewer, update the type in your analyzerExtension that you use to define your viewers. For example, here is the one for Package Statistics:

   <extension
         point="org.eclipse.hyades.ui.analyzerExtensions">
      <analyzerExtension
            name="%STR_OPEN_PACKAGE_ST_ACTION"
            type="org.eclipse.hyades.profilingType.memoryHeap"   <-- (used to be "Profiler")
            icon="./icons/full/cview16/packclass_statistic_view.gif"
            isDefault="true"
            class="org.eclipse.hyades.trace.views.actions.internal.OpenPackageStatisticViewAction"
            id="org.eclipse.hyades.trace.views.actions.internal.OpenPackageStatisticViewAction"
            extension="trace">
      </analyzerExtension>
   </extension>

If you want your viewer to apply to more than one type, or want to use an existing viewer for your profiling types, you can use the extensionBinding extension point. The benefit here is that you don't have to create another analyzerExtension and duplicate all the strings and icon. Here's an example linking the Package Statistics viewer to the method coverage profiling type (a meaningless example):

   <extension
         point="org.eclipse.hyades.ui.extensionBinding">
      <extensionBinding
            extensionId="org.eclipse.hyades.trace.views.actions.internal.OpenPackageStatisticViewAction"
            type="org.eclipse.hyades.profilingType.methodCoverage">
      </extensionBinding>
   </extension>

I've attached patches on source for hyades 3.0.1 plugins; please use these to test your changes before the fix goes in. To apply, right click on the project in your workspace -> Team -> Apply patch. Make sure of the following:

- Right click->Open with on profiling types will only show viewers relevant to that profiling type.
- Right click->Open with on profiling agents show all viewers from its profiling types, and any viewers that were defined directly on the profiling agent (like statistical view).
- If no profiling types are present (e.g. for perfmon agent, J2EE request profiler, import profile file - known bug), viewers from all profiling types are shown, as before.
- Double clicking on a profiling type opens an appropriate viewer for that type.
- Double clicking on a profiling agent with profiling types opens the appropriate viewer for the first profiling type listed under it in alphabetical order.

If you find any problems, please let me know right away.
If there are no issues raised, the fix will go in wednesday at noon EST.



Thanks,
Curtis d'Entremont
Problem Determination Tools
IBM Toronto Lab

Phone: (905) 413-5754
E-Mail: curtispd@xxxxxxxxxx


Back to the top