Der dotTrace 2 Profiler von JetBrains

28. Februar 2007 17:25

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.

Operating System Vulnerability Scorecard

28. Februar 2007 16:20

Ein paar Bücher

27. Februar 2007 14:11

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

23. Februar 2007 09:25

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...

22. Februar 2007 10:06

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

20. Februar 2007 18:51

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.

Virtual PC 2007: Jetzt fertig

19. Februar 2007 18:54

Ab sofort zu haben: Die fertige Version von Virtual PC 2007. Kostenloser Download hier.

Windows Vista von USB-Stick booten

18. Februar 2007 18:45

Praktische Sache: Anleitung hier.

Neue Updates verfügbar

16. Februar 2007 12:03

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.

Sysinternal Tools jetzt als Gesamtpaket zu haben

16. Februar 2007 11:06

Kostenloser Download der Tools von Mark Russinovich: Sysinternal Suite

Unterhaltung fürs Wochenende

16. Februar 2007 11:04

Spassig: Age-o-matic
Immer wieder unterhaltsam: Improbable Research
Trailer: Terry Gilliam - Tideland

 

Lesenswertes über Vista

15. Februar 2007 11:30

Joanna Rutkowska: UAC in Windows Vista

Mein kleiner Kampf gegen Spam

13. Februar 2007 18:22
Als eMail-Server benutzen wir den MDaemon von Alt-N. Ich bin mit dem Programm sehr zufrieden, und habe erst heute ein neues Update installiert. Der MDaemon hat diverse eingebaute Mechanismen fürs filtern von Viren, Spam- und Phishing-Mails. Eines davon ist die "Spam-Trap". Die Idee dabei ist relativ einfach: Man richtet eine (oder mehrere) eMail-Adressen ein, die ausdrücklich nicht dafür gedacht sind, verwendet zu werden: Es gibt also keine Person und auch keinen Dienst, der zu dieser Adresse gehört.

Dann publiziert man diese Adresse: Zum Beispiel, indem man See auf einer öffentlichen Webseite oder in einer Newsgroup postet. Spammer sammeln an solchen Stellen Adressen ein - jede Mail die an eine solche Adresse geschickt wird, ist also mit absoluter Sicherheit Spam. Geht also eine solche Mail ein, kann man sie zum Beispiel dafür benutzen, den Anti-Spam Engine zu trainieren. Außerdem kann man den absendenden Host zumindest für eine Zeitlang blockieren, also keine weiteren Kontaktaufnahmen mehr zulassen (bzw: in extrem verlangsamter Form zulassen.)

Feine Sache - und ich habe dieses Feature auch schon eine ganze Weile genutzt. Heute ist mir aber eine Nette Idee gekommen: Die Spammer versenden Ihre Mails ja ohnehin an mehr oder minder willkürliche Adressen. Statt also selbst eine oder mehrere Spamtrap-Adressen zu publizieren - warum nicht einach die "falschen" Adressen einsammeln, die die Spammer sowieso verwenden. Daraus resultierte das Programm SpamTrapHarvester: Man kann damit relativ einfach SpamTrap-Adressen einsammeln, indem man mit dem Programm die SMTP-(in) Logfiles des MDaemon auswertet.

spamtrap_harvester.jpg

Wer mag, kann sich das Programm hier runterladen. Im Zip-File befinden sich zwei weitere Zip-Dateien: Die eine enthält den Quellcode (C#, .Net 2.0, VS 2005), die andere das .EXE-File (braucht .Net 2.0).

So ist die Sache zu bedienen:

Nach dem Programmstart bekommt man ein Fenster. Links ist eine leere Listbox, rechts ist eine Textbox. In der Textbox gibt man nun die Namen der Domains ein, die man auf seinem MDaemon-Server betreibt. (Das Programm filtert nur Mail-Adressen heraus, die zu den angegebenen Domains gehören.). Dann lädt man sich eine oder mehrere der SMTP-(in) Logfiles von MDaemon herunter. Die kann man dann hintereinander per Drag&Drop auf das Programmfenster ziehen: Das Programm zeigt dann eine Liste aller Mail-Adressen an, an die es einen Zustellversuch gab. Die Liste ist nach Häufigkeit der Zustellversuche sortieren, die Anzahl der Versuche wird mit ausgegeben.

Mit dieser Liste ausgestattet ist es dann extrem einfach, den MDaemon Pool an SpamTrap - Adressen aufzufüllen.

spamtrap_harvester.zip (27.04 KB)

Die Zukunft von C++

9. Februar 2007 10:32

Unterhaltung fürs Wochenende

9. Februar 2007 10:31

Endlich zu haben: Die komplette MacGyver-Ausrüstung
Endlich erklärt: Warum man im Zoo nicht so nah an den Zaun soll.
Endlich ausprobiert: Wie Spinnen auf Drogen reagieren.

Network Monitor 3 ab sofort verfügbar

8. Februar 2007 11:12

Als kostenloses Download bei Microsoft Connect. Version 3 des Netzwerk-Monitors gibts als x86 und x64 Version - und beide laufen auch unter Vista.

Komische Suchen: z.B. der "Crack" für den Windows Defender

6. Februar 2007 15:15

Wenn jemand über eine Suche auf einem Searchengine hier im Blog landet, dann kann ich am nächsten Tag im Logfile sehen, wonach gesucht wurde. Und da kommen immer wieder lustige Dinge ans Licht: Aus unbekannten Gründen suchen auf jeden Fall irre viele Leute nach "Cracks". Warum irgend jemand glaubt in dieser Richtung bei mir fündig zu werden ist mir zwar ein Rätsel, aber darauf wollte ich eigentlich gar nicht hinweisen.

Was mich bei diesen Suchen oft erheitert ist die Tatsache, das viele Leute gerne nach "Cracks" für Software suchen, die sowieso kostenlos ist. Zum Beispiel die Studentenversion unserer Baustatiksoftware, Windows Defender oder Virtual PC. Mir völlig unverständlich: was bringt die Leute nur dazu zu glauben, das es dafür eine "Crack" geben würde...

(C++) Arrays im Debugger anzeigen

6. Februar 2007 15:08

Ist nur in einem KB-Artikel dokumentiert: So zeigt man Arrays im Watch-Window des Debuggers an: Name der Array-Variable, gefolgt von einem Komma und danach gefolgt von der Anzahl der Element, die angezeigt werden sollen. Sehr praktische Sache - zumindest wenn man sich für Array-Inhalte interessiert.

Edit: Nicht "Kommand" sondern "Komma".

Neue Updates verfügbar

5. Februar 2007 18:44

In erster Linie geht es dabei um die Exportfunktionen, mit der Daten von Xpla und Xrst ins Faltwerkprogramm exportiert werden können. Details wie immer im Update-Protokoll im Download-Bereich.

Kalender

<<  Februar 2012  >>
MoDiMiDoFrSaSo
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar