Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 113166

Summary: Provide mechanisms for adding and launching new statistical agents
Product: z_Archived Reporter: Erik Putrycz <erik.putrycz>
Component: TPTP.monitoringAssignee: George Christelis <george.christelis>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P1 CC: guru.nagarajan, jnorris, karla.callaghan
Version: unspecifiedKeywords: Documentation, plan
Target Milestone: ---   
Hardware: All   
OS: All   
URL: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_113166.html
Whiteboard: closed460
Attachments:
Description Flags
new Extension point none

Description Erik Putrycz CLA 2005-10-19 18:00:48 EDT
The current list of statistical agents is hardcoded in the class org.eclipse.
hyades.perfmon.common.internal.launch.StatisticalAgentTabGroup:
    static
    { 
        agentTabList.add(new PerfmonTabInterface());
        agentTabList.add(new LinuxTabInterface());
        agentTabList.add(new JBossTabInterface());        
        agentTabList.add(new JonasTabInterface());
        agentTabList.add(new ApacheTabInterface());
        agentTabList.add(new MySQLTabInterface());        
    }

this should be refactored with extension points to allow third parties to 
implement new statistical agents.

I'd be willing to contribute on this.
Comment 1 Erik Putrycz CLA 2005-11-01 19:17:45 EST
Created attachment 29136 [details]
new Extension point

This patch creates a new extension point + schema in the
org.eclipse.hyades.perfmon for registering the Statistical Agents User
Interfaces. I refactored the existing code for using this extension point and
remove all references to existing agents. I had to add some other code for
managing the icons from the new schema.
Comment 2 George Christelis CLA 2005-11-02 05:24:31 EST
Thanks Erik. So far I've written a feature doc for this enhancement, but I need
to wait for it to get authorized and placed into plan before any design work can
begin.
Comment 3 Dave Smith CLA 2005-12-07 11:25:43 EST
Theme:  Design for Extensibility: Be a Better Platform 
Comment 4 Erik Putrycz CLA 2005-12-07 16:06:58 EST
I just had a look at the document. In my patch, the ACAgentName, the UI Agent Name and the UI Agent Image are in the plugin properties for the extention point. This really simplifies the interface to implement and reduces it to:

    public boolean isValid(ILaunchConfiguration conf);
    
    public String getErrorMessage();

    public AgentVariable [] getVariables();

In the patch and the current code, variable names, default and current values are handled by different methods. Are these stored in the AgentVariable?

Also shouldn't the AgentInterface move out of the "internal" package if it will be the main external interface?
Comment 5 George Christelis CLA 2006-01-23 07:12:59 EST
Erik, I've restructed and cleaned up the code in the internal code in the org.eclipse.hyades.perfmon plugin. I've left the extension point as internal as there are going to be some discussions here to see if this coincides with our support for statistical agents on all the ACs.

I think that it will become public however, in which case the 

org.eclipse.hyades.perfmon.internal.agentextension

package will be exposed, allow with the extension schema.

Tell me what you think of the interfaces and classes in that package, and if any further work should be done to clean the API up.

Checked changes into 4.2 CVS - org.eclipse.hyades.perfmon

Comment 6 Jeff Norris CLA 2006-05-27 15:24:09 EDT
This bug is marked as resolved, but the extension point is still internal.  Please take this work the rest of the way and make it possible for users like me to add new statistical agents.  It's not clear that there's even a reasonable workaround for adding new statistical agents right now.

Thanks!
Comment 7 Jeff Norris CLA 2006-05-27 15:27:14 EDT
Also, it would be great if there was some basic documentation on how one would go about writing a new statistical agent.  Is there a document out there that I've missed?

Comment 8 Paul Slauenwhite CLA 2009-06-30 08:21:35 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.