Perfilador

A partir de la versió 3.2.0 (beta).

La pestanya Perfilador mesura el temps que triga l'avaluació de les fórmules. Enregistra cada avaluació i la mostra en cronologia i en taula: durades, nombre de crides, cadenes de crides. Veieu on s'inverteix el temps — fins i tot en les crides que desencadena el mateix Ninext.

La pestanya està reservada als administradors. Només mostra la seva icona, un cronòmetre, entre les pestanyes Errors i Cercador de codi; el nom apareix en passar-hi el ratolí per sobre. Es desactiva a la Configuració de Ninext, secció «Gestor d'scripts»: Perfilador de fórmules.

Iniciar i aturar una mesura

El botó principal, Inicia la mesura, adopta el nom de l'inici triat (Inicia a la primera avaluació, Inicia al proper clic); durant la mesura, es converteix en Atura la mesura. El botó petit del costat, que mostra les icones de l'inici i de l'aturada triats, obre el menú Tria el disparador d'inici, en dues parts. La primera indica quan comença la mesura:

IniciEfecte
Inici immediatLa mesura comença en fer clic. És el valor per defecte.
A la primera avaluacióLa mesura comença amb la propera avaluació de fórmula, que serveix d'origen dels temps.
Al proper clicLa mesura comença al proper clic fora de la pestanya Perfilador. Mentrestant, el botó es converteix en Cancel·la.

La segona indica quan s'atura:

AturadaEfecte
Aturada manualAmb el botó Atura la mesura. És el valor per defecte.
Atura després de 10, 30 o 60 sEl compte enrere comença en iniciar-se la mesura.
En acabar l'avaluacióEs proposa amb «A la primera avaluació»: la mesura s'atura quan acaba aquesta avaluació, inclosa la continuació asíncrona.
En deixar anar el botó del ratolíEs proposa amb «Al proper clic»: la mesura s'atura en deixar anar el botó del ratolí. El que continua després de manera asíncrona no es mesura.

Així només mesureu el que us interessa: l'obertura d'un registre, el clic en un botó, el càlcul d'una vista. Aquestes opcions valen fins que es torna a carregar la pàgina.

Mentre la mesura espera el seu disparador, la línia d'estat indica «Armat — a l'espera del disparador…». Durant la mesura, indica quants segons fa que està en marxa, el nombre d'avaluacions registrades i el nombre de fórmules diferents.

Cal saber

Iniciar una mesura nova no buida els resultats anteriors: les avaluacions se sumen d'una mesura a l'altra, a la taula, als comptadors i a la cronologia, fins que feu clic a Buida. Cada mesura torna a començar de zero a l'eix de temps: per tant, les barres de dues mesures successives se superposen al començament de la cronologia. Per llegir una mesura sola, feu clic a Buida abans d'iniciar-la.

Cronologia

Cada avaluació és una barra sobre un eix de temps. Les avaluacions imbricades o simultànies s'apilen en diverses línies; cada fórmula conserva el seu color, i una barra translúcida és una avaluació encara en curs. Les barres prou amples porten el nom del seu camp («Taula ▸ Camp»), precedit de «Ninext ▸» per a les crides del plugin. La vista s'omple en directe. Conserva com a màxim 20 000 avaluacions: més enllà, una nota indica el nombre d'avaluacions descartades, que ja només compta la taula.

Per fer zoom:

  • la roda del ratolí, o el gest de pinça al ratolí tàctil a Chrome, fa zoom sota el punter (el lliscament amb dos dits desplaça la vista);
  • un doble clic en una barra la selecciona i hi fa zoom;
  • tres botons: Ajusta tota la sessió, Reduir l'escala de temps i Ampliar l'escala de temps.

Taula

Vista Taula del Perfilador

La taula agrupa les avaluacions per fórmula:

ColumnaContingut
FórmulaLa fórmula mesurada.
CridesEl nombre d'avaluacions.
Total (ms)El temps acumulat.
Mitjana (ms)El temps mitjà d'una avaluació.
Màx (ms)L'avaluació més llarga.

S'ordena per temps total, de la més costosa a la menys costosa, i s'actualitza cada segon; es mostren les 100 primeres línies, i una nota ho indica més enllà («100 files mostrades de N — les més costoses primer»). Més enllà de 1 000 fórmules diferents, les següents s'agrupen en una línia «… altres fórmules». Una fórmula de l'esquema es presenta com a Camps i fórmules — ruta de navegació, «Fx», botó de modificació —, amb un «+N» quan la mateixa fórmula es troba en diversos llocs. Un badge «Ninext» marca les crides llançades pel plugin.

El detall d'una avaluació

Detall d'una avaluació al Perfilador

Un clic en una barra o en una línia n'obre el detall:

  • el codi complet de la fórmula;
  • per a una barra: Inici, Durada, Registre, i la Cadena de crides, des de l'avaluació arrel fins a aquesta, amb cada baula clicable; per a una línia de la taula: Mesures (nombre de crides, temps total, mitjà i màxim);
  • Origen, per a una crida llançada per Ninext;
  • Variables (inspecció), per a una avaluació d'una fórmula inspeccionada (vegeu més avall);
  • les Ubicacions de la fórmula a l'esquema, amb el botó que porta al codi;
  • al peu, Amplia aquesta avaluació i Inspecciona aquesta fórmula.

Inspeccionar una fórmula

Seleccioneu una fórmula, a la taula o a la cronologia, i després feu clic a Inspecciona aquesta fórmula. Durant la mesura, a cada avaluació d'aquesta fórmula, el perfilador pren el valor de cada variable declarada amb var o let: una vista prèvia del valor, i el seu tipus en passar-hi el ratolí per sobre.

La pestanya Inspeccionar llista aquestes avaluacions, la més recent al capdamunt; un clic en una d'elles la mostra a la cronologia. S'inspecciona una fórmula alhora; Atura la inspecció hi posa fi.

Dos límits: les reassignacions i les variables de bucle no es prenen, i els temps de la fórmula inspeccionada passen a ser orientatius, ja que la mateixa presa de valors requereix temps.

Llegir les xifres

  • Els temps són inclusius: una fórmula també compta el temps de les fórmules que avalua.
  • Per a una avaluació asíncrona, el temps corre fins que acaba, inclosa la càrrega de les dades.
  • Dos camps que porten exactament la mateixa fórmula comparteixen una línia de la taula.
  • Es mesuren les fórmules, els activadors, les columnes de les vistes, el codi de la Consola i les crides de Ninext. El JavaScript propi de Ninext no es mesura.
  • La mesura només costa uns quants microsegons per avaluació, i res fora d'una mesura. Els resultats es queden a la memòria: desapareixen quan es torna a carregar la pàgina.