This page tries to collect all sorts of useful information if you'd like to hack on PSI.
PSI has many parts that gets time from the system. Because PSI's requirements on time are slightly odd we ended up with our own time representation. However it provides convenience functions to convert it to standard Python and UNIX formats.
See the TimeAPI page for details.
There is currently a file in the distribution that tries to detail this: http://bitbucket.org/chrismiles/psi/src/tip/DESIGN
This is an extract from source:/psi/branches/DEV_BRANCH_flub/DESIGN
- Follow PEP 7 for C code.
- Follow PEP 8 for Python code.
- In C code functions follow the Python convention of returning -1 or
NULL in case of an error, in case of an error a Python exception is
set. Testing if an
intfunction was successful is best done as
if (some_function() < 0)since some functions might add specific meanings to errors by returning a value smaller then -1 (e.g.
This is a list of unsorted useful information, most items from here should probably be expanded and organised better.
- Scheduling and priorities on Solaris: http://www.princeton.edu/~unix/Solaris/troubleshoot/schedule.html
- Scheduling and priorities on AIX: http://www.ibm.com/developerworks/aix/library/au-aix5_cpu/index.html
- C code doing cool stuff with /proc information on Solaris: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ptools/
- Overview of different ways to pull information out of Solaris kernels: http://getthegood.com/TechNotes/Papers/ProcStatistics.html