SlideShare a Scribd company logo
1 of 25
itcampro@ itcamp13# Premium conference on Microsoft technologies
Demystifying Visual Studio
2012 Performance Tools
Martin Kulov, kulovvnet
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileHuge thanks to our sponsors!
itcampro@ itcamp13# Premium conference on Microsoft technologies
You cannot manage,
What you do not measure
itcampro@ itcamp13# Premium conference on Microsoft technologies
You cannot Improve,
What you do not measure
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
Operating System
Trace Analysis
HDD RAM CPU LAN
Win32 API
CLR WinRT
CPU
Counters
COM
Our code
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCPU Counters
• Hardware events – portable and platform
– Instructions Retired
– Non Halted Cycles
– ITLB Misses
– Branches Retired
– Mis-predicted Branches
– L2 Cache Read Misses
– L2 Cache Read References
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
Operating System
Trace Analysis
HDD RAM CPU LAN
Win32 API
CLR WinRT
Windows
Perf
Counters
CPU
Counters
COM
Our code
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• They are …counters
• Min interval – 1sec
• Apps and kernel send Increment signals
• Accessed by Windows API
Windows Performance Counters
itcampro@ itcamp13# Premium conference on Microsoft technologies
Perf Counters Demo
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
Operating System
Trace Analysis
HDD RAM CPU LAN
Win32 API
CLR WinRT
Windows
Perf
Counters
CPU
Counters
Event
Tracing
for
Windows
COM
Our code
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileEvent Tracing for Windows
• General purpose, high speed tracing
• Buffering and logging in kernel
• Faster than printf
– 20,000 events per second while only using 5% CPU load on a P3 500MHz!
• Provider, Consumer, Controller model
• Over 700 providers in Win7, ~900 in Win8!
• Aggregates all sources
• Stack walking (on kernel events)
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileETW Kernel Providers
• Hardware Configuration Events
• Disk-level I/O
• File-level I/O
• Image Layouts
• Page Faults
• Network I/O
• Registry I/O
• Process and Thread info
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileETW Application Providers
• Windows Firewall
• WLAN, LAN
• USB, Bluetooth
• IIS, ASP.NET, CLR, HTTP.SYS
• Security
• … many more
itcampro@ itcamp13# Premium conference on Microsoft technologies
ETW Demo
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileSide note: Symbols
• _NT_SYMBOL_PATH=SRV*c:mss*http://msdl.
microsoft.com/download/symbols
• Call stack information
• Private managed code fields
• Link to source code repository
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileConcurrency Visualizer
• Utilization
• Threads
• Cores
• Stack Walking
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
Operating System
Trace Analysis
HDD RAM CPU LAN
Win32 API
CLR WinRT
Windows
Perf
Counters
CPU
Counters
Event
Tracing
for
Windows
COM
Our code
Profiler
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileProfiler
• Instrumentation
• Sampling
• Concurrency
• Stack Walking
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileProfiler setup
• There can be only one
• Uses environment variables
– COR_ENABLE_PROFILING
– COR_PROFILER
– COR_XXX…
• Profiler API
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileInstrumentation
• Profiler based
• Requires full code recompilation
• Best during development phase
• Complete execution path
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileSampling
• Profiler based
• Data collection on sample intervals
• Suitable for long runs
• Call Stack
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileConcurrency
• Show resource contention
• Based on Detours
• Microsoft Research project now sold for $10k
• http://research.microsoft.com/en-us/projects/detours/
• Stack Walking
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileProfiling extras
• GC, Allocation
• Tier Interaction
• JavaScript
• Production use
• Licensing
itcampro@ itcamp13# Premium conference on Microsoft technologies
Profiler Demo
itcampro@ itcamp13# Premium conference on Microsoft technologies
Q & A
blog.kulov.net
@kulov

More Related Content

Viewers also liked

ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure ApplicationsITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
ITCamp
 

Viewers also liked (8)

ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure ApplicationsITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
 
Emerging Experiences - More Personal Computing (MPC) - Tim Huckaby
Emerging Experiences - More Personal Computing (MPC) - Tim HuckabyEmerging Experiences - More Personal Computing (MPC) - Tim Huckaby
Emerging Experiences - More Personal Computing (MPC) - Tim Huckaby
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
 
Component Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanComponent Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex Moldovan
 
Nano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerNano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas Maurer
 
A new world of possibilities for contextual awareness with beacons - Dan Arde...
A new world of possibilities for contextual awareness with beacons - Dan Arde...A new world of possibilities for contextual awareness with beacons - Dan Arde...
A new world of possibilities for contextual awareness with beacons - Dan Arde...
 
Execution Plans in practice - how to make SQL Server queries faster - Damian ...
Execution Plans in practice - how to make SQL Server queries faster - Damian ...Execution Plans in practice - how to make SQL Server queries faster - Damian ...
Execution Plans in practice - how to make SQL Server queries faster - Damian ...
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 

Similar to ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools

ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp
 
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows AdministratorsITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
ITCamp
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
ITCamp
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp
 
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game developmentITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
ITCamp
 
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - KeynoteITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp
 
ITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
ITCamp 2013 - Andy Cross - Broadcasting Music from the CloudITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
ITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
ITCamp
 
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp
 
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp
 

