TPTP-POG-20080109

From Eclipsepedia

Jump to: navigation, search

Contents

Logistics

Attending: Oliver, Harm, Paul, Joanna, Chris, AlexA, MikhailV Absent: Guru

If come out of call knowing what bugzillas need to be filed/triaged, this would be good.

Next meeting will be Monday (1/14) at 7a Pacific (same attendees)

  • Monday have explicit list of defects
    • A superset of what will be contained by 25th
  • bugs & understanding scope of what can be fixed

Status

Harm has bunch of bug items explicit and explicit on the wiki page .

  • Closure discussion underway between Harm and AlexA on what can get done by 25th
    • Mail exchange and bugzilla exchanges underway
  • By end of this week plan to have bugzillas open for all items not already there
  • Understand which ones are containable over next few weeks (I5)

Harm documented his out of box experience

  • 4.4.1 items that Eugene had opened are related/correlated to the experiences that Harm noted

What bugzillas will be filed. Alex outlined four major areas related to Harm's scenarios

  • Initial experiences
    • Need to be able to run AC smoothly without configuration hassles
  • Attach scenario
    • Resolve Unknown exceptions & unknown entities in data
  • Integrated AC execution issue
    • Created bugzilla & assigned to engineer

Controlled mode Discussion

TI and PI differ. PI prints a "waiting" message waiting for workbench to attach. TI experience page saw a crash.

Perhaps we could fix via documentation

  • need a way to notify the user that it will block waiting for Agent
  • CURRENT Documentation makes it appear that PI and TI modes are quite similar
    • Differences are becoming more apparant
  • Harm sees this as loss of function relative to PI.
    • Should capture as bugzillas but clearly can't fix all in near term.
  • Agent details not there to configure in profiling config wizard.
    • You get choices that aren't really viable for TI
      • Example: heap profiling options for an agent that is launched only able to do execution
    • May end up needing to disable some of the interfaces in the gui (e.g., different ways to attach not all of which are disabled)
      • Some will be easier to fix
      • Some gui updates will be needed

There was some discussion about how much can be fixed by documenting behavior versus patching behavior.

  • Harm would ideally like to see only limited things done via "documentation" path at 4.5 release
    • Resources are limited

Attach/Detach Discussion

Currently attach/detach functionality is used internally by TPTP in a number of ways

  • Example: erase existing data in workbench and continue to collect. used to avoid OOM
    • Detach, erase, Attach
  • This may have been ok for PI agent but not for TI agent design
    • Unlike PI agent, when TI agent detaches, it deinstruments expecting that there will not be further activity. ...This is something that wasn't really possible to fully optimize using PI interfaces but is how you are suppoesd to do things in TI.

If want to start maintaining state collection during detached state, will impact performance in detached state

  • Alex notes would be fair sized enhancement... Probably not containable for 4.5
  • There are historical scenarios where this does not play nice (like above)
  • TI design disables as much instrumentation as possible upon detach

When reattach to something was was detached, need to reinstrument based on the filters

  • Is real problem trying to snapshot the stacks so you can rebuild where we are?
    • Yes, we do have problems creating and then tracking the stack for the future
      • Loaders will insert "unknown" stack entries automatically because it is expected that when attach happens

If don't want to support user deleting data and then continuing (e.g., today detach, destroy, attach) should not have the options available in the gui

  • May be able to handle this problem with a protocol instead of detach/attach
    • e.g., give me current stack .. to allow destroying current data without detach

Question came up regarding what is the "most" important attach scenario that we want to make sure works

  • Harm suggests App server case
    • Most important thing is to start collecting some time after application started
  • Next in priority for Harm were
    • ProfileOnServer working the first time (enforces start/stop of server)
    • start/stop of collecting (including changing filter criteria on start)

Local, Remote, GUI Updates

Once launched (if profileonserver): local and remote support

  • GUI currently lets one go in and configure options that are invalid
    • (e.g., changing type of collection or settings for collection that are different).
  • May have defect to grey out things that aren't supported in TI profiler
    • Lots of them are in workbench changes. Eugene is now back.
    • Harm will have discussion w/ Joanna/Eugene regarding what is containable at a high level

TPTP versus other solutions

Harm raised the question of how we compare from a user scenario perspective to netbeans, yourkit, agitar, borland.

  • Neither IBM Eclipse folks or Intel Eclipse folks use these other tools
    • Formal and informal policies in IBM and Intel have prevented really doing hands on evaluation of competitive tools.
    • Partly to avoid perception of conflict & reverse engineering

It would be good to find a way to have a real comparison done.

  • What actually can be done in these other tools in terms of richness of experience
  • Question about whether dynamic attach/detach limitations are for some of these other tools.
  • How different are we really? Is it just that we're doing more complex scenarios or that other tools really allow better experiences on the same scenarios?

We spoke briefly about some Netbeans history with dynamic attach/detach.

  • Thru Java5 Sun released custom VM binary to allow propietary attach interfaces used by Netbeans profiler
  • Supposedly base Sun binary for Java6 would work with netbeans for advanced attach.
    • Starting in Java6, Sun documented parts of the advanced attach/detach interface in JVMTI but not enough to allow a third party to make an implementation compatible with Sun.


I didn't catch the whole discussion but there was some chat about callgraph after detach/attach

  • Some odd behavior happening upon reattach.
  • I think it related to filters (JVMPI/changing concern)

MISC & key action items

The other day Harm wanted to analyze a single plugin in Eclipse and used "Let us figure out what right filtering is" workbench never actually came up.

  • Something wacky was going on with filters and large scale instrumentation
  • Alex and Harm talked about this a bit

Alex will make sure bugzillas are filed Harm to review and alex/harm agree to a set of stuff that can be done for 25th

  • Realistically this list is quite limited because of the timeline and resources
  • Agreed that will fix only a few key things for I5
    • Will continue discussion and agree for future

Alex to send bugzilla list/plan to Harm

  • Looking at Harm's experiences wiki page
    • for items where there are definately not open bugzillas today Harm will file
    • Some GUI related updates/limitations will probably end up going to Eugene

A question arose regarding WTP intercept (regarding profile on server I believe)

  • Harm noted for this and some WTP (profile on server intercept)
    • Eugene is back and should be able to help

Both Harm and Alex should be sure to prefix with "POG" keyword

Would be good to have a list of what is and is not supported in enabled, standalone, controlled

  • for both PI and TI
  • One stop place to look to see comparitive feature expectation