| Summary: | [Tech Preview] Add per thread exection time, cycles and instructions | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Frank Levine <levinef> | ||||||||
| Component: | TPTP | Assignee: | Richard Y.S. HUANG <huangys> | ||||||||
| Status: | CLOSED WONTFIX | QA Contact: | |||||||||
| Severity: | enhancement | ||||||||||
| Priority: | P2 | CC: | analexee, ashishp, dskeen, ewchan, huangys, jcayne, jkubasta, paulslau | ||||||||
| Version: | unspecified | Keywords: | 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
Frank Levine
Add tech preview comment to summary Added to description document Please confirm target of 4.4 and add sizing moving to future. Data Model does not currently support the addition of metric properties. Moving to 4.5 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. (In reply to comment #6) For TPTP 4.5. This enhancement was not AG approved for 4.5. (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. target milestone is changed with PMC approval moved to future with PMC approval 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 Is this a low risk enhancement? (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? (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. 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.
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.
Mass update of P1 enhancements and defects targetted to future to P2. 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). 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). Closing out this feature. |