Qual è la differenza tra monitoraggio, tracciabilità e profilazione?


16

Ho visto queste tre parole apparire molto, ma non capisco le differenze esatte tra di loro. Ad esempio, la raccolta dell'utilizzo della CPU viene spesso definita profilazione e può anche rientrare nel monitoraggio delle prestazioni. Qual è la differenza (sottile) tra loro?

Risposte:


11

Questo è il modo in cui uso queste parole. Altri possono avere usi aggiuntivi o diversi. A seconda del lavoro da svolgere, userò i termini in modo diverso. I team di sviluppo e quelli operativi hanno esigenze e usi diversi.

Il monitoraggio è il monitoraggio. Di solito è in corso e preferibilmente automatizzato. Strumenti open source come Munin, Nagiose MRTGrientrano in questa categoria. Ci sono anche molti strumenti commerciali. Includerei anche l' saresecuzione continua in questa categoria, ma i suoi risultati non sono normalmente monitorati. Gli strumenti di monitoraggio possono essere utilizzati per attivare avvisi quando una risorsa monitorata scende al di sopra o al di sotto di un livello di attivazione. Molti strumenti di monitoraggio funzionano bene in ambienti eterogenei.

La profilazione di solito viene eseguita su un determinato programma per vedere quale codice utilizza la maggior parte delle risorse. Spesso si tratta del tempo della CPU, ma può anche includere tempo di memoria, I / O e tempo di esecuzione (wall). Di solito viene utilizzato per identificare il codice candidato per l'ottimizzazione. Gli strumenti di profilazione tendono ad essere dipendenti dalla lingua e / o dalla piattaforma.

Un diverso tipo di profilazione viene eseguito utilizzando registri e / o dati di monitoraggio. Questa è la profilazione dell'utilizzo e può essere eseguita per una serie di motivi. Non ho trovato molti strumenti per farlo.

Uso la traccia in un paio di modi diversi. Più frequentemente, traccio i percorsi di rete. A seconda delle impostazioni di rete e firewall, è possibile utilizzare una varietà di strumenti con maggiore o minore successo. Molti di questi hanno traceroute nel loro nome o descrizione.

La traccia del programma sta tracciando l'esecuzione di un programma. Questo è generalmente fatto in una situazione di prova. Questo può essere fatto in diversi modi (nel mio ordine di utilizzo ed esperienza):

  • Chiama la traccia utilizzando strumenti come straceper vedere quale codice viene chiamato. Questo può essere utile per determinare perché un programma non funziona o non risponde come previsto.
  • Registrazione a livello di traccia, che dipende dal fatto che le istruzioni di registrazione appropriate siano incluse nel codice. La maggior parte delle suite di registrazione supporta questo livello di dettaglio. La registrazione a livello di traccia tende ad avere una scarsa copertura del codice. In genere lo aggiungo secondo necessità e lo lascio nel codice per uso futuro.
  • La traccia di copertura del codice registra quali parti del codice sono state eseguite in una suite di test. Questo può essere utile per determinare casi di test mancanti. È difficile ottenere una copertura del 100% del codice. Dovrebbe essere possibile ottenere una copertura del 100% dei flussi normali.
  • Verifica da scrivania: tracciare il codice leggendolo. Non molto utile su programmi più grandi, ma un buon modo per identificare casi limite per test unitari, o per identificare possibili problemi quando la probabile fonte è stata ristretta ape. Som = e IDE ed editor rendono relativamente semplice seguire una chiamata al codice di implementazione.
  • Debug live; traccia dell'esecuzione del codice mentre è in esecuzione utilizzando un debugger. È possibile tracciare le istruzioni di esecuzione mediante istruzioni, ma se il problema è un problema di temporizzazione, potrebbe essere oscurato. I debugger che possono collegare il codice alle istruzioni correnti aiutano molto ma possono richiedere la creazione di una versione di debug del programma.

-1

Nel server delle applicazioni SAP WEB possiamo definire queste tre parole chiave come indicato di seguito:

Le tecniche di monitoraggio, tracciabilità e profilazione offerte dal Web e quelle fornite da altri sistemi SAP e esterni possono essere integrate utilizzando la comprovata architettura CCMS, che può semplificare notevolmente la manutenzione di installazioni di grandi dimensioni, distribuite ed eterogenee.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.