Salute a tutti,
sono lieto di annunciare il rilascio della versione 0.4.0 di psutil:
http://code.google.com/p/psutil
=== About ===
psutil è una libreria che permette di ottenere informazioni riguardo i
processi in esecuzione e il sistema operativo (CPU, memoria, dischi,
rete) implementando diverse funzionalità offerte da tool da linea di
comando quali ps, top, lsof, netstat e altri.
Supporta Linux, Windows, OSX e FreeBSD, sia 32-bit che 64-bit, su
Python da 2.4 a 3.2 utilizzando un'unica code-base.
=== Nuove features ===
Oltre a fixare diversi bug ad alta priorità questa release offre 2
nuove importanti funzionalità: i contatori di utilizzo disco e
interfacce di rete con i quali è possibile scrivere applicazioni di
monitoraggio di questo tipo:
http://code.google.com/p/psutil/source/browse/trunk/examples/iotop.py
http://code.google.com/p/psutil/source/browse/trunk/examples/nettop.py
...e qui alcuni screenshots:
http://code.google.com/p/psutil/#Example_applications
=== Altre migliorie ==
- Process.get_connections() ha un nuovo parametro "kind" per filtrare
le connessioni in base alla famiglia (ipv4/6) e il tipo (TCP/UDP).
- Process.wait() può essere utilizzato in modo non bloccante passando
timeout=0 come parametro.
- Installer Python 3.2 per Windows 64-bit
- (FreeBSD) aggiunto supporto per determinare la directory di lavoro
corrente del processo (Process.getcwd())
- (FreeBSD) Process.get_open_files() (files aperti dal processo) è
stata riscritta in C (non richiede più lsof)
Per una lista completa dei cambiamenti si veda:
http://psutil.googlecode.com/svn/trunk/HISTORY
=== New features by example ===
...Un po' di codice:
>>> import psutil
>>>
>>> psutil.disk_io_counters()
iostat(read_count=8141, write_count=2431, read_bytes=290203,
write_bytes=537676, read_time=5868, write_time=94922)
>>>
>>> psutil.disk_io_counters(perdisk=True)
{'sda1' :iostat(read_count=8141, write_count=2431, read_bytes=290203,
write_bytes=537676, read_time=5868, write_time=94922),
'sda2' :iostat(read_count=811241, write_count=31, read_bytes=1245,
write_bytes=11246, read_time=768008, write_time=922)}
>>>
>>>
>>> psutil.network_io_counters()
iostat(bytes_sent=1270374, bytes_recv=7828365,
packets_sent=9810, packets_recv=11794)
>>>
>>> psutil.network_io_counters(pernic=True)
{'lo': iostat(bytes_sent=800251705, bytes_recv=800251705,
packets_sent=455778, packets_recv=455778),
'eth0': iostat(bytes_sent=813731756, bytes_recv=4183672213,
packets_sent=3771021, packets_recv=4199213)}
>>>
>>>
>>> import os
>>> p = psutil.Process(os.getpid())
>>> p.get_connections(kind='tcp')
[connection(fd=115, family=2, type=1, local_address=('10.0.0.1', 48776),
remote_address=('93.186.135.91', 80), status='ESTABLISHED')]
>>> p.get_connections(kind='udp6')
[]
>>> p.get_connections(kind='inet6')
[]
>>>
=== Links ===
* Home page: http://code.google.com/p/psutil
* Sorgenti: http://psutil.googlecode.com/files/psutil-0.4.0.tar.gz
* Documentazione: http://code.google.com/p/psutil/wiki/Documentation
Grazie dell'attenzione e ciao a tutti.
--- Giampaolo Rodola'
http://code.google.com/p/pyftpdlib/
http://code.google.com/p/psutil/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python