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

Hybrid TPTP scenario

Revision as of 20:46, 7 December 2007 by Sluiman.ca.ibm.com (Talk | contribs) (Data representation)

TPTP Profiler users

  • Harm Sluiman

Usage scenarios

Requirements and set up

To run this simple two tier application follow these steps:

  1. Install a default image of Tomcat 5.5 or newer
  2. Put your JRE 1.5 or newer on the path and run the tomcat5.exe in the tomcat bin directory
  3. open the tomcat welcome page or go to http://127.0.0.1:8080/ for a local install.
  4. login with the default userid and pwd (not actually required, see tomcat-users.xml in the conf dir for the configured users)
  5. run some of the sample applications to confirm things work, and then try the JSP SVG (http://127.0.0.1:8080/jsp-examples/jsp2/jspx/svgexample.html) sample. This will give tell you how to run the sample.
  6. download and unzip a recent batik binary driver from Apache
  7. with your JRE on the path run java -jar batik-squiggle.jar and enter the url provided when running the earlier jsp sample (http://localhost:8080/jsp-examples/jsp2/jspx/textRotate.jspx?name=JSPX)

You now have a running two tier java application. This is all free open source so easy to install and recreate as needed. You can try all this out on one machine but clearly the two processes will affect each other so using two machines for more formal measurement is better and creates the need for remote monitoring using the profiler.

Most general case:

  1. First experience
    1. experience
  2. profile the squiggly browser when running the Tomcat 5.5 SVG jsp example
    1. experience
  3. isolate the time spent in the batik code versus the browser code or on the network using the class/method statistics views in TPTP
  4. profile the jsp on the tomcat server
  5. isolate the time spent in the jsp generated code and support libraries versus the tomcat server itself.
  6. compare these result to an end user clock
  7. optionally create a TPTP URL test for repeated testing of the server code without needing the browser

Required features:

  1. tbd

Ideal profiler

The ideal profiler will let me profile both of these applications at the same time or independently as well as show the network separations and impacts. At least one of these applications is normally on an separate machine so I would need remote support as well.

For the initial use case I only need to assess time spent, but it is important to note that I actually don't know the code I am profiling and am using the profiler to learn something about this code base before I write a line of code.

Opened Bugzillas

none yet

Problems observed during the experiences referenced above

First experience
  • Set config does not run with common JRE environments
  • IAC does not have a configuration file for standalone use
Distribution's problem
  • Plain windows workbench install of 4403 includes binaries for linux IAC
  • IAC does not start until a test connection is attempted (Harm, please, clarify --Alexander.n.alexeev.intel.com 18:22, 6 December 2007 (EST))
    • If you start a fresh workbench, the IAC is not started until you use it to run a test or start an application for profiling. Because this is an "attach scenario a fresh workbench has no running IAC. To make IAC start you Open the profile dialog, and use or create an attach configuration. Go to the Host tab and select test connection, and this will trigger the IAC to start.
Data filtering
  • Filters set in attach config are called default, but properties variant is called __JVMPI__
Execution management
  • After detaching and attaching to an agent, no more data is collected/sent to the workbench
  • After deleting profiling sessions/connections navigator shows status of all deleted connections (What do you mean here --Alexander.n.alexeev.intel.com 18:22, 6 December 2007 (EST))
    • This is a UI problem. At the bottom of the workbench the status line shows the number of events process and the time etc. for the profiling connection that is in focus in the navigator of the profiling perspective. This gives a user some indication of the amount of work our code is doing for them. If you terminate the profiling session and delete the resource from the navigator the status line should not show any status because there is no session in focus. After I created a few sessions, terminated each of them and then deleted them all, the status line cycled through the old status of the deleted resources.
  • Attach and collect with execution details turned on, and method data is not rendered (Does rendered mean isn't shown at all? --Alexander.n.alexeev.intel.com 18:22, 6 December 2007 (EST))
    • Yes, it is not showing up in the UI. I did not debug to see if the events where there or if the model was loaded.
Data representation
  • Double click a numbered unknown method and a NPE occurs. (Can't reproduce it)
    • to reproduce you need to get a the tool loaded with these unknown numbered events. Are you getting that symptom and not the NPE or are you not getting the unknown methods. I can capture the models and trace files if needed to reproduce.
  • Even when Execution flow shows threads and unknown methods, the UML diagrams do not have any data
  • Execution flow has 14 threads and Execution details only shows 2 AWT threads

Back to the top