KEPLIN Docs

Investigare un problema

Dal sintomo alla causa — il pannello di un'API, la linea del tempo di una sessione, la catena di un errore e lo stato dei problemi.

Investigare è andare dal sintomo alla causa senza tirare a indovinare lungo la strada. Il Radar è disegnato per quel percorso: si sceglie ciò che è fallito, si guarda ogni esecuzione una a una, e si risale all'indietro fino al passaggio che l'ha originata.

Questa pagina percorre quella strada in quattro tappe — l'API, la sessione, il problema, e il registro di audit che spiega perché adesso.

Un'API che fallisce

  1. Apri l'app e vai su Radar.
  2. Nella sezione API e script, clicca sulla riga dell'API — per esempio oportunidades.
  3. Si apre una scheda con il suo nome, e in alto tre etichette: il nome interno, 116 chiamate e media 4ms. Quando ci sono fallimenti, compare anche "N fallimenti (X%)".

Il pannello di un'API nel Radar: una riga per chiamata, con stato, operazione, esito e tempo
Il pannello di un'API nel Radar: una riga per chiamata, con stato, operazione, esito e tempo

La tabella ha una riga per chiamata — mai raggruppata — con cinque colonne:

Colonna Cosa mostra
Quando Il momento della chiamata.
Stato Lo stato HTTP restituito.
Operazione L'operazione richiesta, quando la chiamata la identifica.
Esito nessun errore, oppure il tipo di errore che è esploso.
Tempo Quanto ci ha messo.

La barra Filtra… sopra la tabella riduce l'elenco per uno qualsiasi di questi campi: solo i fallimenti, solo quelle sopra i 500 ms, solo quelle di oggi. La paginazione in basso dice dove sei — 1–50 di 116.

Il dettaglio di una chiamata

Clicca su una riga e si apre il pannello di dettaglio, in basso, con tre schede:

Una chiamata selezionata, con la scheda Generale del dettaglio aperta
Una chiamata selezionata, con la scheda Generale del dettaglio aperta

Scheda Cosa porta
Generale Quando, Tempo, Stato, Origine, Chi ha fatto la chiamata e il Trace che la identifica.
Inviato Cosa ha portato la chiamata. Quando ci sono dubbi sui tipi, mostra campo per campo l'Inviato e il Tipo atteso, con il sospetto in rosso.
Risposta Cosa è tornato. Una chiamata che non ha restituito niente dice "Non è tornato nulla."; una che non ha portato niente dice "Questa chiamata non ha portato nulla."

Dica

Il Trace è il filo che lega tutto. Lo stesso riferimento compare negli eventi dell'Osservabilità e nel dettaglio dell'errore — copialo e hai il percorso intero di una richiesta, anche quando è passata per più pezzi.

Gli script hanno un pannello gemello: una riga per esecuzione, con il Codice di uscita, l'Origine dell'attivazione e la Console — l'output che lo script ha scritto. Uno script senza esecuzioni nel periodo dice "Nessuna esecuzione registrata."

La linea del tempo di una sessione

Una chiamata isolata raramente spiega un errore. La domanda successiva è sempre "cosa stava facendo la persona?" — ed è a questo che servono le sessioni.

  1. In Radar, espandi la sezione Sessioni.
  2. Clicca sulla visita che ti interessa — 23:11 · demo.
  3. Il pannello si apre con chi è entrato, quando, e un riepilogo: 15 passaggi in 5 pagine.

La linea del tempo di una sessione, con la cascata dei passaggi a destra
La linea del tempo di una sessione, con la cascata dei passaggi a destra

La tabella è la linea del tempo della visita, un passaggio per riga:

Colonna Cosa mostra
Nome Il passaggio: una pagina, una schermata, un evento, una chiamata a un'API, una lettura di dati.
Stato Se è andato bene o male.
Origine Da dove è venuto il passaggio — Pagine, Schermate, Azioni, Dati.
Tempo Quanto ci ha messo.
Cascata La barra che mostra quando è avvenuto dentro la sessione e quanto ha occupato.

La cascata è ciò che rende la lettura immediata: le barre si allineano nel tempo, e un passaggio che ha impiegato tanto si vede senza leggere nessun numero. Clicca su una riga per il dettaglio — con Pagina, Quando, Tempo e Dall'inizio della sessione (+0.0s, +2.4s, …). Un passaggio che non ha chiamato il server lo dice: "Questo passaggio non ha chiamato il server."

Nota

Una sessione vuota — "Nessun passaggio in questa sessione." — di solito è una visita che ha aperto l'app ed è uscita prima che succedesse qualcosa. Non è un errore.

Un errore di codice

Gli errori nati nel codice degli eventi compaiono nella sezione Schermate, raggruppati per causa: un problema per errore distinto, con il numero di occorrenze accanto.

