Skip to content

Commit 21c2817

Browse files
committed
Add RSS / VSZ variables
1 parent 8fa3e7e commit 21c2817

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

uwsgimon

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,24 +81,34 @@ def run(stats, freq, node, f):
8181
result['node'] = node
8282
result['req'] = sum([w['requests'] for w in workers])
8383

84+
_sum_avg = _sum_rss = _sum_vsz = 0
85+
8486
dt = time.time() - last_ts
8587
for w in workers:
88+
# calculate rps
8689
w['rps'] = int(round((w['requests'] - last_req[w['id']]) / dt))
8790
last_req[w['id']] = w['requests']
91+
# sum to-be-averaged metrics
92+
_sum_avg += w['avg_rt']
93+
_sum_rss += w['rss']
94+
_sum_vsz += w['vsz']
8895
last_ts = time.time()
8996

9097
# after reloading, rps maybe a negative number, set it to 0
9198
result['rps'] = max(0 if first else sum([w['rps'] for w in workers]), 0)
9299
first = False
93100

94-
result['avg'] = round(sum([w['avg_rt'] for w in workers]) / float(len(workers)) / 1000.0)
101+
result['avg'] = round(_sum_avg / float(len(workers)) / 1000.0)
95102
result['lq'] = int(dd.get('listen_queue', 0))
96103
result['tx'] = sum([w['tx'] for w in workers])
97104

98105
_status = [w['status'] for w in workers]
99106
result['busy'] = _status.count('busy')
100107
result['idle'] = len(_status) - result['busy']
101108

109+
result['rss'] = int(_sum_rss / float(len(workers)))
110+
result['vsz'] = int(_sum_vsz / float(len(workers)))
111+
102112
sys.stdout.write(f.strip().format(**result))
103113
sys.stdout.write('\n')
104114
sys.stdout.flush()
@@ -107,7 +117,7 @@ def run(stats, freq, node, f):
107117

108118

109119
def main():
110-
default_format = 'uwsgi,node={node} req={req}i,rps={rps}i,avg={avg},lq={lq}i,tx={tx}i,busy={busy}i,idle={idle}i'
120+
default_format = 'uwsgi,node={node} req={req}i,rps={rps}i,avg={avg},lq={lq}i,busy={busy}i,idle={idle}i,rss={rss}i'
111121

112122
parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter)
113123
parser.add_argument('--node', '-n', dest='node', default=socket.gethostname(), help='uWSGI node name, current hostname by default')
@@ -120,9 +130,10 @@ def main():
120130
rps - requests per second
121131
avg - average response time
122132
lq - listen queue
123-
tx - traffic
124133
busy - busy workers count
125134
idle - idle workers count
135+
rss - average RSS (Resident Set Size)
136+
vsz - average VSZ (Virtual Memory Size)
126137
127138
e.g. "{}"'''.format(default_format))
128139

0 commit comments

Comments
 (0)