Czy mogę używać nawigacji przeglądarki Timing API dla zdarzeń Ajax w aplikacjach jednostronicowych? Jeśli nie, jakie jest dobre narzędzie?
Mamy aplikację jednostronicową zbudowaną z nokautem i szkieletem, która wykonuje wywołania Ajax do serwera i wykonuje złożone buforowanie danych i renderowanie DOM. Naprawdę lubimy mierzyć wydajność (i rejestrować ją z powrotem na serwerze) tak, jak widzi ją użytkownik. Wydaje się, że nie wiem, czy będzie
Nawigacja przeglądarki API
http://www.w3.org/TR/navigation-timing/
przydatne do tego, czy nie. Z tego, co widzę w przykładach, nawigacja Timing API jest powiązana z
window.performancei jest ograniczona do ładowania strony i nie nadaje się do monitorowania zachowania Ajax. Prawda czy kłamstwo? Jeśli fałszywe, czego jeszcze mogę użyć?
Chciałbym ustawić niestandardowe punkty instrumentacji, między którymi można mierzyć czas, na przykład dla wywołania Ajax, które renderuje DOM z wynikiem serwera.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Ponadto, nawet jeśli to zadziałało, brakowałoby danych ze starszych przeglądarek, które nie obsługują tego obiektu.
2-
Projekt Boomerang
https://github.com/lognormal/boomerang/
wydaje się być poza zakresem internetowego interfejsu API do pomiaru czasu i obsługuje również starsze przeglądarki. Jest rozmowa ze slajdami i przykładami kodu obecnego opiekuna wymienionego na
Ta konferencja
http://html5devconf.com/sessions.html... Niestety nie ma bezpośredniego połączenia.
Anonimowy użytkownik
Potwierdzenie od:
Użytkownik Timing API
http://www.w3.org/TR/user-timing/
(Zalecenie W3C z 12 grudnia 2013 r.), Które zapewnia możliwość osadzania interfejsów API wywołań w różnych częściach JavaScript, a następnie pobierania pełnych danych dotyczących czasu.
Robisz to za pomocą , co pozwala obliczyć, ile czasu zajęło Ci trafienie tego „znaku” w Twojej aplikacji internetowej, a następnie obliczyć czas, jaki upłynął między twoimi znakami.
W swoim konkretnym przypadku możesz mieć coś takiego:
Anonimowy użytkownik
Potwierdzenie od:
AzurePing.info
http://azureping.info/
w przeglądarkach, które to obsługują, powrót do dla tych, które tego nie obsługują.
W chwili pisania tego tekstu IE 10 i Chrome obsługują , ale Firefox nie. Niestety, nie wszystkie właściwości synchronizacji są ustawione - nawet w Chrome i IE. Mogłem polegać tylko na , i .
Przykładowe źródło znajduje się pod adresem
GitHub
https://github.com/nzbart/Azur ... te.ts
.
Anonimowy użytkownik
Potwierdzenie od:
Wraz ze wspomnianym już interfejsem użytkownika Timing API,
Zasób interfejsu API do pomiaru czasu
http://www.w3.org/TR/2014/CR-r ... 0325/
jest w rzeczywistości znacznie bardziej przydatny. Ten interfejs API zapewnia funkcjonalność, aby uzyskać czasy dla wszystkich żądań wysyłanych w sesji użytkownika (właściwie wszystko, co widzisz na kartach sieciowych narzędzi programistycznych w większości przeglądarek). Te czasy obejmują czasy podróży w obie strony, a także czasy wyszukiwania DNS itp.
Niestety jest to stosunkowo nowa specyfikacja i nie została jeszcze zaimplementowana we wszystkich przeglądarkach. Chrome i IE & > 10 dostarcza implementacji (choć jeszcze nie ukończonych). Co zaskakujące, wydaje się, że jak dotąd IE zaimplementowano większość ...
Anonimowy użytkownik
Potwierdzenie od:
Przyjrzyjmy się różnicom między nimi.
1. Resource Timing API
>
Przeglądarki ostatnio dodane wsparcie
Resource API rozrządu
https://www.w3.org/TR/2014/CR- ... 325/. Zasób API rozrządu zawiera głównie informacje o czasie każdego zasobu załadowanego z aplikacji. Może to być CSS, JavaScript lub AJAX. Więcej informacji możesz uzyskać listę zasobów, jak
Zwróci tablicę obiektów, w której można znaleźć żądania AJAX według , czyli . Ale są pewne ograniczenia.
2. Pakowanie XMLHTTPRequest
>
Jeśli umieścisz swoje API XMLHTTPRequest, uzyskasz wszystkie potrzebne informacje z czasu, kodu statusu i rozmiaru bajtu. Ale musisz napisać dużo kodu i oczywiście testować, testować i testować.
[Odstąpienie
od odpowiedzialności] Pracuję dla
atatus.com
https://www.atatus.com/
gdzie pomożemy Ci zmierzyć czas ładowania strony, czas AJAX i niestandardową transakcję. Ponadto można zobaczyć ślady sesji dotyczące działania wszystkich zasobów.