WIP links graph
This commit is contained in:
parent
46bf9fbc25
commit
f20cfc990d
3 changed files with 42 additions and 4 deletions
|
@ -52,3 +52,17 @@ v3 <- ggplot(data = thunder_bw, aes(x = jmax, y=sent_ratio, fill=links)) +
|
||||||
|
|
||||||
t1 <- plot_grid(v1, v2, v3, labels = c('A', 'B', 'C'), ncol=1)
|
t1 <- plot_grid(v1, v2, v3, labels = c('A', 'B', 'C'), ncol=1)
|
||||||
t1 + ggsave("thunder_configure.png", dpi=300, dev='png', height=15, width=15, units="cm")
|
t1 + ggsave("thunder_configure.png", dpi=300, dev='png', height=15, width=15, units="cm")
|
||||||
|
|
||||||
|
thunder_links <- read.csv("thunder_configure_12_links.csv")
|
||||||
|
links_down_at_least_once <- sqldf("select run,xp_time,link_id, COUNT(status) as downcount, SUM(delta) as elapsed from thunder_links where status='down' group by run,link_id,xp_time")
|
||||||
|
links_down_at_least_once2 <- sqldf("select row_number () OVER (PARTITION BY run ORDER BY elapsed DESC) sorting,run,link_id,downcount,elapsed,xp_time,1.0*elapsed/xp_time down_ratio from links_down_at_least_once")
|
||||||
|
links_down_at_least_once2$sorting <- as.factor(links_down_at_least_once2$sorting)
|
||||||
|
ggplot(data = links_down_at_least_once2, aes(x = sorting, y=down_ratio)) +
|
||||||
|
geom_boxplot() +
|
||||||
|
#scale_y_log10() +
|
||||||
|
scale_y_log10(labels = scales::percent) +
|
||||||
|
scale_fill_grey() +
|
||||||
|
ylab("down ratio") +
|
||||||
|
xlab("sorting") +
|
||||||
|
theme_classic()
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,35 @@
|
||||||
|
|
||||||
import sys,re
|
import sys,re
|
||||||
|
|
||||||
|
acc = []
|
||||||
|
previous=None
|
||||||
for line in sys.stdin:
|
for line in sys.stdin:
|
||||||
res = re.match(r"\[(\d+)\] Blacklisted links: ([_U]+)", line)
|
res = re.match(r"\[(\d+)\] Blacklisted links: ([_U]+)", line)
|
||||||
if not res: continue
|
if not res: continue
|
||||||
ts,l = res.groups()
|
ts,l = res.groups()
|
||||||
|
ts = int(ts)
|
||||||
l2 = [(i, 'up' if l[i] == "U" else 'down') for i in range(len(l))]
|
l2 = [(i, 'up' if l[i] == "U" else 'down') for i in range(len(l))]
|
||||||
for i,v in l2:
|
acc.append((ts,l2))
|
||||||
print(f"{sys.argv[1]},{ts},{i},{v}")
|
|
||||||
|
l2 = None
|
||||||
|
if len(acc) <= 0: sys.exit(0)
|
||||||
|
|
||||||
|
ts_first, l_first = acc[0]
|
||||||
|
ts_last, l_last = acc[len(acc) - 1]
|
||||||
|
xp_time = ts_last - ts_first
|
||||||
|
durations = [0 for i,v in l_first]
|
||||||
|
|
||||||
|
for j in range(len(acc)):
|
||||||
|
ts, l = acc[j]
|
||||||
|
|
||||||
|
ts_next, l_next = acc[j]
|
||||||
|
if j+1 < len(acc): ts_next, l_next = acc[j+1]
|
||||||
|
|
||||||
|
delta = ts_next - ts
|
||||||
|
for i,v in l:
|
||||||
|
durations[i] += delta
|
||||||
|
i_next,v_next = l_next[i]
|
||||||
|
will_change = v != v_next or j+1 == len(acc)
|
||||||
|
print(f"{sys.argv[1]},{ts},{i},{v},{delta},{durations[i]},{will_change},{xp_time}")
|
||||||
|
if will_change: durations[i] = 0
|
||||||
|
|
||||||
|
|
|
@ -51,10 +51,10 @@ parse_thunder_bw() {
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_thunder_links() {
|
parse_thunder_links() {
|
||||||
echo "run,ts,link_id,status"
|
echo "run,ts,link_id,status,delta,duration,will_change,xp_time"
|
||||||
get_xp $1 | while read r; do
|
get_xp $1 | while read r; do
|
||||||
for i in $(seq 0 1 $2); do
|
for i in $(seq 0 1 $2); do
|
||||||
grep -q 'thunder-server 8' out/$r-$i/info.txt && cat out/$r-$i/log/client-donar-stdout.log | ./links_parse.py $r-$i
|
grep -q 'thunder-client 9900 30 100 8 150' out/$r-$i/info.txt && cat out/$r-$i/log/client-donar-stdout.log | ./links_parse.py $r-$i || true
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue