In Part 1 I explained the history, benefits and configuration of the CEIP. In part 2 we take a closer look at the SQM data processing and the involvement of the Windows Task Scheduler.
SQM Data processing
The following diagram was taken from the Corporate Customer Experience Improvement Program Client-to-Server Protocol Specification document and illustrates the CEIP data flow.
Once CEIP is enabled simply run a dir *.sqm /s command and you will see files with an SQM extension being stored in several locations. I haven’t been able to see the files while being processed, but according to the documentation, it should all go through the following folder before it gets uploaded to Microsoft.
C:\ProgramData\Microsoft\Windows\Sqm\Upload
When a user has enabled CEIP the data is periodically collected from the client and transferred to the Microsoft SQM servers. If corporate Administrators do not want their clients directly contacting the Microsoft SQM servers, the data can be redirected via an SCOM (System Center Operations Manager) or DEM (The Desktop Error Monitoring Component included within the MDOP suite).
As mentioned in part 1 for privacy reasons Microsoft doesn’t share any details in public about the SQM file format. The SQM file basically contains header data and Datapoints.
CEIP Related Scheduled Tasks
The below screenshot shows the scheduled tasks that manage the collection and upload of the CEIP data. Note that I have enabled the “Show Hidden Tasks” option within the View menu. The Consolidator task runs every 19 hours, the Kernel CEIP task every Thursday and the USB CEIP every 3 days.
Note that these tasks only collect and transfer data when a user has opted in for the Customer Experience Improvement Program.
If you have opted-in for the Windows Media Player CEIP another scheduled Task is being created. Note that a separate Task is created on a per user basis. So if multiple users opt-in for the Media Player CEIP you will see a separate task for each user. I noticed that the Task is only created at the next logon.
Note the Task name that contains the user account SID of the user that opted-in to the CEIP.
Find below a list of resources that have been helpful to me during the past days in trying to get an insight into the CEIP.
Additional Information
Introduction to the Windows Server Insights Panel
SCOM 2007 and Server Telemetry Data
Windows 7: Welcome to the Windows 7 Desktop
Inside Deep Thought (Why the UI, Part 6)
Data Driven Engineering: Tracking Usage to Make Decisions
A conversation with Partha Sundaram about SQM
Improve Debugging And Performance Tuning With ETW