Thomas Wölfers Baustatik-Blog

Thomas Wölfers Baustatik Blog

Der dotTrace 2 Profiler von JetBrains


Seit Jahren suche ich einen Profiler, mit dem es tatsächliche möglich ist, unsere Anwendungen zu untersuchen. Das Problem: Bei allen die ich mir in den letzten Jahren angesehen habe, gab es Ärger. Entweder, das Programm wurde im Profiler derartig langsam, das man schlicht nicht mehr damit arbeiten konnte. Andere Profiler stürzten schon beim laden des Programms ab, oder versagten sonst wie Ihren Dienst. Mit einem Wort: Unsere Anwendungen waren einfach zu groß, als das man sie vernünftig mit einem Profiler unter die Lupe nehmen konnte.

 

Ende letzten Jahres bin ich zufällig über den dotTrace Profiler von JetBrains gestolpert – und war begeistert. Nun arbeite ich seit einigen Wochen regelmäßig damit, und an meiner ursprünglichen Meinung hat sich nichts geändert. Wer einen guten Profiler für .NET Anwendungen sucht, der ist mit dotTrace gut bedient.

 

Der Profiler kommt mit dem .NET Framework 1.1 und 2.0 klar und kann sowohl fürs profilen der Performance, als auch fürs profilen der Speicherverwendung benutzt werden. Das Programm läuft mit normalen Windows Clients, mit ASP.NET Anwendungen und mit Windows Services. (Ich habe bisher nur den Performance und Speicherteil für Windows Clients benutzt.)

 

Das Programm ist extrem einfach zu bedienen: Ich bin damit sofort klargekommen, ohne auch nur eine Zeile Dokumentation zu lesen. Das Performance-Profiling kann man zu einem beliebigen Zeitpunkt starten und beenden: Man lädt also das zu untersuchende Programm in den Profiler, und startet zu einem beliebigen Zeitpunkt die Traces. Zu einem späteren Zeitpunkt hält man die Traces wieder an, und erhält dann einen Snapshot. Dabei kann man pro Programmlauf auch mehrere Snapshots machen, und das Tracing auf Wunsch auch schon beim Programmstart einschalten. Letzteres ist praktisch, wenn man Performance-Probleme beim laden der Anwendung hat.

 

Als Ergebnis bekommt man in einem Snapshot einen Baum, in dem die Zeiten und prozentualen Anteile pro aufgerufener Funktion enthalten sind – und zwar getrennt nach Threads. Zusätzliche gibt es diverse Möglichen die Anzeige zu verbessern – so kann man zum Beispiel Funktionen aus bestimmten Namespaces ausfiltern.

 

Alles in allem ist der dotTrace Profiler für mich ein wirklich gelungenes Werkzeug: Ich kann jedermann nur empfehlen, die eigene Anwendung zumindest einmal durch die Testversion von dotTrace 2 zu jagen.


Ein paar Bücher


Bin nach einer Woche Oberhausen wieder zurück in München. Oberhausen ist eigentlich immer ein bisschen anstrengend, dafür gibts aber auf der An- und Abreise und Abends immer viel Zeit zu lesen. Diesmal:

Terry Pratchett: Klonk - Wie immer bei Pratchett sehr lesenswert und unterhaltsam. Kann ich empfehlen.
Michael Crichton: Next - Habe schon spannendere Bücher von dem Mann gelesen, schlecht ist es aber nicht - auch wenn er sich mit sprechenden Affende und ein paar anderen Dingen doch ein wenig vergallopiert. (Andererseite: Verglichen mit den Dinos die er ja auch schon hatte - vielleicht doch nicht ganz so sehr.)
Kathy Reichs: Totenmontag. Krimi über eine forensische Anthropologin. Man muss so einn Zeug mögen, um das Buch zu mögen. CSI Fans werden es lieben, ansonsten eher nichtssagend.
Peter James: Stirb ewig. Habe ich erst heute am Flughafen angefangen und kenne daher erst die Hälfte - will also nichts abschliessendes sagen. Die Idee hinter der Story ist auf jeden Fall lustig - auch wenn ich gerade den Eindruck habe, das es jetzt langsam doch ein bisschen abgedroschen wird. Die erste Hälfte war aber sehr kurzweilig.

... Und ab morgen gibts auch wieder "richtige" Blogeinträge...


Rechnen mit dem Faltwerksprogramm


Was wir irgendwie nicht so richtig kommuniziert haben: Mit dem Faltwerksprogramm kann man nicht nur reine Faltwerke rechnen - sondern auch ganz normale räumliche Rahmen. Und ebene Rahmen. Und ganz normale ebene Platten. Und Scheiben. Es lohnt sich wirklich, das einmal auszuprobieren... Momentan gibt es nur eine Beta-Version, das wird sich gegen Ende März aber ändern: Dann wird es die erste "fertige" Version davon geben.


Beunruhigend...


Kernel Mode Rootkits.

Davon ab: Heute hats 8 Grad, die Sonne scheint. Die Frisur wird also halten, und vermutlich wird mein Flug nach Düsseldorf auch nicht wieder mehrere Stunden Verspätung haben... :-)


Ein bisschen Reklame


In der aktuellen dotnetpro gibts einen kleinen Artikel von mir. Thema: Nutzerverwaltung für Websites mit .Net 2. Zum Artikel dazu gibts auch den (C#) Quellcode für eine Userverwaltung, die man selbst einsetzen kann.


Neue Updates verfügbar


Ab sofort sind neue Updates für einige unserer Statikprogramme im Download-Bereich verfügbar. Diesmal: Das Plattenprogramm Xpla, der Spannbetonbinder Xvos, die Winkelstützmauer Xwin und der Durchlaufträger Xdur.

Details dazu wie immer im Updateprotokoll.