library(ggplot2) library(sqldf) library(plyr) lib library(cowplot) link_info <- read.csv("../res/tmp_graph/u.txt") ggplot(data=link_info, aes(x=timestamp, y=link, color=speed)) + #geom_line() + geom_point() + theme_classic() xx <- read.csv("../../donar-res/tmp_light/v2.csv") xx2 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx group by packet_id,way") ggplot(data=xx2, aes(x=packet_id, y=lat, color=way)) + geom_line() + geom_hline(yintercept=400) + geom_hline(yintercept=200) + coord_cartesian(ylim=c(0,1000)) + #geom_point() + theme_classic() xx4 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx where flag = 0 group by packet_id,way") ggplot(data=xx4, aes(x=packet_id, y=lat, color=way)) + geom_line() + geom_hline(yintercept=400) + geom_hline(yintercept=200) + coord_cartesian(ylim=c(0,1000)) + #geom_point() + theme_classic() xx5 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx where flag = 1 group by packet_id,way") ggplot(data=xx5, aes(x=packet_id, y=lat, color=way)) + geom_line() + geom_hline(yintercept=400) + geom_hline(yintercept=200) + coord_cartesian(ylim=c(0,1000)) + #geom_point() + theme_classic() prepros <- sqldf( "select r.packet_id, r.way, r.lat, s.flag from (select packet_id, way, min(latency) as lat from xx group by packet_id,way) as r, xx as s where s.packet_id = r.packet_id and s.way = r.way and r.lat = s.latency") xx3 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,flag,way from xx group by packet_id,way,flag") xx3$flag <- factor(xx3$flag) ggplot(data=xx3, aes(x=lat, group=flag, color=flag)) + stat_ecdf(pad = FALSE) + geom_vline(xintercept = 200) + geom_vline(xintercept = 400) + coord_cartesian(xlim=c(0,1200)) + theme_classic() xy <- read.csv("../../donar-res/tmp_light/light.csv") xz <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way,conf,run from xy where packet_id > 50 and packet_id < 7400 group by packet_id,way,conf,run") xz$conf <- factor(xz$conf) ggplot(data=xz, aes(x=lat, group=conf, color=conf)) + stat_ecdf(pad = FALSE) + geom_vline(xintercept = 200) + geom_vline(xintercept = 400) + coord_cartesian(xlim=c(0,600)) + theme_classic() ggplot(data=xz, aes(y=lat, x=conf)) + geom_violin(scale='width') + geom_boxplot(width=0.1, outlier.shape=NA) + theme_classic() xa <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way,conf,run from xy group by packet_id,way,conf,run") ggplot(data=sqldf("select * from xa where run='out/I0mj7t5OJu9DGMq1-6'"), aes(x=packet_id, y=lat, color=way)) + geom_line() + geom_hline(yintercept=400) + geom_hline(yintercept=200) + coord_cartesian(ylim=c(0,1000)) + #geom_point(aes(shape=conf)) + theme_classic() xb <- read.csv("../../donar-res/tmp_light/v1.csv") xb$flag <- factor(xb$flag) xb$link_id <- factor(xb$link_id) xc <- sqldf("select *, 1.0 * latency / 1000.0 as lat from xb where vanilla = 1 and link_id = 5") ggplot(data=xc, aes(x=packet_id, y=lat, color=link_id:way)) + coord_cartesian(ylim=c(100,600)) + geom_line() + #geom_point() + theme_classic() ggplot(data=sqldf("select packet_id,way,latency,1.0 * MIN(latency) / 1000 as lat from xb group by packet_id,way"), aes(x=packet_id, y=lat, color=way)) + coord_cartesian(ylim=c(100,600)) + geom_line() + #geom_point() + theme_classic() xd <- sqldf(" select lat, xb.latency, vanilla, xb.packet_id, xb.way, link_id, flag from (select packet_id,way,latency,1.0 * MIN(latency) / 1000 as lat from xb group by packet_id,way) nn, xb where xb.latency = nn.latency and xb.packet_id = nn.packet_id and xb.way = nn.way ") ggplot(data=xd, aes(x=packet_id, y=lat, color=link_id)) + #coord_cartesian(ylim=c(0,1000),xlim=c(3200,3500)) + geom_line() + theme_classic() ggplot(data=sqldf("select * from xb where vanilla = 1 and way= 'client'"), aes(x=packet_id, y=link_id, color=flag)) + geom_point() + theme_classic() torbw <- read.csv("../../donar-res/tmp_light/tor_bw.csv") torbw <- sqldf("select *, 1.0 * latency / 1000.0 as lat from torbw") torbw2 <- torbw %>% dplyr::group_by(rate) %>% dplyr::summarise( third = quantile(lat,0.75), median = median(lat) ) coefs <- coef(lm(median ~ rate, data = torbw2)) coefs2 <- coef(lm(third ~ rate, data = torbw2)) lats <- ggplot(torbw, aes(x=rate,y=lat, group=rate)) + coord_cartesian(ylim=c(0,650)) + geom_hline(yintercept=400, linetype="dashed") + geom_hline(yintercept=200, linetype="dashed") + ylab("latency (ms)") + xlab("packets/sec") + geom_abline(intercept = coefs[1], slope = coefs[2]) + geom_abline(intercept = coefs2[1], slope = coefs2[2]) + geom_boxplot(outlier.shape = NA) + theme_classic() lats + ggsave("tor_bw.png", dpi=300, dev='png', height=8, width=15, units="cm")