Profiler

Od wersji 3.2.0 (beta).

Karta Profiler mierzy czas obliczania formuł. Rejestruje każdą ocenę formuły i wyświetla ją na osi czasu i w tabeli: czasy trwania, liczbę wywołań, łańcuchy wywołań. Widać, na co idzie czas — również w wywołaniach, które uruchamia sam Ninext.

Karta jest zarezerwowana dla administratorów. Wyświetla wyłącznie swoją ikonę, stoper, między kartami Błędy i Wyszukiwarka kodu; jej nazwa pojawia się po najechaniu kursorem. Można ją wyłączyć w panelu Ustawienia Ninext, w sekcji „Menedżer skryptów”: Profiler formuł.

Rozpoczynanie i zatrzymywanie pomiaru

Główny przycisk, Rozpocznij pomiar, przyjmuje nazwę wybranego startu (Start przy pierwszej ocenie, Start przy następnym kliknięciu); w trakcie pomiaru zmienia się w Zatrzymaj pomiar. Mały przycisk obok, który pokazuje ikony wybranego startu i zatrzymania, otwiera menu Wybierz wyzwalacz startu, złożone z dwóch części. Pierwsza określa, kiedy pomiar się zaczyna:

StartDziałanie
Start natychmiastowyPomiar zaczyna się po kliknięciu. To ustawienie domyślne.
Przy pierwszej oceniePomiar zaczyna się wraz z następną oceną formuły, która wyznacza punkt zerowy czasu.
Przy następnym kliknięciuPomiar zaczyna się przy następnym kliknięciu poza kartą Profiler. W międzyczasie przycisk zmienia się w Anuluj.

Druga określa, kiedy się kończy:

ZatrzymanieDziałanie
Zatrzymanie ręcznePrzyciskiem Zatrzymaj pomiar. To ustawienie domyślne.
Zatrzymaj po 10, 30 lub 60 sOdliczanie zaczyna się od rozpoczęcia pomiaru.
Po zakończeniu ocenyDostępne z opcją „Przy pierwszej ocenie”: pomiar kończy się, gdy ta ocena się zakończy, łącznie z jej asynchronicznym ciągiem dalszym.
Po zwolnieniu przycisku myszyDostępne z opcją „Przy następnym kliknięciu”: pomiar kończy się po zwolnieniu przycisku myszy. To, co trwa dalej asynchronicznie, nie jest mierzone.

W ten sposób mierzą Państwo tylko to, co Państwa interesuje: otwarcie rekordu, kliknięcie przycisku, obliczenie widoku. Te ustawienia obowiązują do ponownego wczytania strony.

Dopóki pomiar czeka na swój wyzwalacz, wiersz stanu pokazuje „Uzbrojony — oczekiwanie na wyzwalacz…”. W trakcie pomiaru pokazuje, od ilu sekund trwa pomiar, liczbę zarejestrowanych ocen i liczbę różnych formuł.

Warto wiedzieć

Rozpoczęcie nowego pomiaru nie czyści poprzednich wyników: oceny sumują się z pomiaru na pomiar — w tabeli, w licznikach i na osi czasu — aż do kliknięcia Wyczyść. Każdy pomiar zaczyna od zera na osi czasu: paski dwóch kolejnych pomiarów nakładają się więc na siebie na początku osi. Aby odczytać pojedynczy pomiar, proszę kliknąć Wyczyść przed jego rozpoczęciem.

Oś czasu

Każda ocena to pasek na osi czasu. Oceny zagnieżdżone lub jednoczesne układają się w kilku wierszach; każda formuła zachowuje swój kolor, a półprzezroczysty pasek to ocena, która jeszcze trwa. Wystarczająco szerokie paski noszą nazwę swojego pola („Tabela ▸ Pole”), poprzedzoną „Ninext ▸” w przypadku wywołań wtyczki. Widok wypełnia się na bieżąco. Przechowuje co najwyżej 20 000 ocen: powyżej tej liczby uwaga podaje liczbę pominiętych ocen, które uwzględnia już tylko tabela.

