Malfunzionamenti che indaghiamo
- rare interruzioni delle comunicazioni;
- arresti anomali che compaiono solo dopo un lungo funzionamento;
- problemi di integrazione con dispositivi difficili da riprodurre;
- perdite di memoria o handle e aumento dei thread;
- problemi che non possono essere spiegati per mancanza di log adeguati.
Quando il sistema normalmente funziona ma fallisce solo di tanto in tanto, è essenziale scegliere il giusto metodo di isolamento.
Svolgimento dell’indagine
- Separiamo le cause interne all’applicazione da quelle di comunicazione, dispositivo e sistema operativo.
- Aumentiamo i dati osservabili tramite log, metriche, pacchetti, conteggio degli handle e percorsi di eccezione.
- Restringiamo le condizioni di riproduzione, identifichiamo la causa e definiamo le misure preventive.
Temi particolarmente adatti
- blocchi e ritardi nelle comunicazioni TCP / socket;
- anomalie con telecamere industriali e periferiche;
- instabilità di software esistente basato su COM / ActiveX;
- perdite ed esaurimento delle risorse dopo lunghi periodi;
- assenza di test dei casi anomali o di log utilizzabili.
Quando il servizio è utile
- non è ancora chiaro se la causa sia nell’applicazione o nella comunicazione;
- la riproduzione richiede ore, giorni o settimane;
- esistono log, ma non mostrano il rapporto di causa ed effetto;
- prima di modificare il codice bisogna decidere che cosa osservare.
Supporto fino alla prevenzione
Non basta trovare la causa corrente: occorre anche rendere molto più rapida la prossima indagine. Se necessario miglioriamo inoltre:
- il contenuto dei log;
- il collegamento degli eventi a sessioni e operazioni;
- l’infrastruttura dei test dei percorsi di errore;
- la tracciabilità del ciclo di vita delle risorse.