2013-06-16 4 views
5

Ich versuche die demo of start, die eine ziemlich einfache Website auf Dart gebaut ist.Wie profiliere ich eine Dart App?

Wenn ich es ausführen, ist die ursprüngliche Speicherbelegung 10M, aber wenn ich die Homepage besuchen, aktualisieren Sie es immer wieder, der Speicher wächst schnell, bis es 78M erreicht, und wird nie zurückkommen.

Ich möchte finden, was den Speicher verwendet, und gibt es ein Speicherleck, aber ich weiß nicht, wie es geht. Kann mir ein Tool helfen, eine Dart App zu erstellen?

+0

Haben Sie versucht, "perf": https://code.google.com/p/dart/wiki/Profiling? –

+0

Welches Betriebssystem benutzen Sie? –

Antwort

4

Es wurde bereits in den Kommentaren darauf hingewiesen, dass es Möglichkeiten gibt, ein CPU-Profil von der VM unter Linux zu bekommen (https://code.google.com/p/dart/wiki/Profiling).

Soweit ich verstehe, was Sie wirklich suchen, ist ein Heap oder Speicherprofil zu bekommen. Obwohl es möglich ist, ein Objekthistogramm zu drucken, wenn das Programm beendet wird (siehe unten), haben wir keine bequeme Möglichkeit, das Objekthistogramm zu erhalten, während der Server läuft. Wir hoffen, diese Fähigkeit in den nächsten Monaten hinzufügen zu können.

Um das Objekthistogramm beim Beenden des Dart-Skripts zu drucken, übergeben Sie das Flag --print_object_histogram an die Dart-VM. Dadurch werden die Durchschnittswerte der Live-Objekte am Ende jedes Haupt-GC während der gesamten Lebensdauer des Programms gedruckt. Dies kann gut sein, um einen schnellen Überblick zu erhalten, ist aber nicht ideal, um echte Probleme aufzuspüren und zu identifizieren.

Verwandte Themen