250 likes | 394 Views
HW-62T. Improving code quality with Windows error reporting. Darren McKenzie Sr. Program Manager Microsoft Corporation. Agenda. Importance of C ustomer Feedback Tapping into the d ata Drilling Further with Automation Integration with Visual Studio Closing the Customer Feedback Loop
E N D
HW-62T Improving code quality with Windows error reporting Darren McKenzie Sr. Program Manager Microsoft Corporation
Agenda • Importance of Customer Feedback • Tapping into the data • Drilling Further with Automation • Integration with Visual Studio • Closing the Customer Feedback Loop • Recap You’ll leave with examples of how to: • Report data collection through Report API • Integrate WER data into your environment in new ways
Customer Feedback • Feedback has been received from millions of users • 10,427,189 aggregate Windows Error Reports on Windows 7 (Beta to GA) • 4,753 Code Changes driven through change • WER has existed since Windows XP • 2,000+ Vendors (IHVs, ISVs and OEMs) participate • We want you to have access to the same type of information
Windows Error Reporting definitions • What is a Bucket? • Evidence the client gathers at the time of incident • What is a CAB? • Memory Dumps (Triage, Mini, Full, Kernel, Heap) • WMI Queries (Sysdata.xml, WERinternalMetadata.xml) • What is a Failure? • Result of processing of memory dumps on server to more precisely root cause the faulting module. Symbols provide more actionable data
Windows Error Reporting definitions • What is a Response? • Action Center message to end-users • What are the Legal Requirements for WER Usage? • Windows Error Reporting Terms of Use V1.2
MSDN Development Centers MSDN • Winqual will be integrated into Hardware/Desktop Dev Centers • Hardware and desktop apps will get error reporting from Hardware/Desktop Dev Centers • Windows Metro style apps will get reliability metrics from Windows Store Desktop Development Center Hardware Development Center Windows Store Device Metadata Reports Driver Distribution Center Certification
demo Website Telemetry Reports
demo Download, Reprocess, Analyze
Programmatic Flow of Report API • Report List URL – gives you list of reports • /ReportingService/ReportingService.svc/Reports • Feed List URL – gives you list of feeds for a report • /ReportingService/ReportingService.svc/Reports/ReportName • Feed URL – gives you content of the feed • /ReportingService/ReportingService.svc/Reports/ReportName/FeedName
Get Report List Code Sample • System.Collections.ArrayList reportNameArray = new System.Collections.ArrayList(); • System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(REPORT_LIST_URL); • request = GetAuthenticatedRequest(request, username, password); • System.IO.Stream response = request.GetResponse().GetResponseStream(); • System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument(); • xDoc.Load(response); • System.Xml.XmlNodeList nodes = xDoc.SelectNodes(REPORT_XPATH); • foreach (System.Xml.XmlNode node in nodes) • { • reportNameArray.Add(node.InnerText); • } • return reportNameArray;
demo Using Visual Studio Debugging
Closing the loop - Responses • Workflow • Responses requested through Telemetry Reports • Responses provided to customers through Action Center • Scenarios • An update is available that fixes the problem • An update or steps are available that might fix the problem • Customer feedback is needed to help solve the problem • The product is no longer supported
Closing the Loop – Driver Distribution Center • Workflow • Certify driver update through MSDN Hardware Development Center • Distribute driver update through Driver Distribution Center • Customers receive updates through Windows Update • Scenarios • A specific fix exists • There is a product update
Review • Use the new MSDN Dev Centers to access your data • Use automation to provide customization • Use Visual Studio 11 with symbols to root cause problems • Close the loop with customers through responses or Driver Updates
Related sessions • Advanced app and driver debugging • Best practices for packaging and distributing device drivers • Overview of Windows Certification Program • Introducing the Windows Store
Further reading and documentation • WER Service Blog • How WER Collects and Classifies Error Reports • Windows Hardware Dev Center Dashboard • Windows Hardware Dev Center • Windows Dev Center
thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.