giovedì gen 18, 2007

Monitorare Java con DTrace

Con la disponibilità di Java SE 6 (JDK 6) è possibile monitorare il comportamento delle applicazioni Java utilizzando i provider DTrace hotspot e hotspot_jni, il primo focalizzato sul monitoraggio della HotSpot Java Virtual Machine (JVM), il secondo delle chiamate Java Native Interface (JNI). Inoltre è stata introdotta in DTrace l'azione jstack che permette di stampare uno stack completo per le applicazioni Java.

Con la distribuzione del JDK 6 si trovano alcuni D script di esempio nella directory:

  • $JAVA_HOME/sample/dtrace/hotspot/

Sul mio portatile (con Solaris 10 11/06) si può provare uno degli script con il comando (vado a capo a causa della lunghezza):

# /usr/jdk/instances/jdk1.6.0/sample/dtrace/hotspot/method_invocation_stat.d -c \\
"java UnFilePuntoClass"

[Read More]

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