[Python] ANN: rilasciata psutil 0.4.0

Giampaolo Rodolà g.rodola a gmail.com
Sab 29 Ott 2011 12:44:38 CEST


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/


Maggiori informazioni sulla lista Python