Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logging, tracing, instrumentering, debugging og fejlfinding Instrumentation End-to-End Tracing Historical Debugging Semantic Logging.

Similar presentations


Presentation on theme: "Logging, tracing, instrumentering, debugging og fejlfinding Instrumentation End-to-End Tracing Historical Debugging Semantic Logging."— Presentation transcript:

1

2

3 Logging, tracing, instrumentering, debugging og fejlfinding Instrumentation End-to-End Tracing Historical Debugging Semantic Logging

4 Instrumentation

5 The ability to monitor or measure a running system Trace program flow Log errors Diagnose performance issues Consumers System Administrators Major program flow events Critical issues Performance Counters Developers Program flow with state Verbose – call parameters etc.

6 You are blind without! Fixing bugs faster Documentation Quality

7 Instrumentation - Tools Developer Log files IntelliTrace Windows EventLog Memory Dumps Event Tracing for Windows System Administrators Windows EventLog System Service Center

8 What to Instrument Program flow Major state changes Life-cycle events Start, stop, restart Some exceptions Not validation errors etc. Security related events Login attempts Logging Errors Focus on external dependencies I/O, Database, Web Service Requests Correlate entries!!!

9 How to Log - Log Levels Critical System is unable to run insufficient resource access to file system database connectivity application start up failures invalid config settings Administrator attention required Error Exceptions that interrupts the user's actions Warning Resumable “errors” Login attempts SLA violation Information Life-cycle events Major events Trace Program flow with state Order initiated Order approved Order send Debug Verbose “debugging” information Executed SQL statements Full HTTP requests Anything s

10 End-to-End Tracing

11 Demo TraceSource, E2E format, Service Trace Viewer, Cross-Process Correlation, EventLog, Azure Live Tracing

12 System.Diagnostics Trace/Debug.WriteLine TraceSource improvements Service Trace Viewer E2E Tracing Correlation of events CorrelationManager Common.Logging log.Debug(m => m("my expensive to calculate argument is: {0}", CalculateMessageInfo())); System.ServiceModel.OperationInvoker.CodeGeneration System.ServiceModel.Routing System.Transactions System.Web.Services.Asmx System.Windows.Data System.Windows.DependencyProperty System.Windows.Documents System.Windows.Freezable System.Windows.Interop.HwndHost System.Windows.Markup System.Windows.Media.Animation System.Windows.NameScope System.Windows.ResourceDictionary System.Windows.RoutedEvent System.Windows.Shell System.Workflow System.Workflow.Runtime.Hosting System.Workflow.Runtime System.Workflow.Runtime.Tracking System.Workflow.Activities System.Workflow.Activities.Rules System.Xaml.Hosting CardSpace Microsoft.Transactions.Bridge System.Activities System.Activities.Core.Presentation System.Activities.DurableInstancing System.Activities.Presentation System.ComponentModel.Composition System.IdentityModel System.IO.Log System.Net System.Net.Cache System.Net.Http System.Net.HttpListener System.Net.Sockets System.Net.WebSockets System.Runtime System.Runtime.Serialization System.Runtime.Serialization.CodeGeneration System.Security.Cryptography.Xml.SignedXml System.ServiceModel System.ServiceModel.Activation System.ServiceModel.MessageLogging

13 Azure Live Tracing <source name="MyTraceSource" switchValue="Warning"> <add name="azureListener" type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, …" />

14 Historical Debugging

15 File Bug Resolve as “No Repro” Hand-off to Test Test Code Hand-off to Dev Investigate Bug Write Code It Works on My Machine!

16 IntelliTrace Capabilities Capture debugger state information during program execution IL is instrumented via Profiling API Records program execution flow Debugger, ASP.NET, ADO.NET, Exception, File, Registry, etc. Records program data Parameters Return values Low overhead for collection Visual Studio Ultimate only debugging support

17 How IntelliTrace Works Application IntelliTrace File CollectionPlan.xml IntelliTrace Recorder

18 Demo IntelliTrace - Historical debugger

19 Debugging Symbols Symbol Files.PDB files Used during the debugging process Includes Source File Names, Line Numbers and Local Variable Names You should always keep your symbol files around Symbol Server Central location for storing your PDB files Essentially this is just a file share Microsoft’s public symbol server: http://msdl.microsoft.com/download/symbols

20 Memory Dump Analysis

21 Debugging Tools for Windows WinDBG, ADPlus, sos, Hawkeye….loadby sos clr !clrstack –s !do 00f846bc !dumpstack !gcroot 00f846bc

22 Demo Dump File Analysis with Visual Studio

23 Windows Error Reporting (WER)

24 Event Tracing for Windows

25 Unified logging facility provided by the OS Kernel-level buffers Since Windows 2000 Also used by drivers Insanely-fast 1500-2000 cycles per entry ~2.5% CPU usage for sustained rate of 10,000 events/sec on a 2GHz PC Provider, Consumer, Controller model Over 700 providers in Win7, ~900 in Win8! System-wide collection

26 System.Diagnostics.Tracing Managed support from.NET 4.0+ EventSource EventListener Semantically rich Strongly-typed! Captures stack traces Works everywhere Windows Store Apps, Windows Phone, Azure.. Semantic Logging Application Block

27 ETW flow ETL file Event Providers Control/Status Control/Status ETW Session 2. Any component that has been instrumented with Event Tracing API 1. Collection of configurable in-memory buffers that is managed by the kernel 3. Controls logging sessions and enables/disables providers 5. GUI trace analysis via graphs and summary tables 6. CLI trace analysis via actions XML file Control/Status PerfView System and Symbol Information Merged ETL file Control/Status Post Processing Action 4. Metadata injection

28 Demo _NT_SYMBOL_PATH, PerfView, Event Tracing for Windows

29 What’s new in Visual Studio 2013 Debugging and Diagnostics Edit and Continue support for x64 Task debugging Graphics Diagnostics Code Maps with Call Stacks

30 Demo Parallel Task Debugging

31 Unhandled Exceptions System.Windows.DispatcherUnhandledException += (sender, e) => { // Log it }; System.AppDomain.CurrentDomain.UnhandledException += (sender, e) => { // Log it }; System.Threading.Tasks.TaskScheduler.UnobservedTaskException += (sender, e) => { // Log it };

32 Glimpse

33 Logging, tracing, instrumentering, debugging og fejlfinding Instrumentation End-to-End Tracing Historical Debugging Semantic Logging

34 Evaluation Create a Text message on your phone and send it to 1919 with the content: DE304 5 5 5 I liked it a lot Session Code Anders Performanc e (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional) Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: Speaker Performance Relevance according to your work Match of technical level according to published level Comments

35 © 2013 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.

36 Other GREAT web-oriented tools

37 Dump Files Analysis Dump file summary information Support for mixed-mode dump files IL Interpreter for managed property evaluation Operating system and CLR version information Module Information Search modules


Download ppt "Logging, tracing, instrumentering, debugging og fejlfinding Instrumentation End-to-End Tracing Historical Debugging Semantic Logging."

Similar presentations


Ads by Google