SlideShare a Scribd company logo
1 of 18
Analyze Your Code
With Visual Studio 2015
Diagnostic Tools
Ken Cenerelli
Microsoft MVP - .NET Platform
About Me
Ken Cenerelli
CTTDNUG Twitter: @KenCenerelli
Email: Ken_Cenerelli@Outlook.com
Blog: kencenerelli.wordpress.com
LinkedIn: linkedin.com/in/kencenerelli
Bio:
 Programmer Writer
 Microsoft MVP - .NET Platform
 Microsoft TechNet Wiki Guru
 Co-Organizer of CTTDNUG
 Technical reviewer for multiple books
Typical Debugging Session
1. Realize there is a bug
2. Use best-guess scenario to place a breakpoint
3. Reproduce steps and hope your breakpoint is hit before bug appears
4. Breakpoint is hit, examine the code by stepping through
5. Root cause not identified
6. Repeat steps 2 thru 5 until bug is discovered
Old Diagnostic Tools
• In Visual Studio 2013, the tools were not well advertised
• Tools like Memory Usage and CPU Usage were made available in the Performance and
Diagnostics hub in VS 2013 Update 2
• They can be found by clicking on Performance and Diagnostics in the Debug or Analyze menu
New Diagnostic Tools Window
(aka Why Should I Care?)
• Visual Studio 2015 brings Diagnostic Tools into the debugging experience when you hit F5
• The new window is active during the debugging session
• It is designed to change your debugging workflow
• You no longer have to create breakpoints, hit F5, wait for the breakpoint to be hit, and then
check the locals window
• You should now think, “What did IntelliTrace find?”
Diagnostic Tools Window Components
• IntelliTrace UI is revamped and now is in Diagnostic Tools Window
• Memory and CPU usage graphs added
• Take memory snapshots and time sections of code with PerfTips
Supported SKUs
• Diagnostic Tools can be found in the following Visual Studio editions:
Visual Studio
Community
Visual Studio
Professional
Visual Studio
Enterprise
IntelliTrace ▪
Memory Usage ▪ ▪ ▪
CPU Usage ▪ ▪ ▪
PerfTips ▪ ▪ ▪
Supported Project Types
Diagnostic Tools are available in all the following project types:
• Managed WPF, WinForms, and Console projects
• Native Win32, Console, and MFC projects
• ASP.NET projects running on a local IIS and IIS Express (including MVC & Web API)
• Managed or Native Windows Store projects
• Debugging sessions started using Debug > Attach to Process
• Debugging apps running on remote desktop devices
No support currently for the following projects:
• Windows Store projects that are using JavaScript
• Windows Store projects that are running on a Windows Phone
• Debugging when Managed or Native Compatibility Mode is checked in Tools > Options > Debugging
• Native Phone projects (Cordova, Xamarin)
IntelliTrace
• IntelliTrace is a recorder for your debugging sessions
• It captures the call stack along with local variable info for that moment of time
• You can go back in time with Historical Debugging
• Captured events are represented on a timeline
• The Events timeline is split into three tracks: Break Events, Output Events, and IntelliTrace Events
• It provides the same events you would get from implementing extensive logging framework but
without the work
Memory Usage
• Monitor memory usage of your app and take snapshots of your memory so that you can inspect
the contents of the heap to find memory leaks
• Includes memory allocated on both the managed and native heaps
• Tied to the debugger your project is using (Managed Only, Native Only, or Mixed Mode)
• Records only the time your application is running and filters out the time spent in break states
• Can snapshot sections of your code before and after it is run
• Heap analysis view for deeper investigation of the process memory by type
CPU Usage
• In many cases the CPU is the bottleneck when performance problems arise
• It can be difficult to know where to start when you want to make your code run faster
• Measures the CPU’s resources in terms of how much time each core in the CPU spends
executing your code
• Lets you see which of your functions are using the most CPU
PerfTips
• Provides timing of previously executed code blocks
• No more Stopwatch.Start / Stopwatch.Elapsed
• Works in all types of projects
• Works with remote debugging in Azure
• PerfTips discounts network latency issues when debugging on a remote machine
• TIP: Take multiple measurements to discover the range and median values of the code being
measured
Demo
• Diagnostic Tools Window
• IntelliTrace Events
• Memory Usage
• CPU Usage
• PerfTips
Start Diagnostic Tools Without Debugging
• Provides a true representation of your CPU and Memory
• Full analysis only occurs after your profiling session is complete
• Removes the overhead added by the debugger when using the Diagnostic Tools window
• Contains additional features like Application Timeline and Network Usage
• Tools can be combined by checking more than one box before you click Start so that you can
cross-correlate data and diagnose performance issues more effectively
• TIP: Try running in Release build mode to make sure the debugger is not the cause of your slow
downs
Demo
• Start Diagnostic Tools Without Debugging
Additional Diagnostic Tools
• IntelliTrace Standalone Collector
• Referred to as Non-Live Debugging, it is when your application executes without Visual Studio attached
• Application data is recorded to an .itrace file which can then be imported into VS for debugging
• Application Insights
• Allows you to monitor your deployed live applications through telemetry data stored in Azure
• Can understand how users use your apps
• Detect problems quicker and solve the right problems faster
• PerfView
• PerfView is a performance-analysis tool that helps isolate CPU and memory-related performance issues
• A standalone tool that goes deeper than Diagnostic Tools
Resources
• Visual Studio ALM Blog:
• http://bit.ly/1Msso3F
• Channel 9 Videos:
• http://bit.ly/1Le96gs
• http://bit.ly/1MNNJUk
• http://bit.ly/1MGWMuB
• MSDN Magazine Articles:
• http://bit.ly/1IZOds9
• http://bit.ly/1OJ3NgK
• Slides:
• slideshare.net/KenCenerelli
Summary
• Please fill out your surveys!
• Session Title: Analyze Your Code With Visual Studio 2015 Diagnostic Tools
• Contact Details:
• @KenCenerelli
• Ken_Cenerelli@Outlook.com

