1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
from __future__ import print_function
import os
import sys
try:
from cStringIO import StringIO
except ImportError:
from io import StringIO
import mod_wsgi
import apache
def application(environ, start_response):
headers = []
headers.append(('Content-Type', 'text/plain'))
write = start_response('200 OK', headers)
input = environ['wsgi.input']
output = StringIO()
print('PID: %s' % os.getpid(), file=output)
print('UID: %s' % os.getuid(), file=output)
print('GID: %s' % os.getgid(), file=output)
print(file=output)
print('mod_wsgi.process_group: %s' % mod_wsgi.process_group,
file=output)
print('mod_wsgi.application_group: %s' % mod_wsgi.application_group,
file=output)
print(file=output)
print('mod_wsgi.maximum_processes: %s' % mod_wsgi.maximum_processes,
file=output)
print('mod_wsgi.threads_per_process: %s' % mod_wsgi.threads_per_process,
file=output)
print('mod_wsgi.server_metrics: %s' % mod_wsgi.server_metrics(),
file=output)
print(file=output)
print('apache.description: %s' % apache.description, file=output)
print('apache.build_date: %s' % apache.build_date, file=output)
print('apache.mpm_name: %s' % apache.mpm_name, file=output)
print('apache.maximum_processes: %s' % apache.maximum_processes,
file=output)
print('apache.threads_per_process: %s' % apache.threads_per_process,
file=output)
print('apache.server_metrics: %s' % apache.server_metrics(),
file=output)
print(file=output)
scoreboard = apache.server_metrics()
if scoreboard:
for process in scoreboard['processes']:
for worker in process['workers']:
print(worker['status'], file=output, end='')
print(file=output)
print(file=output)
print('PATH: %s' % sys.path, file=output)
print(file=output)
keys = sorted(environ.keys())
for key in keys:
print('%s: %s' % (key, repr(environ[key])), file=output)
print(file=output)
keys = sorted(os.environ.keys())
for key in keys:
print('%s: %s' % (key, repr(os.environ[key])), file=output)
print(file=output)
result = output.getvalue()
if not isinstance(result, bytes):
result = result.encode('UTF-8')
yield result
yield input.read(int(environ.get('CONTENT_LENGTH', '0')))
|