Aby powiększyć:

  • kółko myszy lub gest szczypania na gładziku w Chrome powiększa w miejscu wskaźnika (przesuwanie dwoma palcami przewija widok);
  • dwukrotne kliknięcie paska zaznacza go i powiększa widok do niego;
  • trzy przyciski: Dopasuj całą sesję, Pomniejsz skalę czasu i Powiększ skalę czasu.

Tabela

Widok Tabela w Profilerze

Tabela grupuje oceny według formuły:

KolumnaZawartość
FormułaMierzona formuła.
WywołaniaLiczba ocen.
Łącznie (ms)Łączny czas.
Średnio (ms)Średni czas jednej oceny.
Maks (ms)Najdłuższa ocena.

Jest posortowana według łącznego czasu, od formuły najbardziej kosztownej do najmniej kosztownej, i aktualizuje się co sekundę; wyświetlanych jest pierwszych 100 wierszy, a powyżej tej liczby informuje o tym uwaga („Pokazano 100 z N wierszy — najbardziej kosztowne najpierw.”). Powyżej 1000 różnych formuł kolejne są zgrupowane w jednym wierszu „… inne formuły”. Formuła schematu jest przedstawiona tak jak w karcie Pola i formuły — ścieżka nawigacyjna, „Fx”, przycisk edycji — z oznaczeniem „+N”, gdy ta sama formuła występuje w kilku miejscach. Plakietka „Ninext” oznacza wywołania uruchomione przez wtyczkę.

Szczegóły oceny

Szczegóły ewaluacji w Profilerze

Kliknięcie paska lub wiersza otwiera szczegóły:

  • pełny kod formuły;
  • dla paska: Początek, Czas trwania, Rekord oraz Łańcuch wywołań, od oceny głównej aż do tej, przy czym każde ogniwo jest klikalne; dla wiersza tabeli: Pomiary (liczba wywołań, czas łączny, średni i maksymalny);
  • Pochodzenie — w przypadku wywołania uruchomionego przez Ninext;
  • Zmienne (inspekcja) — w przypadku oceny badanej formuły (zob. niżej);
  • Lokalizacje formuły w schemacie, z przyciskiem prowadzącym do kodu;
  • na dole: Powiększ tę ocenę i Zbadaj tę formułę.

Badanie formuły

Proszę wybrać formułę w tabeli lub na osi czasu, a następnie kliknąć Zbadaj tę formułę. Podczas pomiaru, przy każdej ocenie tej formuły, profiler zapisuje wartość każdej zmiennej zadeklarowanej przez var lub let: podgląd wartości, a po najechaniu kursorem — jej typ.

Karta Inspekcja wyświetla listę tych ocen, od najnowszej; kliknięcie jednej z nich odnajduje ją na osi czasu. Jednocześnie można badać tylko jedną formułę; Zatrzymaj inspekcję kończy badanie.

Dwa ograniczenia: ponowne przypisania i zmienne pętli nie są zapisywane, a czasy badanej formuły stają się orientacyjne, ponieważ samo zapisywanie zajmuje czas.

Jak czytać liczby

  • Czasy są inkluzywne: formuła obejmuje też czas formuł, które oblicza.
  • W przypadku oceny asynchronicznej czas biegnie aż do jej zakończenia, łącznie z wczytywaniem danych.
  • Dwa pola o dokładnie tej samej formule dzielą jeden wiersz tabeli.
  • Mierzone są formuły, wyzwalacze, kolumny widoków, kod Konsoli i wywołania Ninext. Własny JavaScript Ninext nie jest mierzony.
  • Pomiar kosztuje zaledwie kilka mikrosekund na ocenę, a poza pomiarem nic. Wyniki pozostają w pamięci: znikają po ponownym wczytaniu strony.