Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligence - CNUG

Post on 06-May-2015

1.990 views 0 download

Tags:

description

Come see how PreEmptive Solutions built an editor extension for Visual Studio 2010 that provides in-line visualizations of usage and stability data collected from applications in production via Runtime Intelligence Services. Learn about the new code editor’s extensibility model, how to write editor extensions using the Managed Extensibility Framework, how to interact with the text buffer, how to create custom margins and Windows Presentation Foundation-based adornments, and how to distribute the extension.

Transcript of Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligence - CNUG

Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligence

Joe KuemerlePreEmptive Solutions, LLCwww.preemptive.com@jkuemerle @PreEmptive

Background of Joe Kuemerle

Lead Developer at PreEmptive Solutions Over 15 years of development experience with a

broad range of technologies Focused on application and data security, coding best

practices and regulatory compliance Presenter at user groups, code camps, CodeMash,

MSDN Developer Conference 2009 and devLink

PreEmptive Solutions, LLC Background

3,000 corporate clientsOver 40,000 registered installations in

100+ countries Dotfuscator has been included in

Visual Studio since 2003 Software is on over 6 million desktopsStarting in Visual Studio 2010,

Dotfuscator adds basic Runtime Intelligence

Helping Software Succeed

Agenda

Overview of Runtime Intelligence Visual Studio 2010 Editor Extension Walkthrough Visual Studio 2010 Editor Extension Code Q&A

Runtime Intelligence

Application, feature-usage, & environmental data collected from the field◦ Dotfuscator (Suite and CE in Visual Studio 2010) injects

instrumentation◦ Runtime Intelligence Service aggregates, analyzes and

distributes runtime intelligence data allowing you to make better decisions faster.

Application Analytics? CEIP!

What can you find out?

What’s running ◦ What applications, versions of applications, components and features

within applications, and methods within those features?

Under what conditions? ◦ What operating system and framework, cpu, memory, and disk capacity?

What about screen resolution or video chip?

How’s it doing?◦ How stable, what are the performance characteristics, what user patterns

and practices are emerging?

How does it compare?◦ Are new features being adopted, is the hosted version performing better

than the installed equivalent?

Is it making a difference?◦ What is the development ROI? Are sales increasing, productivity

improving, and satisfaction trending upwards?

Walkthrough

Arch Explorer Code Editor

Demo - Margin

Custom margin

Viewport tracking

Margin

MEF Export

Document Map And Method Tracking

Glyphs to track methods in the source

file

Data Management

Background Parsing

Adornments

Inline WPF control

adornment

Lightbox adornment for target method(s)

Adornment HandlingMEF Exports

Helping you build better software

What’s Running?

Application, Versions, Features, and Methods

How’s it Doing?

Stability, Performance, and Patterns / Practices

How’s it Compare

?

Hosted vs non-hosted, across application versions

Is it Making a Differenc

e?

Business Outcome, and R&D ROI

Beta Cycle

Measure stability and quality Measure usage, patterns and coverage Reduce end user burden and improve participation

Production Lifecycle

Automate end-user experience improvement program Measure business impact Measure and improve R&D ROI

Evaluation Process

Connect usage to sales cycle Manage de-activation and/or extension

References

Visual Studio SDK: http://msdn.com/vsx Visual Studio Blog: http://blogs.msdn.com/visualstudio VSX Samples: http://code.msdn.com/vsx Extensions Gallery:

http://visualstudiogallery.msdn.com/vsx WPF Data Visualization Toolkit: http://wpf.codeplex.com Managed Extensibility Framework:

http://mef.codeplex.com VS 2010 Editor Extension Demo:

http://rieditorextension.codeplex.com/ PreEmptive Solutions Blog:

http://www.preemptive.com/blog Runtime Intelligence Portal:

http://www.runtimeintelligence.com

References

Microsoft CEIP: http://www.microsoft.com/products/ceip/EN-US/default.mspx

Usefulness of CEIP for Office 2007: http://blogs.msdn.com/jensenh/archive/2006/04/05/568947.aspx

CEIP for Windows 7: http://arstechnica.com/microsoft/news/2009/10/windows-7-had-8-million-testers-biggest-beta-ever.ars

PreEmptive Runtime Intelligence: http://www.preemptive.com/products/runtime-intelligence/overview

PreEmptive CEIP: http://www.preemptive.com/solutions/ceip/overview

Feedback?

Twitter: @jkuemerle

Email: jkuemerle@preemptive.com

SpeakerRate: http://speakerrate.com/jkuemerle