Un archivio per le richieste completate e i loro tempi.

Osservazione

Dopo che una richiesta di un’applicazione finisce, ObserveContext può conservare la storia di quella richiesta: quale servizio, quale route, quanto tempo e i passaggi con nome al suo interno (login, SQL prepare, execute, scan, costruzione dell’istantanea, codifica). Ispezioni quell’archivio con SQL o con una dashboard. Una dashboard personale può girare sulla tua macchina su 127.0.0.1:8766, senza un sito ospitato.

È un piccolo archivio sullo stesso server PocketContext che usano le altre applicazioni. Non sostituisce Langfuse o OpenTelemetry, e un tempo non è la prova che il risultato proprio dell’applicazione fosse corretto.

Come arriva una traccia

sequenceDiagram
  participant You as Tu, tramite una CLI dell’app
  participant Wrap as observecontext capture
  participant App as Il server dell’app
  participant Store as ObserveContext

  You->>Wrap: capture -- dealcontext sql "SELECT ..."
  Wrap->>App: il comando vero, con il tracciamento attivato
  App-->>Wrap: risultato più il tempo del server
  Wrap->>Wrap: un’operazione che raggruppa client e server
  Wrap->>Store: caricamento
  Note over Store: operazioni, trace e span restano immutabili

Le altre app devono attivare il tracciamento e usare un commit del server che lo supporta. ObserveContext non cambia i commit che hanno fissato.

Il testo SQL viene conservato solo quando entrambe le parti lo chiedono, ed è limitato a 16 KiB. Un’istruzione SQL può contenere valori privati, quindi solo le persone autorizzate a leggere la traccia dovrebbero vederlo. Header, password, query negli URL, corpi REST e righe dei risultati restano fuori.

Chi può vedere una traccia

flowchart TD
  user[Utente Workspace ordinario]
  own[Le proprie operazioni e trace]
  flag[L’operatore imposta can_view_all_traces]
  all[Accesso in lettura più ampio]

  user --> own
  flag --> all

Un deployment ammette identità Google Workspace verificate. Leggi e aggiungi i tuoi dati. Un operatore può concedere una lettura più ampia. L’account che ha caricato una traccia è conservato separatamente dall’utente e dal servizio dichiarati da chi l’ha prodotta. Una traccia è un dato diagnostico. Non è la prova che quelle dichiarazioni fossero autentiche.

In questa prima release le trace conservate non hanno una scadenza automatica.

Che cosa coprono i tempi

Il server misura l’autenticazione, SQL prepare / execute / scan, il lavoro sull’istantanea filtrata e la codifica del risultato. Le chiamate REST ordinarie ricevono un tempo totale, senza una suddivisione per ogni hook dell’app. Il wrapper del client aggiunge il tempo HTTP, inclusa la lettura della risposta.

Il prompt di un agente di programmazione e l’intera sessione di chat non vengono raccolti.