Is there any way to get ps output programmatically?
My preference is to do something like this.
collection.sh
for (( ;; ))do date; ps -p $1 -o '%cpu'done
Then run collection.sh >someFile
while you "slam the server with requests".
Then kill this collection.sh
operation after the server has been slammed.At the end, you'll have file with your log of date stamps and CPU values.
analysis.py
import datetimewith( "someFile", "r" ) as source: for line in source: if line.strip() == "%CPU": continue try: date= datetime.datetime.strptime( line, "%a %b %d %H:%M:%S %Z %Y" ) except ValueError: cpu= float(line) print date, cpu # or whatever else you want to do with this data.