Performance-Analyse mit dotTrace
dotTrace von der Firma JetBrains ist ein kostenpflichtiges Werkzeug zur Analyse der Performance von .NET-Anwendungen.
Aufzeichnen mit Console-Werkzeug
Für die Aufzeichnung von Sitzungen bietet JetBrains eine kostenlose Konsole-Anwendung (zur Download-Seite). Diese Aufzeichnung können mit der dotTrace-Anwendung analysiert werden.
Development-Broker aufzeichnen
Als erstes bauen Sie den Command-Line Befehl für die Aufzeichnung mit der dottrace.exe
zusammen.
Dazu verwenden sie am besten einen Text-Editor.
Wichtig ist, dass alle Argumente ohne Zeilen-Umbruch zusammengefügt werden müssen.
Folgende Argumente werden benötigt:
start
Es soll eine Anwendung gestartet werden--service-input=stdin
Die Aufzeichnung wird über die Console gesteuert. Weitere Erklärungen folgen unten.--profiling-type=Tracing
Dieser Aufzeichnungs-Modus protokolliert einzelne Methoden-Aufrufe und ermöglicht eine sehr detaillierte Auswertung sowohl über die Dauer als auch die Anzahl von Methoden-Aufrufen.--save-to=C:\temp\Profile\MyProfiling.dtp
Dort werden die Snapshots gespeichert. Werden mehrere Snapshots erzeugt erhalten diese den DateinamenMyProfiling-2.dtp
usw. Bei einer neuen Session muss ein abweichender Dateiname angegeben werden."--work-dir=C:\Program Files\Framework Systems\Framework Studio 4.3"
Das Programm-Verzeichnis von Framework Studio. Bitte auf die "Gänsefüßchen" achten. Die sind notwendig wegen der Leerzeichen im Pfad."C:\Program Files\Framework Systems\Framework Studio 4.3\FrameworkBrokerHostDev.exe"
- Exe-Datei für den Development-Broker--
Dieser Trenner muss zwingend vor die jetzt folgenden Argumente gepackt werden, weil diese ebenfalls--
enthalten.--devbroker -RepositoryName "FSDemoCustomize 4.3" -ApplicationPath ...
Das sind die Argumente des Development-Brokers. Diese erhalten sie folgendermaßen:- Aus der Framework Studio heraus die Application starten. Im System Tray wird das Icon für den Development-Broker angezeigt.
- Klicken Sie auf dieses Icon und rufen Sie den Menü-Punkt Copy Command Line Arguments auf.
- Fügen Sie alle Argumente aus der Zwischen-Ablage ein - bis auf das erste Argument - das ist der Name der Exe-Datei.
- Beenden sie die Application wieder, ansonsten funktioniert der anschließende Start nicht.
Ein kompletter Aufruf sieht dann z.B. so aus:
dottrace.exe start --service-input=stdin --profiling-type=Tracing --save-to=C:\temp\ProfileTest\MySnapshot.dtp "--work-dir=C:\FS\Framework Studio 4.3.0.0" "C:\FS\Framework Studio 4.3.0.0\FrameworkBrokerHostDev.exe" -- --devbroker -RepositoryName "FSDemoCustomize 4.3" -ApplicationPath "C:\FS\Compile43\NV281_1_FSDemo_43_FSDemoCustomize_4.3_user1" -ApplicationBinPath "C:\FS\Compile43\NV281_1_FSDemo_43_FSDemoCustomize_4.3_user1\bin" -ApplicationName "FSDemoApplication" -ApplicationConfig "C:\FS\Compile43\NV281_1_FSDemo_43_FSDemoCustomize_4.3_user1\FSDemoApplication.config" -Endpoint "http://localhost:8080/Dev/NV281_1_FSDemo_43_FSDemoCustomize_4.3_user1/FSDemoApplication/" -StartPageAddress "http://localhost:8080/Dev/NV281_1_FSDemo_43_FSDemoCustomize_4.3_user1/FSDemoApplication/start" -LoggingMode "3" -LoggingDir "C:\FS\Logging\*" -LoggingRequestFileName "% ? Request.xml" -LoggingResponseFileName "% ? Response.xml"
- Starten Sie die Console im dotTrace Ordner.
- Führen Sie den gerade zusammengestellten Befehl aus. Dabei wird der Application-Broker gestartet.
- Klicken Sie auf das System-Tray-Icon der Application und rufen Sie den Menüpunkt Open Client Start Page auf. Es wird die Start-Page angezeigt über die sie Application starten können.
DotTrace läuft jetzt in der Console und zeichnet den aktuellen Application-Broker auf. Sie können die Aufzeichnung durch Eingabe der folgenden Befehle steuern. Ein Befehl muss mit Enter bestätigt werden.
##dotTrace["drop"]
Stoppt die aktuelle Aufzeichnung ohne diese zu speichern. Vor allem direkt nach dem Start ist das sinnvoll, bis man sich an der gewünschten Stelle im Programm befindet.##dotTrace["start"]
Startet die Aufzeichnung##dotTrace["get-snapshot"]
Stoppt die Aufzeichnung und speichert diese ab. Während einer Session können mehrere Snapshots erzeugt werden. Diese werden mit fortlaufenden Nummern gespeichert.
Sind alle Aufzeichnungen fertig, dann kann die Anwendung beendet werden. Beenden sie den Application-Broker über das System-Tray-Icon. Läuft gerade eine Aufzeichnung, dann speichert dotTrace diese automatisch ab. Der Java-Client muss manuell beendet werden.
Die erzeugten Snapshots können jetzt inkl. der erzeugten .dtp.000
, .dtp.001
... Dateien für die Analyse verpackt werden.