Similar to ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools (20)

ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystems
 
Developing for Windows Phone 8.1
Developing for Windows Phone 8.1Developing for Windows Phone 8.1
Developing for Windows Phone 8.1
 
Developing for Windows Phone 8.1 (Dan Ardelean)
Developing for Windows Phone 8.1 (Dan Ardelean)Developing for Windows Phone 8.1 (Dan Ardelean)
Developing for Windows Phone 8.1 (Dan Ardelean)
 
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows AdministratorsITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
 
Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)
Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)
Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
 
How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
 
Database and Public EndPoints Redundancy on Azure (Radu Vunvulea)
Database and Public EndPoints Redundancy on Azure (Radu Vunvulea)Database and Public EndPoints Redundancy on Azure (Radu Vunvulea)
Database and Public EndPoints Redundancy on Azure (Radu Vunvulea)
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to Azure
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
 
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game developmentITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
ITCamp 2011 - Catalin Zima - Common pitfalls in Windows Phone 7 game development
 
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - KeynoteITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
 
ITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
ITCamp 2013 - Andy Cross - Broadcasting Music from the CloudITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
ITCamp 2013 - Andy Cross - Broadcasting Music from the Cloud
 
Broadcasting music from the cloud
Broadcasting music from the cloudBroadcasting music from the cloud
Broadcasting music from the cloud
 
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
 
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
 

More from ITCamp

ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp
 

More from ITCamp (20)

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools

  • 1. itcampro@ itcamp13# Premium conference on Microsoft technologies Demystifying Visual Studio 2012 Performance Tools Martin Kulov, kulovvnet
  • 2. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileHuge thanks to our sponsors!
  • 3. itcampro@ itcamp13# Premium conference on Microsoft technologies You cannot manage, What you do not measure
  • 4. itcampro@ itcamp13# Premium conference on Microsoft technologies You cannot Improve, What you do not measure
  • 5. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile Operating System Trace Analysis HDD RAM CPU LAN Win32 API CLR WinRT CPU Counters COM Our code
  • 6. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCPU Counters • Hardware events – portable and platform – Instructions Retired – Non Halted Cycles – ITLB Misses – Branches Retired – Mis-predicted Branches – L2 Cache Read Misses – L2 Cache Read References
  • 7. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile Operating System Trace Analysis HDD RAM CPU LAN Win32 API CLR WinRT Windows Perf Counters CPU Counters COM Our code
  • 8. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • They are …counters • Min interval – 1sec • Apps and kernel send Increment signals • Accessed by Windows API Windows Performance Counters
  • 9. itcampro@ itcamp13# Premium conference on Microsoft technologies Perf Counters Demo
  • 10. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile Operating System Trace Analysis HDD RAM CPU LAN Win32 API CLR WinRT Windows Perf Counters CPU Counters Event Tracing for Windows COM Our code
  • 11. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileEvent Tracing for Windows • General purpose, high speed tracing • Buffering and logging in kernel • Faster than printf – 20,000 events per second while only using 5% CPU load on a P3 500MHz! • Provider, Consumer, Controller model • Over 700 providers in Win7, ~900 in Win8! • Aggregates all sources • Stack walking (on kernel events)
  • 12. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileETW Kernel Providers • Hardware Configuration Events • Disk-level I/O • File-level I/O • Image Layouts • Page Faults • Network I/O • Registry I/O • Process and Thread info
  • 13. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileETW Application Providers • Windows Firewall • WLAN, LAN • USB, Bluetooth • IIS, ASP.NET, CLR, HTTP.SYS • Security • … many more
  • 14. itcampro@ itcamp13# Premium conference on Microsoft technologies ETW Demo
  • 15. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileSide note: Symbols • _NT_SYMBOL_PATH=SRV*c:mss*http://msdl. microsoft.com/download/symbols • Call stack information • Private managed code fields • Link to source code repository
  • 16. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileConcurrency Visualizer • Utilization • Threads • Cores • Stack Walking
  • 17. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile Operating System Trace Analysis HDD RAM CPU LAN Win32 API CLR WinRT Windows Perf Counters CPU Counters Event Tracing for Windows COM Our code Profiler
  • 18. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileProfiler • Instrumentation • Sampling • Concurrency • Stack Walking
  • 19. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileProfiler setup • There can be only one • Uses environment variables – COR_ENABLE_PROFILING – COR_PROFILER – COR_XXX… • Profiler API
  • 20. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileInstrumentation • Profiler based • Requires full code recompilation • Best during development phase • Complete execution path
  • 21. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileSampling • Profiler based • Data collection on sample intervals • Suitable for long runs • Call Stack
  • 22. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileConcurrency • Show resource contention • Based on Detours • Microsoft Research project now sold for $10k • http://research.microsoft.com/en-us/projects/detours/ • Stack Walking
  • 23. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileProfiling extras • GC, Allocation • Tier Interaction • JavaScript • Production use • Licensing
  • 24. itcampro@ itcamp13# Premium conference on Microsoft technologies Profiler Demo
  • 25. itcampro@ itcamp13# Premium conference on Microsoft technologies Q & A blog.kulov.net @kulov