DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework...

Preview:

Citation preview

DEV333Instrumenting Applications for

Manageability with the Enterprise Instrumentation FrameworkDavid KeoghProgram ManagerVisual Studio Enterprise Tools

Application Management Challenges

For the Support OrganizationApplication faults or issues often detected first by users

Support staff need structured application informationOften must parse error strings written to event log

Most tracing solutions are not intended for production apps

Distributed applications magnify these challengesEvents fired from an application across multiple servers are hard to correlate

Application Management Challenges

For the Development OrganizationNo unified instrumentation API

Developers are forced to use different eventing, tracing or logging solutions at various points in the application

Or more often, avoid instrumentation entirely

Firing an event must be as simple and low-profile as possible

Developers often forced to determine event routing within code

Enterprise InstrumentationGoals and Scenarios

Significantly improve enterprise customers’ ability to monitor and troubleshoot applications built on the .NET Framework

Integrate and unify disparate tracing, eventing and logging technologies

Integrate with existing management tools and products

Key ScenariosApplication Monitoring and Error Management

Local Diagnostic Tracing

Distributed Request Tracing

EIF Core Features

Unified Instrumentation APIUnified model for tracing, eventing and logging

Leverages WMI Infrastructure (System.Management.Instrumentation)

Structured WMI Event SchemaManageability-contract between dev, QA and support staff

Configurable At-Source Event FilteringFire via WMI, Event Log, Windows Event Trace

Minimal cost for leaving instrumentation in production build

High-speed Diagnostic TracingEnables problem-management for production applications

Enables tracing user “requests” along application business-processes or services

What Questions can EIF Answer?

What is the general health of the application? Are there unexpected errors or warnings being reported?What is happening inside specific business processes or application transactions?Given a specific error being logged, what happened before and after that event within the application?Is a particular application service taking too long to execute on average?

Simple Simple InstrumentationInstrumentation

demodemo

.NET Application

Instrumentation API

Event Filtering

WMIEventTrace

EventLog

TraceLog

EventLog

WMISubscriber

Con

fig

ura

tion

Event Schema

Application Object

Application Object

Event Source Event Source

Trace Reader

Single Application Server

Distributed .NET Application

Application Server Application Server

Event Source

Event Source

Event Routing

WMIEventTrace

EventLog

TraceLog

EventLog

WMISubscriber

TraceReader

Event Source

Event Source

Event Routing

WMIEventTrace

EventLog

TraceLog

EventLog

WMISubscribers

TraceReader

Management Server

Distributed Servers

Management Suite

Mgmt EventRepository

SQLTrace EventRepository

Standard Event Schema

Distributed Request Tracing

Enables tracing user requests through a distributed application

Trace business services of the application

Can flow across a distributed .NET application

Tracing is only activated only specific execution path

Events get tagged with request contextEven if no tracing session is enabled

Example: Errors subscribed to via WMI will have request-context

Trace-log Aggregation and AnalysisTrace-log aggregation not included with EIF

Trace Log Reader API provides a starting point for aggregation and analysis

Monitoring and Monitoring and Troubleshooting an Troubleshooting an Instrumented ApplicationInstrumented Application

demodemo

Extensibility and Automation

Custom Event SchemasCan build custom event schemas which are fired instead of, or in addition to the standard Event Schema

Custom Event SinksCan build custom event sinks

MSMQ, SQL Server (transacted logging), Additional eventing or logging mechanisms

Configuration APIScriptable API for all configuration operations

Trace-Log Reader APIScriptable API for reading trace-logs

Summary

Enterprise Instrumentation FrameworkSignificantly improves enterprise customers’ ability to monitor and troubleshoot .NET applications

Integrates and unifies disparate tracing, eventing and logging technologies

Integrates with existing management tools and products via WMI and the Windows Event Log

Provides a starting point for distributed trace-log aggregation and analysis

AvailabilityAvailable now for MSDN Enterprise and Universal Subscribers

Public newsgroup for EIF questions and discussions

Microsoft.Public.VSNet.Enterprise.Tools

Whitepapers coming soon!

Community Resources

Community Resources

Community Resourceshttp://www.microsoft.com/communities/default.mspx

Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/

NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx

User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx

evaluationsevaluations

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.