1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 11:51:57 +00:00

Add tool for GSO

This commit is contained in:
winlin 2020-04-14 18:48:57 +08:00
parent 8d5f91f777
commit de343d6547
2 changed files with 59 additions and 24 deletions

35
trunk/scripts/perf_gso.py Normal file
View file

@ -0,0 +1,35 @@
import urllib, sys, json
url = "http://localhost:1985/api/v1/perf"
if len(sys.argv) > 1:
url = sys.argv[1]
print "Open %s"%(url)
f = urllib.urlopen(url)
s = f.read()
f.close()
print "Repsonse %s"%(s)
obj = json.loads(s)
keys = [3, 5, 9, 16, 32, 64, 128, 256, 1000]
print ""
print("AVFrames"),
for k in keys:
k2 = 'lt_%s'%(k)
p = obj['data']['writev']['msgs']
if k2 in p:
print(p[k2]),
else:
print(0),
print ""
print("RTP-Packets"),
for k in keys:
k2 = 'lt_%s'%(k)
p = obj['data']['writev']['iovs']
if k2 in p:
print(p[k2]),
else:
print(0),

View file

@ -673,16 +673,16 @@ srs_error_t SrsStatistic::dumps_perf_writev(SrsJsonObject* obj)
// h: <256 // h: <256
// i: <1000 // i: <1000
// j: >=1000 // j: >=1000
if (perf_msgs->a) p->set("lt_3", SrsJsonAny::integer(perf_msgs->a)); if (perf_msgs->a) p->set("lt_3", SrsJsonAny::integer(perf_msgs->a));
if (perf_msgs->b) p->set("lt_5", SrsJsonAny::integer(perf_msgs->b)); if (perf_msgs->b) p->set("lt_5", SrsJsonAny::integer(perf_msgs->b));
if (perf_msgs->c) p->set("lt_9", SrsJsonAny::integer(perf_msgs->c)); if (perf_msgs->c) p->set("lt_9", SrsJsonAny::integer(perf_msgs->c));
if (perf_msgs->d) p->set("lt_16", SrsJsonAny::integer(perf_msgs->d)); if (perf_msgs->d) p->set("lt_16", SrsJsonAny::integer(perf_msgs->d));
if (perf_msgs->e) p->set("lt_32", SrsJsonAny::integer(perf_msgs->e)); if (perf_msgs->e) p->set("lt_32", SrsJsonAny::integer(perf_msgs->e));
if (perf_msgs->f) p->set("lt_64", SrsJsonAny::integer(perf_msgs->f)); if (perf_msgs->f) p->set("lt_64", SrsJsonAny::integer(perf_msgs->f));
if (perf_msgs->g) p->set("lt_128", SrsJsonAny::integer(perf_msgs->g)); if (perf_msgs->g) p->set("lt_128", SrsJsonAny::integer(perf_msgs->g));
if (perf_msgs->h) p->set("lt_256", SrsJsonAny::integer(perf_msgs->h)); if (perf_msgs->h) p->set("lt_256", SrsJsonAny::integer(perf_msgs->h));
if (perf_msgs->i) p->set("lt_1000", SrsJsonAny::integer(perf_msgs->i)); if (perf_msgs->i) p->set("lt_1000", SrsJsonAny::integer(perf_msgs->i));
if (perf_msgs->j) p->set("gt_1000", SrsJsonAny::integer(perf_msgs->j)); if (perf_msgs->j) p->set("gt_1000", SrsJsonAny::integer(perf_msgs->j));
} }
if (true) { if (true) {
@ -700,16 +700,16 @@ srs_error_t SrsStatistic::dumps_perf_writev(SrsJsonObject* obj)
// h: <256 // h: <256
// i: <1000 // i: <1000
// j: >=1000 // j: >=1000
if (perf_iovs->a) p->set("lt_3", SrsJsonAny::integer(perf_iovs->a)); if (perf_iovs->a) p->set("lt_3", SrsJsonAny::integer(perf_iovs->a));
if (perf_iovs->b) p->set("lt_5", SrsJsonAny::integer(perf_iovs->b)); if (perf_iovs->b) p->set("lt_5", SrsJsonAny::integer(perf_iovs->b));
if (perf_iovs->c) p->set("lt_9", SrsJsonAny::integer(perf_iovs->c)); if (perf_iovs->c) p->set("lt_9", SrsJsonAny::integer(perf_iovs->c));
if (perf_iovs->d) p->set("lt_16", SrsJsonAny::integer(perf_iovs->d)); if (perf_iovs->d) p->set("lt_16", SrsJsonAny::integer(perf_iovs->d));
if (perf_iovs->e) p->set("lt_32", SrsJsonAny::integer(perf_iovs->e)); if (perf_iovs->e) p->set("lt_32", SrsJsonAny::integer(perf_iovs->e));
if (perf_iovs->f) p->set("lt_64", SrsJsonAny::integer(perf_iovs->f)); if (perf_iovs->f) p->set("lt_64", SrsJsonAny::integer(perf_iovs->f));
if (perf_iovs->g) p->set("lt_128", SrsJsonAny::integer(perf_iovs->g)); if (perf_iovs->g) p->set("lt_128", SrsJsonAny::integer(perf_iovs->g));
if (perf_iovs->h) p->set("lt_256", SrsJsonAny::integer(perf_iovs->h)); if (perf_iovs->h) p->set("lt_256", SrsJsonAny::integer(perf_iovs->h));
if (perf_iovs->i) p->set("lt_1000", SrsJsonAny::integer(perf_iovs->i)); if (perf_iovs->i) p->set("lt_1000", SrsJsonAny::integer(perf_iovs->i));
if (perf_iovs->j) p->set("gt_1000", SrsJsonAny::integer(perf_iovs->j)); if (perf_iovs->j) p->set("gt_1000", SrsJsonAny::integer(perf_iovs->j));
} }
return err; return err;
@ -840,14 +840,14 @@ srs_error_t SrsStatistic::dumps_perf_gso(SrsJsonObject* obj)
// h: <128 // h: <128
// i: <512 // i: <512
// j: >=512 // j: >=512
if (perf_gso->a) p->set("lt_2", SrsJsonAny::integer(perf_gso->a)); if (perf_gso->a) p->set("lt_2", SrsJsonAny::integer(perf_gso->a));
if (perf_gso->b) p->set("lt_3", SrsJsonAny::integer(perf_gso->b)); if (perf_gso->b) p->set("lt_3", SrsJsonAny::integer(perf_gso->b));
if (perf_gso->c) p->set("lt_6", SrsJsonAny::integer(perf_gso->c)); if (perf_gso->c) p->set("lt_6", SrsJsonAny::integer(perf_gso->c));
if (perf_gso->d) p->set("lt_9", SrsJsonAny::integer(perf_gso->d)); if (perf_gso->d) p->set("lt_9", SrsJsonAny::integer(perf_gso->d));
if (perf_gso->e) p->set("lt_16", SrsJsonAny::integer(perf_gso->e)); if (perf_gso->e) p->set("lt_16", SrsJsonAny::integer(perf_gso->e));
if (perf_gso->f) p->set("lt_32", SrsJsonAny::integer(perf_gso->f)); if (perf_gso->f) p->set("lt_32", SrsJsonAny::integer(perf_gso->f));
if (perf_gso->g) p->set("lt_64", SrsJsonAny::integer(perf_gso->g)); if (perf_gso->g) p->set("lt_64", SrsJsonAny::integer(perf_gso->g));
if (perf_gso->h) p->set("lt_128", SrsJsonAny::integer(perf_gso->h)); if (perf_gso->h) p->set("lt_128", SrsJsonAny::integer(perf_gso->h));
if (perf_gso->i) p->set("lt_512", SrsJsonAny::integer(perf_gso->i)); if (perf_gso->i) p->set("lt_512", SrsJsonAny::integer(perf_gso->i));
if (perf_gso->j) p->set("gt_512", SrsJsonAny::integer(perf_gso->j)); if (perf_gso->j) p->set("gt_512", SrsJsonAny::integer(perf_gso->j));
} }