Merges George changes
[p2p-testing-infrastructure.git] / TestSpecs / scenario04.r
1 #
2 # Copyright: George Milescu 2010 - george.milescu@gmail.com
3 #
4 # R script used to plot the results of a scenario
5
6 # import ggplot2
7 library(ggplot2)
8
9 # Read transmitted command line arguments
10 args <- commandArgs(trailingOnly = TRUE)
11
12 # The data files are located in the target folder. Also, the graph will be saved in the target folder.
13 target_folder <- args[2]
14 campaign_name <- args[3]
15 rm(args)
16
17 # read data from the data file
18 doe=read.table(paste(target_folder, "p2p-next-01.log.data", sep="/"), header=T, sep=" ")
19 proxy01=read.table(paste(target_folder, "p2p-next-03.log.data", sep="/"), header=T, sep=" ")
20 proxy02=read.table(paste(target_folder, "p2p-next-04.log.data", sep="/"), header=T, sep=" ")
21
22 # transform KB/s to Mbit/s
23 doe$dlspeed <- doe$dlspeed*8/1000
24 proxy01$dlspeed <- proxy01$dlspeed*8/1000
25 proxy02$dlspeed <- proxy02$dlspeed*8/1000
26
27
28
29 # plot dlspeed-percent data
30 p <- ggplot() + 
31 geom_point(aes(x=doe$percent, y=doe$dlspeed, label="Doe", colour="Doe"), size=1) +
32 geom_point(aes(x=proxy01$percent, y=proxy01$dlspeed, label="Proxy 01", colour="Proxy 01"), size=1) +
33 geom_point(aes(x=proxy02$percent, y=proxy02$dlspeed, label="Proxy 02", colour="Proxy 02"), size=1) +
34 theme_bw() +
35 scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
36 scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
37 coord_cartesian() +
38 scale_colour_manual("Legend", c("Doe"="red", "Proxy 01"="blue", "Proxy 02"="green")) +
39 opts(title=paste(campaign_name, "Scenario-04: a seeded swarm (6 Seeders, 1 Doe, 2 Proxies), all peers have an 8 Mbit/s BW", sep="\n"))
40
41 # plot data as an eps file
42 postscript(paste(target_folder, "scenario04-dlspeed-percent.eps", sep="/"))
43 print(p)
44 dev.off()
45
46 # plot data as an png file
47 png(paste(target_folder, "scenario04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
48 print(p)
49 dev.off()
50
51
52
53 # plot dlspeed-time data
54 p <- ggplot() + 
55 geom_point(aes(x=doe$time, y=doe$dlspeed, label="Doe", colour="Doe"), size=1) +
56 geom_point(aes(x=proxy01$time, y=proxy01$dlspeed, label="Proxy 01", colour="Proxy 01"), size=1) +
57 geom_point(aes(x=proxy02$time, y=proxy02$dlspeed, label="Proxy 02", colour="Proxy 02"), size=1) +
58 theme_bw() +
59 scale_x_continuous("Time (s)") +
60 scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
61 coord_cartesian() +
62 scale_colour_manual("Legend", c("Doe"="red", "Proxy 01"="blue", "Proxy 02"="green")) +
63 opts(title=paste(campaign_name, "Scenario-04: a seeded swarm (6 Seeders, 1 Doe, 2 Proxies), all peers have an 8 Mbit/s BW", sep="\n"))
64
65 # plot data as an eps file
66 postscript(paste(target_folder, "scenario04-dlspeed-time.eps", sep="/"))
67 print(p)
68 dev.off()
69
70 # plot data as an png file
71 png(paste(target_folder, "scenario04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
72 print(p)
73 dev.off()