How Visual Studio Analyzer Works
Visual Studio Analyzer treats each event source as a component. By focusing on the interaction among the components in a distributed application, it creates a high-level representation of what is occurring in the application. For example, a Microsoft Visual Basic application might invoke a remote DCOM object and send SQL statements to a database server. The application, the DCOM object, and the server are components that Visual Studio Analyzer displays graphically.
Where two components interact (for example, the DCOM object and the database server), the interactions are events that Visual Studio Analyzer captures, saves in an event log, and presents to you in a view. Visual Studio Analyzer creates these views by monitoring your application as it runs, gathering information generated by COM+, ADO, and other Microsoft technologies, and then presenting that information to you. For more information on event logs and views, see Setting Up Performance Analysis.
Visual Studio Analyzer displays all the components and communications in your application, plots them in a diagram, and annotates the diagram with detailed information. Knowing how and what components are interacting in a distributed application is integral to your performance analysis. This high-level view gives you a detailed understanding of what is happening in an application.
The following figure illustrates the Component Diagram view. This view provides information about each component (each rectangle in the figure) as it was registered with Visual Studio Analyzer and maps these components within a view. The arrows represent application flow. For more information, see Views.
As a performance analysis tool, Visual Studio Analyzer focuses on a much higher level than a traditional profiling tool. It provides a complete view, at a central location, of all the components and communications in your application. It also provides you with different views to analyze the performance of an application. Each view contributes a different perspective in your analysis.
The following figure shows the Chart view, which displays events that are recorded in the left pane and event duration in the right pane. You can either analyze the events during run time, or you can wait until all the event data has been collected. This figure shows a series of events that took about two minutes to run.
Isolating faults typically involves both real time and postmortem analysis. You run the application, browse through the Visual Studio Analyzer views to understand what happened, and set breakpoints on individual lines of code with a traditional debugging tool. When your application reaches a breakpoint, it stops running. You then switch to Visual Studio Analyzer and play back what has happened so far. When you locate a possible problem within a single component, you switch to your traditional debugging tool to identify the problem.
As a debugging tool, Visual Studio Analyzer helps you locate which component is causing problems. It provides a complete view, at a central location, of all the components and communications in your application. You can watch your application run in real time, or you can record a session and play it back. At any point, you can request detailed information on a specific component. Using Visual Studio Analyzer in this way makes it easier for you to identify a problem component effectively and use your debugging resources efficiently.