Documentazione / Usare CloseYourIt
Performance
Trova le query e i metodi lenti, leggi i problemi riconosciuti da soli e ricevi un avviso quando ne compare uno.
Performance mostra i punti lenti delle tue app. Li raggruppa come gli errori: la stessa lentezza ripetuta è una riga sola, con i suoi tempi. I dati arrivano dagli SDK che li sanno mandare.
Cosa trovi nell'elenco
Ogni riga ha una Categoria:
- Query lenta: una richiesta al database che ci mette troppo. Le query sono raggruppate per forma, non per i valori che contengono:
WHERE id = 4eWHERE id = 9sono lo stesso gruppo. - Metodo lento: una parte del programma che misuri tu, raggruppata per il nome che le dai.
- Problema di performance: un rallentamento che il monitoraggio riconosce da solo mentre l'app lavora.
Per ogni gruppo vedi quante volte è successo, la durata media, la più lunga e il Tempo totale consumato. Il segno pochi campioni vuol dire meno di 20 casi: la media non è ancora affidabile.
I problemi riconosciuti da soli
| Tipo di problema | Cosa vuol dire |
|---|---|
| Query N+1 | tante richieste al database quasi identiche in fila, invece di una sola |
| Troppe query | una sola richiesta interroga il database troppe volte |
| Richiesta lenta | una pagina o un'azione risponde troppo lentamente |
| HTTP esterna lenta | una chiamata a un servizio esterno ci mette troppo |
| HTTP ripetute | la stessa chiamata a un servizio esterno ripetuta più volte |
| Jank (frame lento) | scatti nell'app: una schermata disegnata troppo lentamente |
| Rebuild storm | nell'app una schermata si ridisegna troppe volte di seguito |
I primi quattro arrivano dalle applicazioni sul server, gli ultimi tre dalle app mobili. Vedi solo quelli che i tuoi programmi sanno mandare. Per filtrarli usa Tipo di problema.
Capire se una cosa peggiora
Apri un gruppo. Il primo grafico è Durata nel tempo: ogni barra è il caso peggiore in quel pezzo di tempo (p95, cioè il tempo superato solo dal 5% dei casi). Passandoci sopra leggi anche il caso tipico (p50). Il secondo grafico, Occorrenze nel tempo, conta quante volte è successo. Sono due grafici diversi perché una cosa può succedere sempre uguale e intanto metterci il doppio.
Sopra il grafico c'è la Media nel periodo e di quanto è cambiata rispetto al periodo precedente della stessa lunghezza: per esempio le ultime 24 ore contro le 24 prima. Se prima non c'erano dati, la pagina lo dice invece di inventare una variazione.
Sotto trovi le occorrenze. Selezionane una per vedere la query, con i valori sostituiti da ?, e i Log ed errori di questa richiesta.
I valori concreti usati da una query (i Parametri) di norma non vengono raccolti. La pagina mostra la riga da aggiungere dove colleghi l'app per raccoglierli. Possono contenere dati personali: vengono salvati così come sono e li vede chi vede la pagina. Le colonne come password e token restano nascoste comunque.
Cambiare quando una cosa è lenta
I tempi sono colorati: verde sotto 150 ms, ambra nel mezzo, rosso da 500 ms in su. Ogni progetto può avere soglie sue:
- Apri il progetto, poi Impostazioni.
- Nella sezione Quando un'operazione è lenta scrivi i millisecondi per il verde e per il rosso.
- Lascia vuoto per usare i valori predefiniti.
Smistare e aprire un ticket
Come gli errori, ogni gruppo è Non risolto, Risolto o Ignorato. Per cambiare lo stato, seleziona uno o più gruppi nell'elenco e usa Risolvi, Ignora o Riapri nella barra che compare. A differenza degli errori, un gruppo risolto non si riapre da solo.
Per trasformare un rallentamento in lavoro, aprilo e premi Promuovi a ticket: nasce un ticket collegato al gruppo.
cyi metrics list --project acme-api
cyi metrics promote <id> --project acme-api
Per smistare e promuovere serve il permesso «Promuovi query/metodo lento a ticket».
Ricevere un avviso
La regola d'avviso Problema di performance scatta quando arriva un problema riconosciuto da solo. Le query lente e i metodi lenti non generano avvisi. Lo stesso gruppo non fa partire più di un avviso all'ora.
Nella regola puoi impostare la Soglia di durata: l'avviso parte solo se il caso dura almeno quei millisecondi. Non vale per Troppe query, HTTP ripetute e Rebuild storm, che si misurano contando le volte e non la durata. Come si creano le regole: Avvisi.
Per quanto restano i dati
I singoli casi si tengono 30 giorni; il conteggio totale resta per sempre. Il grafico della durata vede indietro solo quanto la conservazione. Per cambiarla: progetto, Impostazioni, Retention performance (giorni).