When I compare the "number of events processed" on the
status bar with the number of method calls that I specified
to trigger a detach, I see far fewer events than I expect.
Namely, at least 2 events per method call (entry/exit).
I have 2 test cases where case 1 yields about 2 events
per method call, and case 2 yields 0.003. The details:

Here's my setup:

- TPTP 4.2
- Analysis types selected:
  - Profile execution flow (show execution flow graphical 
    details,  boundary class depth=1 or 111, see below)
  - Memory allocation.

This is my test (the exact test case is not relevant, 
the idea is to test TPTP under heavy loads. Profiling TPTP 
itself serves that purpose):

- Profile-launching of an Eclipse Application
- org.eclipse.tptp.* and org.eclipse.hyades.* included
- "show execution flow graphical details" is checked
- Boundary class depth set to 1 or 111 (see below)
- Profiling the tutorial example from the launched Eclipse 
  Application (so we're "profiling the profiler").

Here are some test cases and resulting numbers:

-----------------------------------------------------------
Case 1: 
Boundary class depth=1, number of method calls=20,000:
- 42,000 processed events
- 5 button clicks of tutorial example before auto-detach
  (about 8,000 events per click)

Case 2: 
Boundary class depth=111, number of method calls=50,000,000:
- 150,000 processed events
- 4 to 5 button clicks of tutorial example before auto-detach
  (about 35,000 events per click)
-----------------------------------------------------------

The processed events were read from the status bar. 
>From these data, we get

- Number of events per method call:
  - Case 1: about 2
  - Case 2: about 0.003

There should be at least 2 events per method call (assuming
that all method calls are treated the same way). Case 1 is
almost normal (I would expect more events because of object
allocations) but case 2 is way below normal.

The only plausible explanation that I can think of is CPU
starvation under heavy loads. Is it possible that the agent
controller breaks down under heavy loads and starts skipping
events? Is there a way to detect if any events were missed? 
Or am I simply misinterpreting the data?

Henk Aling
Wind River
_______________________________________________
tptp-tracing-profiling-tools-dev mailing list
tptp-tracing-profiling-tools-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/tptp-tracing-profiling-tools-dev

Reply via email to