Techniques for gathering execution information about an application, such
as a distributed application, are described. Key communication points in
cross execution context calls, such as remote procedure calls, are
determined and control is transferred to instrumentation routines to
insert and extract execution information. Outgoing remote procedure calls
are intercepted on a client that inserts call origin information into the
request sent to a server system. Messages received by a server are
intercepted. The server system extracts the call origin information and
additionally inserts other information in a response sent to the client
system upon completion of a remote procedure call. In turn, the client
system intercepts the response and extracts other performance information.
On each client and server system, information is gathered by a reader and
forwarded to a local collector. This information may be further forwarded
to and correlated by a client collector from one or more remote server
collectors in accordance with processes of each distributed application.
Various statistics for a distributed application may be determined in
addition to per process statistics. These include wire time, code coverage
as related to the distributed application, remote procedure call tracing,
and performance profiling. A variety of techniques are described to obtain
program execution information in connection with an executing application
including instrumentation techniques and use of a debugger interface to
obtain profiling and other execution information. All of the program
execution data may be collected and correlated at one or more particular
points using other techniques described to represent coordinated
application monitoring.
Techniken für die Erfassung von von Durchführung Informationen über eine Anwendung, wie eine verteilte Anwendung, werden beschrieben. Schlüsselansprechstellen in den Kreuzdurchführung Kontextanrufen, wie Remoteverfahren Anrufen, werden festgestellt und Steuerung wird auf Instrumentenausrüstung Programme zu den Einsatz- und Extraktdurchführung Informationen gebracht. Abgehende Remoteverfahren Anrufe werden auf einem Klienten abgefangen, der Anrufursprung Informationen in den Antrag einsetzt, der zu einem Bedienersystem geschickt wird. Die Anzeigen, die durch einen Bediener empfangen werden, werden abgefangen. Das Bedienersystem extrahiert die Anrufursprung Informationen und setzt zusätzlich andere Informationen in einer Antwort ein, die zum Klient System nach Beendigung eines Remote Procedure Call geschickt wird. Der Reihe nach fängt das Klient System die Antwort ab und extrahiert andere Leistung Informationen. Auf jedem Klient und Bedienersystem werden Informationen von einem Leser erfaßt und nachgeschickt zu einem lokalen Kollektor. Diese Informationen können zu weiter nachgeschickt werden und durch einen Klient Kollektor von einem oder mehr Remotebedienerkollektoren in Übereinstimmung mit Prozessen jeder verteilten Anwendung aufeinander bezogen werden. Verschiedene Statistiken für eine verteilte Anwendung können zusätzlich pro zu den Prozeßstatistiken festgestellt werden. Diese schließen Leitung Zeit, Codedeckung bezüglich der verteilten Anwendung, Remote Procedure Callverfolgung und Leistung das Profilieren ein. Eine Vielzahl von Techniken wird beschrieben, um Ablauf des Programmsinformationen in Zusammenhang mit einer Durchführung Anwendung einschließlich Instrumentenausrüstung Techniken und Gebrauch von einer Debuggerschnittstelle einzuholen, die profilierenden und anderen Durchführung Informationen einzuholen. Alle Ablauf des Programmsdaten können bei einem oder mehr bestimmten Punkten mit anderen Techniken gesammelt werden und aufeinander bezogen werden, die beschrieben werden, um die koordinierte Anwendung Überwachung darzustellen.