Date post: | 13-Jan-2016 |
Category: |
Documents |
Upload: | james-randall |
View: | 212 times |
Download: | 0 times |
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.