Frage Sammeln von JavaScript-Speicherprofildaten von Benutzern


Ich schreibe eine Client-schwere Seite. Da meine eigenen Tests mich nur so weit bringen werden, möchte ich einige Statistiken darüber sammeln, wie es in der Wildnis funktioniert.

Ich stelle mir vor, meiner App einen Profilierungscode hinzuzufügen, der einen gewissen Prozentsatz der Zeit laufen lässt (so dass es nicht alle verlangsamt) und diese Informationen nach Hause schickt.

Das Hinzufügen einiger Timing-Benchmarks sollte einfach sein, aber was bei lang laufenden Seiten mit viel JS wirklich ein Problem wird, ist die Speichernutzung. Gibt es eine Möglichkeit, den von meiner App genutzten Speicher aus normalem, nicht privilegiertem JS-Code in einem der gängigen Browser zu instrumentieren? Gibt es andere gute Profiling-Metriken, die verfügbar sind?


9
2018-05-02 13:53


Ursprung


Antworten:


In Chrome:

for (var key in performance.memory) {
    alert(key+': '+performance.memory[key]);
}

DEMO: http://jsfiddle.net/usuXV/1/

Beispielausgabe:

jsHeapSizeLimit: 1620000000
usedJSHeapSize: 10000000
totalJSHeapSize: 16100000

Sie können auch verwenden console.memory. Scheint, die gleichen Ergebnisse zurückzugeben.


1
2017-09-03 21:17



Sehen Sie sich dieses Google I / O-Video an. Es wird ausführlich auf die Speicherauslastung von JavaScript eingegangen und wie das Google Mail-Team die Speicherauslastung für einige Benutzer beobachtet hat.

http://www.youtube.com/watch?v=x9Jlu_h_Lyw


0
2017-07-10 18:48



Es wäre schwierig, den Speicher zu messen. Die neue Navigations-Timing-API sieht diesbezüglich interessant aus, aber im Moment hat nur Chrome ein Speicherobjekt implementiert


0
2017-08-21 18:49