1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 20:01:56 +00:00
srs/trunk/scripts/perf_gso.py

82 lines
1.6 KiB
Python
Raw Normal View History

2020-04-14 10:50:21 +00:00
#!/usr/bin/python
#
# Copyright (c) 2013-2021 Winlin
#
# SPDX-License-Identifier: MIT
#
2020-04-14 10:50:21 +00:00
2020-04-14 10:48:57 +00:00
import urllib, sys, json
url = "http://localhost:1985/api/v1/perf"
2020-04-14 14:16:14 +00:00
if len(sys.argv) < 2:
print "Usage: %s <url>"%(sys.argv[0])
print "For example:"
print " %s http://localhost:1985/api/v1/perf"%(sys.argv[0])
sys.exit(-1)
url = sys.argv[1]
2020-04-14 10:48:57 +00:00
print "Open %s"%(url)
f = urllib.urlopen(url)
s = f.read()
f.close()
print "Repsonse %s"%(s)
obj = json.loads(s)
2020-04-14 13:49:49 +00:00
2020-04-17 04:30:53 +00:00
print ""
p = obj['data']['dropped']
2020-04-18 07:34:36 +00:00
print('Frame-Dropped: %.1f%s'%(10000.0 * p['rtc_dropeed'] / p['rtc_frames'], '%%'))
2020-04-17 08:36:56 +00:00
p = obj['data']['bytes']
2020-04-18 07:34:36 +00:00
print('Padding-Overload: %.1f%s %dMB'%(10000.0 * p['rtc_padding'] / p['rtc_bytes'], '%%', p['rtc_padding']/1024/1024))
2020-04-17 04:30:53 +00:00
2020-04-14 13:49:49 +00:00
# 2, 3, 5, 9, 16, 32, 64, 128, 256
keys = ['lt_2', 'lt_3', 'lt_5', 'lt_9', 'lt_16', 'lt_32', 'lt_64', 'lt_128', 'lt_256', 'gt_256']
2020-04-16 01:07:42 +00:00
print("\n----------- 1 2 [3,4] [5,8] [9,15] [16,31] [32,63] [64,127] [128,255] [256,+) Packets"),
2020-04-14 10:48:57 +00:00
print ""
2020-04-14 11:36:43 +00:00
print("AV---Frames"),
2020-04-14 23:10:41 +00:00
p = obj['data']['avframes']
2020-04-14 10:48:57 +00:00
for k in keys:
2020-04-14 13:49:49 +00:00
k2 = '%s'%(k)
if k2 in p:
print(p[k2]),
2020-04-14 11:30:35 +00:00
else:
2020-04-14 13:49:49 +00:00
print(0),
2020-04-14 23:10:41 +00:00
print(p['nn']),
2020-04-14 13:49:49 +00:00
print ""
print("RTC--Frames"),
2020-04-14 23:10:41 +00:00
p = obj['data']['rtc']
2020-04-14 13:49:49 +00:00
for k in keys:
k2 = '%s'%(k)
2020-04-14 10:48:57 +00:00
if k2 in p:
print(p[k2]),
else:
print(0),
2020-04-14 23:10:41 +00:00
print(p['nn']),
2020-04-14 10:48:57 +00:00
print ""
print("RTP-Packets"),
2020-04-14 23:10:41 +00:00
p = obj['data']['rtp']
2020-04-14 10:48:57 +00:00
for k in keys:
2020-04-14 13:49:49 +00:00
k2 = '%s'%(k)
if k2 in p:
print(p[k2]),
2020-04-14 11:30:35 +00:00
else:
2020-04-14 13:49:49 +00:00
print(0),
2020-04-14 23:10:41 +00:00
print(p['nn']),
2020-04-14 13:49:49 +00:00
print ""
print("GSO-Packets"),
2020-04-14 23:10:41 +00:00
p = obj['data']['gso']
2020-04-14 13:49:49 +00:00
for k in keys:
k2 = '%s'%(k)
2020-04-14 10:48:57 +00:00
if k2 in p:
print(p[k2]),
else:
print(0),
2020-04-14 23:10:41 +00:00
print(p['nn']),
2020-04-14 10:48:57 +00:00