More Related Content

More from Ken Cenerelli

Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesKen Cenerelli
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureKen Cenerelli
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesKen Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Ken Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Ken Cenerelli
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentKen Cenerelli
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To UmbracoKen Cenerelli
 

More from Ken Cenerelli (7)

Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media Services
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile Services
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 Development
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To Umbraco
 

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Analyze Your Code With Visual Studio 2015 Diagnostic Tools

  • 1. Analyze Your Code With Visual Studio 2015 Diagnostic Tools Ken Cenerelli Microsoft MVP - .NET Platform
  • 2. About Me Ken Cenerelli CTTDNUG Twitter: @KenCenerelli Email: Ken_Cenerelli@Outlook.com Blog: kencenerelli.wordpress.com LinkedIn: linkedin.com/in/kencenerelli Bio:  Programmer Writer  Microsoft MVP - .NET Platform  Microsoft TechNet Wiki Guru  Co-Organizer of CTTDNUG  Technical reviewer for multiple books
  • 3. Typical Debugging Session 1. Realize there is a bug 2. Use best-guess scenario to place a breakpoint 3. Reproduce steps and hope your breakpoint is hit before bug appears 4. Breakpoint is hit, examine the code by stepping through 5. Root cause not identified 6. Repeat steps 2 thru 5 until bug is discovered
  • 4. Old Diagnostic Tools • In Visual Studio 2013, the tools were not well advertised • Tools like Memory Usage and CPU Usage were made available in the Performance and Diagnostics hub in VS 2013 Update 2 • They can be found by clicking on Performance and Diagnostics in the Debug or Analyze menu
  • 5. New Diagnostic Tools Window (aka Why Should I Care?) • Visual Studio 2015 brings Diagnostic Tools into the debugging experience when you hit F5 • The new window is active during the debugging session • It is designed to change your debugging workflow • You no longer have to create breakpoints, hit F5, wait for the breakpoint to be hit, and then check the locals window • You should now think, “What did IntelliTrace find?”
  • 6. Diagnostic Tools Window Components • IntelliTrace UI is revamped and now is in Diagnostic Tools Window • Memory and CPU usage graphs added • Take memory snapshots and time sections of code with PerfTips
  • 7. Supported SKUs • Diagnostic Tools can be found in the following Visual Studio editions: Visual Studio Community Visual Studio Professional Visual Studio Enterprise IntelliTrace ▪ Memory Usage ▪ ▪ ▪ CPU Usage ▪ ▪ ▪ PerfTips ▪ ▪ ▪
  • 8. Supported Project Types Diagnostic Tools are available in all the following project types: • Managed WPF, WinForms, and Console projects • Native Win32, Console, and MFC projects • ASP.NET projects running on a local IIS and IIS Express (including MVC & Web API) • Managed or Native Windows Store projects • Debugging sessions started using Debug > Attach to Process • Debugging apps running on remote desktop devices No support currently for the following projects: • Windows Store projects that are using JavaScript • Windows Store projects that are running on a Windows Phone • Debugging when Managed or Native Compatibility Mode is checked in Tools > Options > Debugging • Native Phone projects (Cordova, Xamarin)
  • 9. IntelliTrace • IntelliTrace is a recorder for your debugging sessions • It captures the call stack along with local variable info for that moment of time • You can go back in time with Historical Debugging • Captured events are represented on a timeline • The Events timeline is split into three tracks: Break Events, Output Events, and IntelliTrace Events • It provides the same events you would get from implementing extensive logging framework but without the work
  • 10. Memory Usage • Monitor memory usage of your app and take snapshots of your memory so that you can inspect the contents of the heap to find memory leaks • Includes memory allocated on both the managed and native heaps • Tied to the debugger your project is using (Managed Only, Native Only, or Mixed Mode) • Records only the time your application is running and filters out the time spent in break states • Can snapshot sections of your code before and after it is run • Heap analysis view for deeper investigation of the process memory by type
  • 11. CPU Usage • In many cases the CPU is the bottleneck when performance problems arise • It can be difficult to know where to start when you want to make your code run faster • Measures the CPU’s resources in terms of how much time each core in the CPU spends executing your code • Lets you see which of your functions are using the most CPU
  • 12. PerfTips • Provides timing of previously executed code blocks • No more Stopwatch.Start / Stopwatch.Elapsed • Works in all types of projects • Works with remote debugging in Azure • PerfTips discounts network latency issues when debugging on a remote machine • TIP: Take multiple measurements to discover the range and median values of the code being measured
  • 13. Demo • Diagnostic Tools Window • IntelliTrace Events • Memory Usage • CPU Usage • PerfTips
  • 14. Start Diagnostic Tools Without Debugging • Provides a true representation of your CPU and Memory • Full analysis only occurs after your profiling session is complete • Removes the overhead added by the debugger when using the Diagnostic Tools window • Contains additional features like Application Timeline and Network Usage • Tools can be combined by checking more than one box before you click Start so that you can cross-correlate data and diagnose performance issues more effectively • TIP: Try running in Release build mode to make sure the debugger is not the cause of your slow downs
  • 15. Demo • Start Diagnostic Tools Without Debugging
  • 16. Additional Diagnostic Tools • IntelliTrace Standalone Collector • Referred to as Non-Live Debugging, it is when your application executes without Visual Studio attached • Application data is recorded to an .itrace file which can then be imported into VS for debugging • Application Insights • Allows you to monitor your deployed live applications through telemetry data stored in Azure • Can understand how users use your apps • Detect problems quicker and solve the right problems faster • PerfView • PerfView is a performance-analysis tool that helps isolate CPU and memory-related performance issues • A standalone tool that goes deeper than Diagnostic Tools
  • 17. Resources • Visual Studio ALM Blog: • http://bit.ly/1Msso3F • Channel 9 Videos: • http://bit.ly/1Le96gs • http://bit.ly/1MNNJUk • http://bit.ly/1MGWMuB • MSDN Magazine Articles: • http://bit.ly/1IZOds9 • http://bit.ly/1OJ3NgK • Slides: • slideshare.net/KenCenerelli
  • 18. Summary • Please fill out your surveys! • Session Title: Analyze Your Code With Visual Studio 2015 Diagnostic Tools • Contact Details: • @KenCenerelli • Ken_Cenerelli@Outlook.com

Editor's Notes

  1. Diagnostic Tools mean tools that allow you to see historical information (data collected over time), as opposed to just a single moment in time (like when you are stopped at a live breakpoint). Debugging and Profiling are no longer two separate activities Eliminates the noise from the code that doesn’t interest you This can significantly reduce the amount of time it takes you to diagnose an issue
  2. All three boxes share a common timeline Can align events across all three graphs