TPTP-AG-20080724
From Eclipsepedia
Contents |
Date
- July 24, 2008
Attendees
- Eugene Chan
- Bing Xu
- Jonathan West
- Asaf Yaffe
- Kristine Heaton
Topic
- To understand and discuss on the requirement of the environment variable for command line startup of profiler, work on a solution to remove the need of them to ease the usability of the profiler. This is an area that user is having problem to setup a profiling session on machines with limitation on setup privilege.
- 226572 Remove requirement on environment variables setup
- 227779 Linux: Attempt to record fails with message that attempt to write serviceconfig.xml failed.
Minutes
- Go through each of the environment variable requirement:
- 1. TPTP_AC_HOME
- it is used by Agent to locate the serviceconfig.xml file for the following values:
- a. logging level
- info is the default, value is mostly changed for debug and support purpose.
- Suggestion: how about an optional variable and honor only when available for debug and support purpose?
- b. shared memory for data channels and name pipes values.
- values are not changeable by any UI unless user manually change the serviceconfig.xml.
- we do not see any need to change this value in the current setup and in long term.
- can we assume the default value always? Yes.
- a. logging level
- Summary: Remove TPTP_AC_HOME and introduce an optional TPTP_AC_CONFIG_HOME for debug/support purpose and point to the new configuration location ie. workspace (see 227779). TPTP_AC_CONFIG_HOME is honor when available, default value otherwise.
- AI: Eugene to contact Igor to confirm the usage of the variable and make sure there is nothing missing here on the usage of the TPTP_AC_HOME
- AI: Eugene to create sub defect (241982), Talk with Chris and Joanna for resource.
- it is used by Agent to locate the serviceconfig.xml file for the following values:
- 2. JAVA_PROFILER_HOME
- History: to allow us to use multiple Martini runtimes on the same machine.
- History: jpibootloader: a thin loader to read the variable and locate the martini runtime.
- This dependency can be removed as all required libraries are located under the same directory.
- To make sure we are backward compatible, make this variable an optional variable and honor if it exists on the machine. Assume same libraries under same folder otherwise.
- Asaf: estimate effort: easy, 1 day.
- Summary: make this an optional variable and honor if exists.
- AI: Eugene to create sub defect (241984), and talk to Chirs and Joanna for resource.
- 3. PATH/LD_LIBRARY_PATH
- They must point to JPIBootLoader and AC/bin for JPIBootLoader, ACCollector and AC libraries to load.
- Main reason was to streamline the standalone and command line variables.
- JPIBootLoader statically load other dll and their dependencies on the system path.
- To load the ACCollector and it use AC sdk and lib files to link with AC dlls.
- baseAgent.dll and tptputil.dll, they need to be in system path for the OS to load.
- perhaps locate and load the AC dll dynamically instead of statically.
- Can we use "-agentpath" to pass a fully qualify JPIBootLoader.dll for JVM? yes, but only when server=standalone
- For server=enabled/controlled, it loads ACCollector and its dependencies that require OS to load with PATH value.
- If ACCollector and its dependencies are dynamically lookup in JPIBootLoader there is no need for PATH value to include them i.e AC/bin folder
- "-agentpath" vm argument can then be used on local profile to locate JPIBootLoader without the need of a PATH value.
- For remote profile on server use case, we still need PATH setup on remote machine because client does not have remote AC location, but PATH now only points to jvmti.runtime/javaprofiler folder and no more AC/bin is required for AC sdk and libraries loading.
- Standalone should work find with the propose changes. ie. no variables is needed to setup if agentpath is used.
- Summary: update JPIBootLoader to locate and load ACCollector and AC libraries dynamically.
- Will track this change under existing bug 226572.
- Eugene: Why are the libraries packaged under lib on Linux and bin on Windows? We should make it consistent across all platforms.
- AI: Eugene to open defect to review the packaging (242016).
Summary
- Remove TPTP_AC_HOME and make TPTP_AC_CONFIG_HOME optional for debug and support purpose.
- Reference JPI libraries under the same folder and make JAVA_PROFILER_HOME optional for backward compatibility.
- JPIBootLoader to dynamically locate and load AC libraries, remove AC/bin in PATH
- PATH/LD_LIBRARY_PATH is still needed but only points to JPIBootLoader folder.
- if "-agentpath" is used then PATH is not needed.
Action Item
- Eugene to open defects and target after talk to Chris and Joanna.