2013-05-02 11 views
9

Piszę stronę ciężką dla klienta. Ponieważ moje własne testy doprowadzą mnie tylko do tej pory, chciałbym zebrać kilka statystyk dotyczących tego, jak radzi sobie w środowisku naturalnym.Gromadzenie danych profilu pamięci JavaScript od użytkowników

Wyobrażam sobie dodanie do mojej aplikacji jakiegoś kodu profilowania, który będzie działał przez pewien procent czasu (więc nie spowalnia wszystkich) i wysyła te informacje do domu.

Dodanie wyników testów czasowych powinno być łatwe, ale to, co naprawdę staje się problemem w przypadku długotrwałych stron z dużą ilością JS, to wykorzystanie pamięci. Czy istnieje sposób na instrumentowanie pamięci używanej przez moją aplikację z normalnego, nieuprzywilejowanego kodu JS w którejkolwiek z głównych przeglądarek? Czy są dostępne inne dobre metryki profilowania?

+0

świetne pytanie, jestem pewien, że jest kilka sposobów, nie jestem pewien, czy przeglądarka choć, ale źle zobaczyć, co mogę znaleźć :) –

+0

Spójrz na to: http://blog.chromium.org/2011/05/chrome -developer-tools-put-javascript.html w szczególności sekcja o propozycjach performance.memory. Jak już powiedziałem, że jest to przeglądarka i bankomat, nie znalazłem niczego, co działa na większości przeglądarek i wątpię, że tak będzie, ale hej, czy użytkownicy Chrome są najbardziej odpowiedni? –

+0

chorme ma element "inspect element", który prowadzi do profilowania javascript cpu .... Nie wiem, czy to jest to, czego szukasz. https://developers.google.com/chrome-developer-tools/docs/profiles –

Odpowiedz

1

W Chrome:

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

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

Przykładowe wyjście:

jsHeapSizeLimit: 1620000000 
usedJSHeapSize: 10000000 
totalJSHeapSize: 16100000 

Można również użyć console.memory. Wydaje się, że zwraca te same wyniki.

Powiązane problemy