Cliccane uno per aprire il pannello del problema, che mette insieme tutto quello che si sa su di lui:

Zona A cosa risponde
Codice L'estratto del tuo codice, con la riga colpevole evidenziata, e la Posizione esatta.
Percorso fino a qui Cosa ha fatto la persona prima che esplodesse — pagina, schermata, letture di dati, il clic finale.
Traccia dell'errore La traccia tecnica, quando è stata salvata.
Flusso Il percorso dell'errore attraverso i pezzi dell'app.
Apri nel designer Ti porta dritto all'evento dove l'errore è nato.

Il pulsante Apri nel designer è la fine naturale dell'indagine: hai trovato la riga, adesso vai a correggerla.

Un errore che la piattaforma ha classificato come Dalla piattaforma mostra un'altra cosa: "Questo errore è nato nel runtime di Keplin, non nel codice della tua app. Non c'è nulla da correggere dalla tua parte — vale la pena segnalarlo." — con un Riferimento da copiare.

I problemi, in tutte le app

Il menu OsservabilitàProblemi è la stessa materia, messa insieme e con uno stato. Ogni riga è un problema raggruppato, con Occorrenze, Utenti interessati, Visto per la prima volta e Visto per l'ultima volta.

La sezione Problemi dell'Osservabilità — in questa installazione di dimostrazione, senza nessuno da risolvere
La sezione Problemi dell'Osservabilità — in questa installazione di dimostrazione, senza nessuno da risolvere

Un'installazione sana ha questa pagina vuota — "Nessun problema corrisponde ai filtri", con Cancella filtri per allargare la ricerca. Prima di concludere che non ci sono problemi, controlla il periodo in alto: con 1h selezionato, un errore di ieri non compare.

Ogni problema ha tre stati, e si cambiano nel pannello stesso:

Azione Cosa fa
Risolvi Lo segna come trattato — "Problema contrassegnato come risolto." Se si ripete, si riapre da solo.
Ignora Lo toglie di mezzo senza risolverlo — "Problema ignorato." Per il rumore che si conosce.
Riapri Lo riporta ad aperto — "Problema riaperto."

Dentro un problema, la Catena del problema disegna il percorso: il contesto nel browser, le esecuzioni correlate, l'errore e l'impatto osservato. Quando non c'è modo di legare i pezzi, lo dice invece di inventare — "I collegamenti tratteggiati rappresentano solo contesto confermato, non una relazione causale dedotta."

Gli eventi, uno per uno

OsservabilitàEventi è l'elenco grezzo: una riga per esecuzione di API, script o sistema, comprese quelle andate a buon fine.

La sezione Eventi con un'esecuzione selezionata e il dettaglio di fianco
La sezione Eventi con un'esecuzione selezionata e il dettaglio di fianco

Colonne: Quando, Tipo, App, Cosa, Durata ed Esito. I filtri in alto tagliano per App, Tipo, Stato, Gravità e periodo; Cancella filtri rimette tutto a posto.

Clicca su una riga e il dettaglio si apre di fianco, con Riepilogo e Dati — e Apri la pagina completa quando ti serve più spazio. I messaggi di errore compaiono nella lingua originale del server, di proposito: tradurli li allontanerebbe dal testo che si cerca nella documentazione.

E perché adesso? L'audit

Un errore cominciato oggi ha quasi sempre una modifica dietro. OsservabilitàAudit conserva le modifiche amministrative e di configurazione — creare, modificare, eliminare, eseguire, importare, esportare, revocare, reimpostare password, modificare ruolo — con chi le ha fatte, in quale app e quando.

Clicca su una riga e il dettaglio mostra il Prima e il Dopo della modifica. È la risposta diretta alla domanda che chiude la maggior parte delle indagini: "cosa è cambiato ieri pomeriggio?"

Il percorso, in sintesi

  1. Panoramica — quale app sta bruciando.
  2. Radar dell'app — quale API, script o schermata.
  3. Il suo pannello — quale chiamata, con quali dati, in quale momento.
  4. La sessione — cosa ha fatto la persona prima.
  5. Il problema — la riga di codice e il pulsante Apri nel designer.
  6. L'Audit — cosa è cambiato perché tutto questo cominciasse.

Perché non vedo…?

  • …il dettaglio di una chiamata? Nessuna riga è selezionata. La tabella dice "Scegli una riga per vedere il dettaglio."
  • …le occorrenze di un problema vecchio? Possono essere state portate via dalla rotazione dei record — il pannello avvisa quando succede.
  • …il Percorso fino a qui compilato? Non tutte le occorrenze portano il percorso; quando non lo portano, il pannello dice "Nessun percorso registrato per questa occorrenza." invece di mostrare passaggi inventati.
  • …il pulsante Apri nel designer? Compare solo negli errori che hanno origine nel codice dell'app. Gli errori della piattaforma non hanno niente da aprire.