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

Bug 166692

Summary: [Tech Preview] Add per thread exection time, cycles and instructions
Product: z_Archived Reporter: Frank Levine <levinef>
Component: TPTPAssignee: Richard Y.S. HUANG <huangys>
Status: CLOSED WONTFIX QA Contact:
Severity: enhancement    
Priority: P2 CC: analexee, ashishp, dskeen, ewchan, huangys, jcayne, jkubasta, paulslau
Version: unspecifiedKeywords: plan
Target Milestone: ---Flags: jkubasta: review? (ewchan)
Hardware: PC   
OS: Windows XP   
URL: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_166692.htm
Whiteboard: housecleaned460
Bug Depends on: 80440    
Bug Blocks:    
Attachments:
Description Flags
patch for 166692
none
patch for 166692
none
PTT support for 166692 none

Description Frank Levine CLA 2006-12-04 16:16:00 EST
Add support for per thread metrics from "Performance Inspector" including both cycles and instructions.
Comment 1 Matt Mings CLA 2006-12-07 12:05:06 EST
Add tech preview comment to summary
Comment 2 Matt Mings CLA 2006-12-07 16:17:20 EST
Added to description document
Comment 3 jkubasta CLA 2007-03-02 10:19:02 EST
Please confirm target of 4.4 and add sizing
Comment 4 Matt Mings CLA 2007-03-14 14:18:57 EDT
moving to future.  Data Model does not currently support the addition of metric properties.
Comment 5 Matt Mings CLA 2007-08-13 21:33:37 EDT
Moving to 4.5
Comment 6 Paul Slauenwhite CLA 2007-10-04 11:53:45 EDT
Not approved by the AG.  

This enhancements requires the following before continuing:

-Performance Inspector (PI - instruments kernels to provide more accurate and consistent counters per thread (e.g. instructions, cycle times, cache misses, etc.) than standard timing counters) is not completely open-source since the Windows XP support is provided on alphaWorks (standard 90-day ILA for Early Release of Programs licensing agreement) and the Linux support is provided on SourceForge (GPL/LGPL agreement).  Also, Windows Vista is not yet supported.  Windows XP/Vista and Linux support should be available on SourceForge before continuing with this feature.

-This feature uses ARM to instrumentation to initialize, invoke, collect PI trace data.  When ARM initializes, it determines if PI is available.  If available, it queries the available metrics and populates the TPTP wizard (http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_166692_files/instrument_new_column.png).  ARM collects the 64-bit delta counters for each method entry and exit and emits the counters as debug metrics on the method entry and exit events.  These debug metrics need to be loaded into the TPTP Trace model, including the profiling specification and EMF model.  Currently no feature in place although Matt Mings did prototype an extension point for the ARM metric properties, which were key value pairs stored in the ARM metric model but written to a local file.  Also, this feature requires feature https://bugs.eclipse.org/bugs/show_bug.cgi?id=80440 to display the metrics in the Trace views displaying method invocations.  

