Asset
Definire e verificare il contratto di una misura
Una pratica per rendere attendibile un segnale: esplicitare cosa conta, dove inizia e finisce l'osservazione, come si trattano retry e dati mancanti e quali prove dimostrano che la misura osserva davvero il fenomeno.
Il contratto viene prima del grafico
Una misura deve rispondere a una domanda precisa. «Tempo di conferma» può indicare il tempo di risposta di un endpoint, la durata dell'elaborazione interna oppure l'attesa percepita dall'utente: non sono intercambiabili. Il contratto della misura rende espliciti significato, perimetro e responsabilità.
Definisci luogo, unità e confine di osservazione
- Scegli dove viene verificata la proprietà: codice, prova periodica o runtime.
- Definisci unità osservata, inizio, fine, popolazione eleggibile ed esclusioni.
- Specifica fonti, semantica temporale, aggregazione e granularità.
- Dichiara come trattare retry, duplicati, eventi tardivi e fuori ordine.
Non perdere incompleti, assenza e ritardi
Un istogramma delle sole operazioni concluse non racconta quelle ancora aperte. Mantieni visibili richieste accettate, completamenti, fallimenti noti e anzianità delle richieste in attesa. Zero, assenza di dati e ritardo di acquisizione sono stati diversi e devono produrre interpretazioni diverse.
Verifica la misura con campioni noti
In un ambiente di test isolato prepara almeno un completamento noto, un errore, un'operazione ancora aperta, un retry, un duplicato, un evento tardivo e un'interruzione della raccolta. Scrivi prima il risultato atteso e confrontalo con l'output. Un grafico plausibile non costituisce evidenza sufficiente.
Dati, costo e responsabilità
Raccogli solo il dettaglio necessario, definendo accessi, conservazione e rimozione dei dati sensibili. Il responsabile della misura deve poter spiegare fonti, limiti, casi non valutabili e condizioni di revisione.
Output minimo e fonti
Conserva domanda, unità osservata, inizio e fine, popolazione ed esclusioni, fonti, semantica temporale, aggregazione, deduplicazione, copertura e freschezza, trattamento dei mancanti, responsabile, limiti e casi di prova.
- OpenTelemetry, Signals: https://opentelemetry.io/docs/concepts/signals/
- Prometheus, Histograms and summaries: https://prometheus.io/docs/practices/histograms/
- OpenTelemetry, Sampling: https://opentelemetry.io/docs/concepts/sampling/
- OpenTelemetry, Handling sensitive data: https://opentelemetry.io/docs/security/handling-sensitive-data/
Il contratto e i casi Ordini/Pagamenti sono una proposta didattica originale, non un'implementazione o una configurazione universale.