What version of mod_wsgi are you using?
After checking, the more recent versions (not the much older versions on most Linux distros) do have the metric counter I mention.
The process metrics are available using:
import mod_wsgi
current_metrics = mod_wsgi.process_metrics()
They include something like:
mod_wsgi.process_metrics: {'cpu_system_time': 0.009999999776482582, 'request_busy_time': 0.00033, 'current_time': 1449186182.184397, 'memory_max_rss': 9646080L, 'memory_rss': 9646080L, 'pid': 5485, 'restart_time': 1449186179.973325, 'request_count': 0L, 'cpu_user_time': 0.03999999910593033, 'running_time': 2L}
If you poll this at 1 second interval from a background thread, then capacity utilisation is calculated using:
(current_metrics[‘request_busy_time’] - last_metrics[‘request_busy_time’]) / (current_metrics[‘current_time’] - last_metrics[‘current_time’])
Personally I have been feeding this as well as a bunch of other stuff from unreleased version in a mod_wsgi branch into InfluxDB and charting it using Grafana. I should probably finally look at merging the branch so that people can play with it. Just not 100% sure I may want to tweak it a bit yet.
Graham