PSI 0.3b3

Creator: railscoder56

Last updated:

Add to Cart

Description:

PSI 0.3b3

psi is a Python module providing direct access to real-time system
and process information. It is made of of several sub-modules.
The arch module gives some information about the system such as
the sytem name and version, the machine architecture etc. It has a
class representing each system and a factory function that will return
an instance of the class which psi is running on currently.
The experimental mount module gives information about the various
mounted filesystems on the system. It has a class representing local
or remote filesystems.
The process module provides an interface to information about
processes currently running on the system. Each process is
represented as an instance of the Process class and additionally
there is a ProcessTable class which is a dictionary of all running
processes. To know exactly what attributes are available and what
they mean you should look at the docstrings and examples in the
REAME file and examples/ directory, but important to note is
that all the information is collected at instatiation time. So the
contents of ProcessTable and Process instances are really
snapshots and will still contain all information even after the actual
process has gone.
Lastly there are some general functions available directly under the
psi namespace such as loadavg(), getzoneid() etc. Once
more see the docstrings for detailed information.
Some information may not be available on all platforms, rather then
trying to emulate this information these parts of the API just don’t
exists on those platforms. Examples of these are:
psi.process.Process.pcpu which is not available on Linux,
psi.getzoneid() which is only available on SunOS 10 and above etc.
If not all information can be found some attribute descriptors of
objects might return subclasses of AttributeError, allowing you to use
generic getattr() semantics as well as more specifically detect why
an attribute is not available (insufficient privileges, not
implemented, …).

Supported Platforms
Python: 2.2 and above, including 3.x.
Linux: all 2.4 and 2.6 kernels.
SunOS: Solaris 8 and above, including OpenSolaris (SunOS 11).
AIX: 5.2 and 5.3
Darwin: 10.3 and above.


Documentation
Care is taken to provide complete and accurate docstrings, so use
Python’s pydoc tool and the interactive prompt should get you on
your way.
We also have a wiki (http://bitbucket.org/chrismiles/psi/wiki/Home)
and a mailing list (http://groups.google.com/group/psi-discuss
psi-discuss@googlegroups.com). Don’t hesitate to ask questions or
give feedback.


Bugs
Please use our issue tracker:
http://bitbucket.org/chrismiles/psi/issues


Extra setup.py features
New build_ext option: --devel. This uses -Werror and
enables many more warnings as well as disables optimisation.
Using --undef PYMALLOC or -U PYMALLOC to build_ext will
use libc’s memory heap for allocation instead of Python’s.
The test command will run the testsuite. Some tests will only be
run when running the test suite as root. Currently these are the
tests that try to run a simple test application under specific
schedulers and priorities to assert psi detects these process
attributes correctly.
The valgrind command does run the testsuite under the valgrind
memory checker. For this you need to have a specially compiled
python:
./configure --with-pydebug --without-pymalloc --prefix=/opt/pydebug
make
make install
The tags command will build an emacs TAGS file using grind
(which is a binary of the python grin package).

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.