-Staffing committment for ongoing support, testing, and maintenance.
Comment 7 Paul Slauenwhite CLA 2007-10-21 20:33:00 EDT
(In reply to comment #6)

For TPTP 4.5.
Comment 8 Paul Slauenwhite CLA 2007-10-23 09:48:23 EDT
This enhancement was not AG approved for 4.5.
Comment 9 Paul Slauenwhite CLA 2007-11-21 11:24:16 EST
(In reply to comment #6)

Approved by the AG for 4.5 given the following:

> -Performance Inspector (PI - instruments kernels to provide more accurate and
> consistent counters per thread (e.g. instructions, cycle times, cache misses,
> etc.) than standard timing counters) is not completely open-source since the
> Windows XP support is provided on alphaWorks (standard 90-day ILA for Early
> Release of Programs licensing agreement) and the Linux support is provided on
> SourceForge (GPL/LGPL agreement).  Also, Windows Vista is not yet supported. 
> Windows XP/Vista and Linux support should be available on SourceForge before
> continuing with this feature.

Frank has committed to releasing (and supporting) the Performance Inspector Windows code that includes Windows Vista support along with the Performance Inspector Linux code on SourceForge by December 21, 2007.

> -This feature uses ARM to instrumentation to initialize, invoke, collect PI
> trace data.  When ARM initializes, it determines if PI is available.  If
> available, it queries the available metrics and populates the TPTP wizard
> (http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_166692_files/instrument_new_column.png).
>  ARM collects the 64-bit delta counters for each method entry and exit and
> emits the counters as debug metrics on the method entry and exit events.  These
> debug metrics need to be loaded into the TPTP Trace model, including the
> profiling specification and EMF model.  Currently no feature in place although
> Matt Mings did prototype an extension point for the ARM metric properties,
> which were key value pairs stored in the ARM metric model but written to a
> local file.  Also, this feature requires feature
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=80440 to display the metrics in
> the Trace views displaying method invocations.  

Enhancement 80440 has been AG approved and resources are available for completion in 4.5.

> -Staffing commitment for ongoing support, testing, and maintenance.

Matt and Team will handle the support of the TPTP code required for this enhancement.

Comment 10 Alexander N. Alexeev CLA 2008-04-01 06:34:34 EDT
target milestone is changed with PMC approval 
Comment 11 Alexander N. Alexeev CLA 2008-05-24 06:09:52 EDT
moved to future with PMC approval
Comment 12 Richard Y.S. HUANG CLA 2008-11-03 11:03:35 EST
Created attachment 116824 [details]
patch for 166692

Eugene,

Please review the patch for 166692. Thanks!

P.S.,
1. Metric information is in the console of Eclipse workbench.
2. Needs to configure PTT firstly before use it. Please find general help from its website: http://www.alphaworks.ibm.com/tech/pi
Comment 13 jkubasta CLA 2008-11-03 11:10:43 EST
Is this a low risk enhancement?
Comment 14 Richard Y.S. HUANG CLA 2008-11-05 10:52:24 EST
(In reply to comment #13)
> Is this a low risk enhancement?
> 

No, it's not a tiny modification for current source code. I don't think it's low risk.

A new extension pointed is added, and an existing extension point "instrumentPointDeclaration" is modified to support additional metrics. And of course, several existing source files are modified, and some new source files are added. And a new dependency to the jar from PTT is introduced into TPTP in both build time and runtime.

So here is my suggestion. Can we create a new project to release this PTT integration? How about creating org.eclipse.tptp.trace.arm.ptt, and releasing it as a tech-preview under TPTP just like BtM for .NET?
Comment 15 Eugene Chan CLA 2008-11-06 10:41:38 EST
(In reply to comment #14)
> (In reply to comment #13)
> > Is this a low risk enhancement?
> > 
> 
> No, it's not a tiny modification for current source code. I don't think it's
> low risk.
> 
> A new extension pointed is added, and an existing extension point
> "instrumentPointDeclaration" is modified to support additional metrics. And of
> course, several existing source files are modified, and some new source files
> are added. And a new dependency to the jar from PTT is introduced into TPTP in
> both build time and runtime.
> 
> So here is my suggestion. Can we create a new project to release this PTT
> integration? How about creating org.eclipse.tptp.trace.arm.ptt, and releasing
> it as a tech-preview under TPTP just like BtM for .NET?
> 

The new feature should be re-packaged in a separate plugin and publish as a separate Tech Preview item in the download page, with link to setup documentation and dependencies introduced. (Note: PI is licensed GPL)
Please rework the patch and once it's reviewed and committed work with Joel on setting up the corresponding build and download site changes.
Comment 16 Richard Y.S. HUANG CLA 2008-11-24 09:00:11 EST
Created attachment 118588 [details]
patch for 166692

Eugene,

This patch will enable metric support in general. The source code of the following five projects is modified:

org.eclipse.tptp.platform.models
org.eclipse.hyades.trace.views
org.eclipse.tptp.platform.instrumentation.ui
org.eclipse.tptp.trace.arm
org.eclipse.tptp.trace.arm.ui

P.S., The PTT related code is not included in this patch. As we discussed before, it's separated into another plugin which is going to publish on sourceforge.net.
Comment 17 Richard Y.S. HUANG CLA 2008-11-24 09:03:42 EST
Created attachment 118589 [details]
PTT support for 166692

This zip is the project archive file for PTT support. You can import it into your workspace.

As we discussed, this plugin is not going to publish on eclipse website.
Comment 18 Kathy Chan CLA 2009-02-23 13:39:55 EST
Mass update of P1 enhancements and defects targetted to future to P2.
Comment 19 Paul Slauenwhite CLA 2009-06-30 06:37:39 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 20 Paul Slauenwhite CLA 2009-06-30 06:38:19 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 21 Frank Levine CLA 2009-07-07 11:04:21 EDT
Closing out this feature.