MAXIM GOLDIN Senior Developer, Microsoft

26
msdevcon.ru #msdevcon

description

ИЗ ПЕРВЫХ РУК: КАК СДЕЛАТЬ ВАШ КОД БЫСТРЫМ ПРОФАЙЛИНГ КЛИЕНТСКИХ И СЕРВЕРНЫХ ПРИЛОЖЕНИЙ В VISUAL STUDIO 2012. MAXIM GOLDIN Senior Developer, Microsoft. Agenda. ASP.NET Profiling in Production Profiler installation Command line tools Profiling of Client Applications Remote Profiling - PowerPoint PPT Presentation

Transcript of MAXIM GOLDIN Senior Developer, Microsoft

Page 1: MAXIM GOLDIN Senior Developer, Microsoft

msdevcon.ru #msdevcon

Page 2: MAXIM GOLDIN Senior Developer, Microsoft

ИЗ ПЕРВЫХ РУК: КАК СДЕЛАТЬ ВАШ КОД БЫСТРЫМПРОФАЙЛИНГ КЛИЕНТСКИХ И СЕРВЕРНЫХ ПРИЛОЖЕНИЙ В VISUAL STUDIO 2012

MAXIM GOLDIN

Senior Developer, Microsoft

Page 3: MAXIM GOLDIN Senior Developer, Microsoft

AgendaASP.NET Profiling in Production

Profiler installation

Command line tools

Profiling of Client Applications Remote Profiling

HTML UI Responsiveness

Visual Studio JavaScript Instrumentation Profiler

Performance Analyzer for HTML5 Apps

JavaScript Memory Profiler

Page 4: MAXIM GOLDIN Senior Developer, Microsoft

Challenges in ProductionCan’t reproduce the issue in a development environment

Can’t run Visual Studio on the production machine

Possibly very limited developer access to production machines

Want to minimize impact to the server Performance

Availability

Security

Page 5: MAXIM GOLDIN Senior Developer, Microsoft

ASP.NET Profiling in productionRemote Tools

http://www.microsoft.com/en-us/download/details.aspx?id=38184

Standalone Profiler Installation media: vs_profiler.exe

Installed VS:

Page 6: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

ASP.NET INSTRUMENTATION PROFILINGIN PRODUCTION

Page 7: MAXIM GOLDIN Senior Developer, Microsoft

ASP.NET Profiling in production Install Profiler

Remote Tools or Standalone Profiler

Use command line tools to collect data vsinstr.exe, VSPerfASPNetCmd.exe

Bring results back and analyze in VS

Page 8: MAXIM GOLDIN Senior Developer, Microsoft

AgendaASP.NET Profiling in Production

Profiler installation

Command line tools

Profiling of Client Applications Remote Profiling

HTML UI Responsiveness

Visual Studio JavaScript Instrumentation Profiler

Performance Analyzer for HTML5 Apps

JavaScript Memory Profiler

Page 9: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

REMOTE PROFILINGWINDOWS STORE APPS

Page 10: MAXIM GOLDIN Senior Developer, Microsoft

Remote ProfilingSupport for Windows Store Applications

Auto-deployment of the app

Requires elevation approval

Page 11: MAXIM GOLDIN Senior Developer, Microsoft
Page 12: MAXIM GOLDIN Senior Developer, Microsoft

HTML UI Responsiveness toolShows work being done by subsystems of Internet Explorer related to UI

Helps to identify app startup performance and low frames per second caused by

Content loading

Layouts/CSS calculation

Script execution/garbage collection

Network latency

Overdrawing

Being added in VS 2012 Update #2

Page 13: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

HTML UI RESPONSIVENESS TOOL

Page 14: MAXIM GOLDIN Senior Developer, Microsoft

Visual Studio JavaScript Profiler Instrumentation-based profiling

Records how long every method takes to execute

Records exact counts of method calls

Only shows JavaScript execution time Does not show work done by other systems (e.g., rendering

or layout)

Page 15: MAXIM GOLDIN Senior Developer, Microsoft

Profiler Terminology Inclusive time: The total amount of time from when the function was entered until the function exited

Includes the total time spent in all child functions

Exclusive time: The amount of time spent executing code in just the function body

Does NOT include time spent in child function

Page 16: MAXIM GOLDIN Senior Developer, Microsoft

Inclusive and Exclusive timefunction Alpha(){

Beta();}

function Beta(){

}

30 ms

50 ms

Exclusive Inclusive

Alpha 30 80

Beta 50 50

Page 17: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

JAVA SCRIPT PRPOFILER

Page 18: MAXIM GOLDIN Senior Developer, Microsoft

Performance Analyzer for HTML5 AppsWalks you through testing your application

Generates a report measuring 13 tenets of performance

Installs with the Windows 8 SDKActivation time Memory leaks

UI responsiveness Idle state CPU usage

Layout passes Successful suspend

Synchronous XMLHttpRequest on UI thread Memory reduction when suspended

Image scaling App memory growth

Memory footprint Runtime broker memory growth

Runtime broker memory reference set

Page 19: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

PERFORMANCE ANALYZER FOR HTML5 APPS

Page 20: MAXIM GOLDIN Senior Developer, Microsoft

JavaScript Memory Profiler Identify unintentionally retained memoryand inefficient use of memory

Snapshot-based tool

Shows JavaScript and DOM elements Size

Counts

Reference graph

Page 21: MAXIM GOLDIN Senior Developer, Microsoft

Memory terminologySize: How large the object is in memory

Retained Size: The amount of memory that the object is preventing the garbage collector from reclaiming

Includes the size of the object

Includes the size of all referenced objects (and any objects they reference) that the current object is the only parent of in the memory graph

Page 22: MAXIM GOLDIN Senior Developer, Microsoft

Size and retaines size

Size Retained Size

Object A

Object B

Object C

Object D

500 KB 500 KB

100 KB 600 KB

Object A (100 KB)

Object B (500 KB)

Object C (50 KB)

Object D (100 KB)

50 KB

100 KB

50 KB

100 KB

Object A (100 KB)

Object B (500 KB)

600 KB

Page 23: MAXIM GOLDIN Senior Developer, Microsoft

DEMO

JAVA SCRIPT MEMORY PROFILER

Page 24: MAXIM GOLDIN Senior Developer, Microsoft

AgendaASP.NET Profiling in Production

Profiler installation

Command line tools

Profiling of Client Applications Remote Profiling

HTML UI Responsiveness

Visual Studio JavaScript Instrumentation Profiler

Performance Analyzer for HTML5 Apps

JavaScript Memory Profiler

Page 25: MAXIM GOLDIN Senior Developer, Microsoft

More Info, Request Features

Maxim Goldin : [email protected]

ALM Team Blog: http://blogs.msdn.com/b/visualstudioalm

Uservoice site: http://visualstudio.uservoice.com

Page 26: MAXIM GOLDIN Senior Developer, Microsoft

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