• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
 

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

on

  • 442 views

 

Statistics

Views

Total Views
442
Views on SlideShare
442
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDemystifying Visual Studio2012 Performance ToolsMartin Kulov, kulovvnet
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileHuge thanks to our sponsors!
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesYou cannot manage,What you do not measure
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesYou cannot Improve,What you do not measure
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileOperating SystemTrace AnalysisHDD RAM CPU LANWin32 APICLR WinRTCPUCountersCOMOur code
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &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 technologiesDevelopment &MobileOperating SystemTrace AnalysisHDD RAM CPU LANWin32 APICLR WinRTWindowsPerfCountersCPUCountersCOMOur code
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &Mobile• They are …counters• Min interval – 1sec• Apps and kernel send Increment signals• Accessed by Windows APIWindows Performance Counters
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesPerf Counters Demo
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileOperating SystemTrace AnalysisHDD RAM CPU LANWin32 APICLR WinRTWindowsPerfCountersCPUCountersEventTracingforWindowsCOMOur code
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &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 technologiesDevelopment &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 technologiesDevelopment &MobileETW Application Providers• Windows Firewall• WLAN, LAN• USB, Bluetooth• IIS, ASP.NET, CLR, HTTP.SYS• Security• … many more
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesETW Demo
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &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 technologiesDevelopment &MobileConcurrency Visualizer• Utilization• Threads• Cores• Stack Walking
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileOperating SystemTrace AnalysisHDD RAM CPU LANWin32 APICLR WinRTWindowsPerfCountersCPUCountersEventTracingforWindowsCOMOur codeProfiler
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileProfiler• Instrumentation• Sampling• Concurrency• Stack Walking
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &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 technologiesDevelopment &MobileInstrumentation• Profiler based• Requires full code recompilation• Best during development phase• Complete execution path
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &MobileSampling• Profiler based• Data collection on sample intervals• Suitable for long runs• Call Stack
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesDevelopment &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 technologiesDevelopment &MobileProfiling extras• GC, Allocation• Tier Interaction• JavaScript• Production use• Licensing
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesProfiler Demo
    • itcampro@ itcamp13# Premium conference on Microsoft technologiesQ & Ablog.kulov.net@kulov