giovedì mar 02, 2006

DTrace in Solaris 10 OS

DTrace è un framework per il tracciamento dinamico delle attività svolte dal sistema operativo Solaris 10. Il framework è composto da tre componenti principali:

  • una serie di sonde (probe) introdotte nel kernel di Solaris 10 OS, che possono essere o meno attivate, descritte in dtrace(7D);

  • una libreria di interfacciamento per accedere dallo spazio utente alle funzionalità del framework, libdtrace(3LIB);

  • alcuni comandi utente che permettono di accedere in modo completo alle informazioni che sono rilevate, su richiesta, dalle sonde, tra cui il comando, omonimo del framework, dtrace(1M).

Alcuni comandi di monitoraggio (ad es. lockstat, plockstat, intrstat) già presenti in versioni precedenti del sistema operativo Solaris sono stati re-implementati nella 10 tramite il framework DTrace.

Per vedere un esempio delle sonde è possibile lanciare il comando seguente e vedere le prime schermate:

# dtrace -l|more

Ogni sonda è individuata con un nome composto con la sintassi seguente: "provider:module:function:name".

Per avere una idea della numerosità delle sonde è possibile lanciare il comando:

# dtrace -l|wc -l

e sottrarre uno per la riga di intestazione. Quest'ultimo comando ritorna un numero superiore a 40.000 sul mio portatile con Solaris 10 1/06 x86 (32bit). Tale valore dipende dai moduli kernel (che implementano DTrace) caricati sul sistema.

Per testare le potenzialità di DTrace è possibile realizzare degli script in un apposito linguaggio denominato D Programming Language. Tale linguaggio ha una sintassi simile a quella dell'awk e non è quindi un linguaggio puramente procedurale, ma del tipo "pattern action", dove il pattern è un modo per selezionare alcune sonde e/o alcuni risultati particolari delle sonde, mentre con l'action si identificano le attività necessarie per elaborare le informazioni reperite.

[Read More]
About

Un diario digitale sui miei interessi: Internet, Solaris, Java, Fotografia, ecc.

Search

Archives
« aprile 2014
lunmarmergiovensabdom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today