This topic contains information about some anomalies or apparent anomalies in the Timeline tab.
If your application uses the default threads library in the SolarisTM 7 Operating System or Solaris 8 Operating System, extra threads are created to perform system work. If the application is using bound threads, extra LWPs are created for these threads. Data for the extra LWPs is not recorded by the Collector, but the numbering of the LWPs in the Timeline tab includes these LWPs.
Sample data is recorded for each process, so the information displayed in the sample bar includes time spent by all LWPs and all threads in the process. If the application ran with more threads than there were CPUs on the machine, only a fraction of the sample can be colored for User CPU time.
When a sample point is recorded that was initiated by the Collector, only one thread records the sample point. When a sample point is recorded by calls to the API routine collector_sample(), each thread that executes the call can record a sample point. The result can be a number of very small samples that represent time spent between these calls.
The event markers in the Timeline show a color-coded representation of the call stack. The location of the event marker is determined by the timestamp. On the rare occasions when a system clock synchronization is taking place, the timestamp might not accurately reflect the time, and the spacing of clock profiling events can be different from the profiling interval.
If you are examining data for more than one experiment, you should be careful when you make comparisons between experiments. The times for the experiments are aligned on the initial timestamp, but at any given time relative to this point, the program could have been at a different place in its execution for each experiment, even if you ran the program using the same input. There are many possible reasons for this behavior. One is that the Collector overhead is different for different data types.
See also | |
---|---|
Finding Problem Time Periods in Your Program Finding a Period of Inefficient CPU Usage The Timeline Tab |