Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Profiling Problems in 4.4 Squiggly"

m (time to backup a bit)
(Observations when trying jvmpi)
Line 53: Line 53:
  
 
===Observations when trying jvmpi===
 
===Observations when trying jvmpi===
 +
Using the following script to point to a 1.4 jre I ran squiggle
 +
----
 +
'''set TPTP_AC_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.ac.win_ia32_4.4.1.v200709261752\agent_controller'''
 +
 +
'''set JAVA_PROFILER_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.jvmti.runtime_4.4.1.v200709261752\agent_files\win_ia32'''
 +
 +
'''set JAVA_HOME=d:\java14\bin'''
 +
 +
'''set JVM=%JAVA_HOME%\java.exe'''
 +
 +
'''set PATH=%JAVA_HOME%;%JAVA_PROFILER_HOME%;%TPTP_AC_HOME%\bin;%PATH%'''
 +
 +
'''set AGENT=-XrunpiAgent:server=enabled'''
 +
 +
'''set PARMS='''
 +
 +
'''set CLASSPATH=.'''
 +
 +
'''%JVM% %AGENT% %PARMS% -jar batik-squiggle.jar'''
 +
----
 +
Without having started a workbench and therefor not having the IAC started I get a different result.
 +
----
 +
D:\batik\batik-1.7>d:\java14\bin\java.exe -XrunpiAgent:server=enabled  -jar batik-squiggle.jar
 +
 +
'''Agent Controller is not active: will wait in a 1000 ms loop'''
 +
----
 +
Note that because I had run things once as noted above the serverconfig file was already set up, hoever in this case the lack of a running AC didn't not hold me up.
 +
When I started the workbench, I attached to the pi agent with no problems and once collecting, all the views were populated and the method links did not give an NPE.

Revision as of 18:04, 3 December 2007

In order to keep to the minimal install we are using the IAC binaries This is the minimal script used to start the application


set TPTP_AC_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.ac.win_ia32_4.4.1.v200709261752\agent_controller

set JAVA_PROFILER_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.jvmti.runtime_4.4.1.v200709261752\agent_files\win_ia32

set PATH=%PATH%;%JAVA_PROFILER_HOME%;%TPTP_AC_HOME%\bin

set JVM=C:\WINDOWS\system32/java.exe

set AGENT=-agentlib:JPIBootLoader=JPIAgent:server=enabled;CGProf:execdetails=true

set PARMS=

set CLASSPATH=.

%JVM% %AGENT% %PARMS% -jar batik-squiggle.jar


The first problem is that came up


Could not start Agent Controller.

Empty serviceconfig.xml file

Make sure you have created a valid serviceconfig.xml file by running the SetConfig script.


The file appears to exist but is empty. Note that this Eclipse instance has been used in the past to profile using IAC as an embedded component.

When attempting to run setconfig this message is returned


ERROR: The Java Runtime in use does not contain a suitable JAXP feature

RESOLUTION: Use a JRE which supports the JAXP feature


This occurs because the JRE being used is a SUN 1.6 release.

Bottom line is that there are several things I need to figure out before I can start and profile this application.

time to backup a bit

Because I know too much, I realized I may be able to get around the setconfig problems by starting the workbench and IAC before starting squiggle. So I did. I started the workbench and created an agent attach profile, and then started squiggle with the above script, and it still did not start, indicating the IAC was not yet running. So I went into the profiling session and "tested" the connection and tried squiggle again. This time squiggle sloooowly started.

Before trying anything I attached to the agent and used the default filters. In this case the default was not a good idea, because it excluded org* which would include org.apache.batik. Attach seems to work, and the navigator kept showing "monitoring". I then clicked a few buttons in squiggle, and nothing showed up in the profiling sessions, so I reopened the views and now there was was some class statistics of classes that should have been filtered out. There were execution statistics which where initially zero, but the other views showed no data.

So I looked at the node properties to check the filters. I saw a filter set called __JVMPI__ (versus Default) and removed the org* exclude. Used squiggle a few more times but no new data.

I disconnected from the agent, started a new connection with the filters I wanted, and attached. This time no data at all ever came to the views. Even after opening and closing them. So I disconnected from the agent again, and deleted the to connections. I was left with a the status at the bottom switching between 1788264 events processed and 0 event processed. This was the status of the to previous connections.

I restarted squiggle with the same options again and then attached with the filters I needed to not exclude batik, and then tried squiggle. Now I was getting data in the execution statistics view including methods in the summary. If I select call tree there are two entries with no children. If I select either of the method tabs, there is no data. Execution flow viewers seems to have a line for each thread but only a numbered method in the table view. A double click on the method give a null pointer exception. UML interaction diagrams say there is no data.

I am in a state where I can work around the connection problem but still do not get any meaningful results. I believe I have come across a large number of bugs to get this far.

Observations when trying jvmpi

Using the following script to point to a 1.4 jre I ran squiggle


set TPTP_AC_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.ac.win_ia32_4.4.1.v200709261752\agent_controller

set JAVA_PROFILER_HOME=D:\IDEs\4403\eclipse\plugins\org.eclipse.tptp.platform.jvmti.runtime_4.4.1.v200709261752\agent_files\win_ia32

set JAVA_HOME=d:\java14\bin

set JVM=%JAVA_HOME%\java.exe

set PATH=%JAVA_HOME%;%JAVA_PROFILER_HOME%;%TPTP_AC_HOME%\bin;%PATH%

set AGENT=-XrunpiAgent:server=enabled

set PARMS=

set CLASSPATH=.

%JVM% %AGENT% %PARMS% -jar batik-squiggle.jar


Without having started a workbench and therefor not having the IAC started I get a different result.


D:\batik\batik-1.7>d:\java14\bin\java.exe -XrunpiAgent:server=enabled -jar batik-squiggle.jar

Agent Controller is not active: will wait in a 1000 ms loop


Note that because I had run things once as noted above the serverconfig file was already set up, hoever in this case the lack of a running AC didn't not hold me up. When I started the workbench, I attached to the pi agent with no problems and once collecting, all the views were populated and the method links did not give an NPE.

Back to the top