"Sampling Over Time View" has wrong length

"Sampling Over Time View" has wrong length

Hi all!

I'm using VTune 9.1 for Windows under a Windows 2003 Server on an Itanium2 1.4 GHz (4 Cores) system. My Problem happens in the following scenario:

I start an activity with sampling paused. Then I resume sampling after a while (by releasing the "pause" button manually or do that via the VTune pause/resume API). After 30 seconds, I pause sampling (again by using the pause button or the API) and wait until the activity is finished.

Then I go to the "threads" view and select "over time view". In most cases, the over time view shows me only about 7 seconds (and which also varies from time to time) instead of the 30 seconds I sampled. I cannot tell which timeslice is displayed and why my full 30 seconds are not visible (scrolling is not possible).

Maybe some experienced that issue, too? Am I doing something wrong or is that an VTune issue?

Thanks in advance for your answers! I really need your help with that!

Best regards,
Andreas

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - defender1234
... Then I resume sampling after a while (by releasing the "pause" button manually or do that via the VTune pause/resume API). After 30 seconds, I pause sampling...

Then I go to the "threads" view and select "over time view". In most cases, the over time view shows me only about 7 seconds ...

Best regards,
Andreas

Hi,

1. First at all, in "paused" stage there is no sample captured (I think that you already know this)
2. You said that you used VTune API during 30 seconds, be sure if there are "paused" action(s) in code when sampling is "active"
3. Please go "processes" view and select "over time view", since if you select single thread which spent 7 seconds, but other threads were running.
4. I suggest you to run code with VTune API without running VTune GUI. That is, in your code to configure sampling activity (set paused in start-up), resume/pause/stop sampling in your interest of code. You can control everything in your code without invoking VTune Analyzer. Import generated .TB5 file to GUI for post-analyzing.

Regards, Peter

Hi Peter!

Thanks a lot for your answer!

To avoid a misunderstanding: I did not a select the over-time view of a single thread, but of one process, showing all threads belonging to that process.

Ok, I examined that problem a little deeper: It seems to me, that the time axis displayed in the over-time view just has the wrong scale! For example:
- I measured for 30 seconds -> The over-time view gave me a time axis from 0-7.5 sec
- I measured for 40 seconds -> The over-time view gave me a time axis from 0-10 sec
- I measured for 120 seconds -> The over-time view gave me a time axis from 0-30 sec

So it seems that the time values VTune displays is scaled by 1/4 compared to the whole measuring time.

Can that have something to do that I reconfigured the "Sample After" value for my events to 6 000 000?

(Btw.: I tried to run sampling without the GUI, but calling the API to configure sampling resulted in an "Access Violation Exception" in an VTune DLL... But since using the GUI is nice I didn't examine this issue further :)

Regards,
Andreas

Quoting - defender1234

Hi Peter!

Thanks a lot for your answer!

To avoid a misunderstanding: I did not a select the over-time view of a single thread, but of one process, showing all threads belonging to that process.

Ok, I examined that problem a little deeper: It seems to me, that the time axis displayed in the over-time view just has the wrong scale! For example:
- I measured for 30 seconds -> The over-time view gave me a time axis from 0-7.5 sec
- I measured for 40 seconds -> The over-time view gave me a time axis from 0-10 sec
- I measured for 120 seconds -> The over-time view gave me a time axis from 0-30 sec

So it seems that the time values VTune displays is scaled by 1/4 compared to the whole measuring time.

Can that have something to do that I reconfigured the "Sample After" value for my events to 6 000 000?

(Btw.: I tried to run sampling without the GUI, but calling the API to configure sampling resulted in an "Access Violation Exception" in an VTune DLL... But since using the GUI is nice I didn't examine this issue further :)

Regards,
Andreas

Hi Andreas,

Actually VTune Analyzer uses auto-scale in bar-chart, but it is hard to say as 1/4 compared to the whole measuring time, my result is ~1/5. It should be NOT "Sample After" value related - SOT displayed also for no sample captured time.

Also there is Options dialog -> Sampling->Over Time View -> Grid Layout: the user can set "Numer of Columns" to maximum 999. In my case: capability (1000x5)/60 = 83 minutes for SOT data displayed. However since it said auto-scale - maybe 1/8, 1/10 for more time for SOT displayed.

So you have to remember your scale to know where *real* time is for you.

Regards, Peter
(BTW, without using VTune GUI, you should configure your VTUNE_SAMPLING_PARAMS instead of doing on VTune GUI)

Hi Peter,

thanks again for your reply! I think I'm not aware of the "auto-scale" feature. What does it do and what is the idea behind it? Since this auto-scaling scales different for you and me: Is this a "bug" or a "feature"? :)

So I guess the time displayed in the over-time-view is not the user time, but cpu-time? I used event-based sampling until now. Would time based sampling give me the user time?

Best regards,
Andreas

Quoting - defender1234
Hi Peter,

thanks again for your reply! I think I'm not aware of the "auto-scale" feature. What does it do and what is the idea behind it? Since this auto-scaling scales different for you and me: Is this a "bug" or a "feature"? :)

So I guess the time displayed in the over-time-view is not the user time, but cpu-time? I used event-based sampling until now. Would time based sampling give me the user time?

Best regards,
Andreas

Hi Andreas,

I think that "auto-scale" is a feature not a bug! You can image if there are long period for SOT view - that is impossible to display all elapsed time in one graph without auto-scale.

No matter you use EBS or TBS, sampling always collects data for "Ring 0" (system mode) and "Ring 3" (user mode). See processes report or others at bottom for "Activity ID" info. Sampling data collection is system wide work, it collects both system data and user data.

Regards, Peter

Leave a Comment

Please sign in to add a comment. Not a member? Join today