The Sampling Collector failed to collect data because the selected event(s) did not occur.

The Sampling Collector failed to collect data because the selected event(s) did not occur.


We are trying to use VTune for the first time and we are trying to use Event Based sampling. However we get the log message "The Sampling Collector failed to collect data because the selected event(s) did not occur.".

We run VTune (version 7.2, build 16929) on a Pentium III system (Family 6 Model 8 Stepping 6, 496MHz and 768 MB RAM) running "Windows Server 2003 Enterprise Edition" and we have only selected the "clockticks" and "instructions retired" events.

We get the error message regardless of which of the calibration radio-buttons is selected in the "Configure Sampling" dialog. We have a sampling interval setting of 1 millisecond and we sample for 20 seconds or more. We have tried to follow the "VTune Help Trouble Shooter", but with no success. :(

We have not changed any default settings for "Sample After" for any events, thus for the clockticks event we have a "Sample After" setting of 500000. VTune reports system bus frequency as 533MHz.

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

Just curious: did callgraph work on say, a small sample application? Or do you get an error there as well?



jdgallag wrote:

Just curious: did callgraph work on say, a small sample application? Or do you get an error there as well?

We have so far only been able to use sample based collection using the OS timer, but yesterday we were finally able to instrument our binary for call-graph analysis. We have yet tried to do a call-graph analysis using the instrumented binary, but we will try to do that today. Event based sampling does not still work.

We have now been able to use Call Graph analysis in VTune on our target machine. The only thing that does not work is still Event Based sampling.

What did you change to get callgraph to work?

Just curious.

Nothing. Just recompiled it within Visual Studio and it worked as it should.

Years and years ago, some manufacturers disabled the event counters in the CPU for certain laptops to enhance the power usage and consumptionof the laptop itself. (The theory then was every little bit helps, although this was in a very pre-Centrino time frame).

If you installed a VTune analyzer on these older systems, you could only get time-based sampling, not event- based. With the event registers disabled, VTune just wasn't able to get that information and the collector would stipple out EVENT-BASED sampling, and the only option you could check was TIME-BASED sampling.

I wonder if something similar to that is going on here??? It sure sounds like the event caches on the processor are disabled...


Does anyone know how I can check if this is the case or not? Is there any tell-tale signs in hardware revision of the Pentium III CPU? If so which revisions have the event-cahces disabled?

What I remember (it has been aVERY long time) was that it was a decision made by the laptop vendor. The chip had the registers, whether they were enabled or not was decided by the folks who had their name on the laptop.

And just thought of something obvious: be sure to compare the processor of your laptop with the list of supported processors that are in the VTune Analyzer release notes. Might give us a fast answer, because if it's in the supported list, you can head right on over to premier support and open a case on this:

Message Edited by jdgallag on 09-28-2005 10:37 AM

The main question is, is thisa laptop? As jdg points out, only laptops with mobile editions of Intel processors are supported by the VTune analyzer.



Does "Pentium III (Family 6 Model 8 Stepping 6, 496MHz)" equal a Pentium III Mobile processor? The release notes for VTune is not that specific, it just says VTune supports (among others) "Pentium III" processor and "Pentium III Mobile" procssor.

No, this is not a laptop we are talking about; it is a clustered, embedded PC connected to a SCSI RAID located in a telecom node.

Ah! Well, is the APIC enabled? This is what limits older processors in laptops from being able to collect processor events. If this is an embedded system, it is possible that the APIC, or something, is not enabled and therefore the analyzer does not get any interrupts from the processor event overflows.


I have written a small program for MS Visual Studio (that I hope) checks if APIC is enabled or not. When I execute it on a development machine (Pentium IV based) it reports that it can find an APIC. However if I run it on our embedded system it reports that it can NOT find any APIC.

Thus it seams like you have found the problem (if we can trust my program). :)

I attach the source code (forced to use ".txt" extension since ".cpp" is not a "valid" extension) for my little program in the hope that someone can review it and tell me if there are any obvious bugs in it or not. :)

Leave a Comment

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