Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
a6cfd4df
Commit
a6cfd4df
authored
Dec 06, 2020
by
Hejing Li
Browse files
paper data: utils iperf.py
parent
8b1c4976
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
62 additions
and
0 deletions
+62
-0
results/paper_data/utils/iperf.py
results/paper_data/utils/iperf.py
+62
-0
No files found.
results/paper_data/utils/iperf.py
0 → 100644
View file @
a6cfd4df
import
glob
import
json
import
os
import
fnmatch
import
re
import
itertools
import
sys
def
parse_iperf_run
(
data
,
skip
=
1
,
use
=
8
):
tp_pat
=
re
.
compile
(
r
'\[ *\d*\] *([0-9\.]*)- *([0-9\.]*) sec.*Bytes *([0-9\.]*) ([GM])bits.*'
)
tps_time
=
{}
for
hn
in
fnmatch
.
filter
(
data
[
'sims'
].
keys
(),
'host.client.*'
):
sim
=
data
[
'sims'
][
hn
]
for
l
in
sim
[
'stdout'
]:
m
=
tp_pat
.
match
(
l
)
if
not
m
:
continue
time
=
int
(
float
(
m
.
group
(
1
)))
if
time
<
skip
:
continue
if
time
>=
skip
+
use
:
continue
if
not
time
in
tps_time
:
tps_time
[
time
]
=
[]
if
m
.
group
(
4
)
==
'G'
:
tps_time
[
time
].
append
(
float
(
m
.
group
(
3
)))
elif
m
.
group
(
4
)
==
'M'
:
m_tps
=
float
(
m
.
group
(
3
))
/
1000
tps_time
[
time
].
append
(
m_tps
)
tps
=
[]
for
t
in
sorted
(
tps_time
.
keys
()):
x
=
sum
(
tps_time
[
t
])
tps
.
append
(
x
)
if
len
(
tps
)
==
0
:
return
None
return
sum
(
tps
)
/
len
(
tps
)
def
parse_iperf
(
basename
,
skip
=
1
,
use
=
8
):
runs
=
[]
for
path
in
glob
.
glob
(
basename
+
'-*.json'
):
if
path
==
basename
+
'-0.json'
:
# skip checkpoints
continue
with
open
(
path
,
'r'
)
as
f
:
data
=
json
.
load
(
f
)
result
=
parse_iperf_run
(
data
,
skip
,
use
)
if
result
is
not
None
:
runs
.
append
(
result
)
if
not
runs
:
return
{
'avg'
:
None
,
'min'
:
None
,
'max'
:
None
}
else
:
return
{
'avg'
:
sum
(
runs
)
/
len
(
runs
),
'min'
:
min
(
runs
),
'max'
:
max
(
runs
)}
result
=
{}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment