tracers+docs: Correcting compilation and installation of trace helpers
Also in this commit an example on how to use trace helpers, including
how to build graphs using R.
diff --git a/examples/graphs/rate-graph.R b/examples/graphs/rate-graph.R
new file mode 100755
index 0000000..6d63298
--- /dev/null
+++ b/examples/graphs/rate-graph.R
@@ -0,0 +1,88 @@
+# Copyright (c) 2012 Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+
+# install.packages ('ggplot2')
+library (ggplot2)
+# install.packages ('scales')
+library (scales)
+
+# install.packages ('doBy')
+library (doBy)
+
+#########################
+# Rate trace processing #
+#########################
+data = read.table ("rate-trace.txt", header=T)
+data$Node = factor (data$Node)
+data$FaceId <- factor(data$FaceId)
+data$Kilobits <- data$Kilobytes * 8
+data$Type = factor (data$Type)
+
+# exlude irrelevant types
+data = subset (data, Type %in% c("InInterests", "OutInterests", "InData", "OutData"))
+
+# combine stats from all faces
+data.combined = summaryBy (. ~ Time + Node + Type, data=data, FUN=sum)
+
+data.root = subset (data.combined, Node == "root")
+data.leaves = subset (data.combined, Node %in% c("leaf-1", "leaf-2", "leaf-3", "leaf-4"))
+
+# graph rates on all nodes in Kilobits
+g.all <- ggplot (data.combined) +
+ geom_point (aes (x=Time, y=Kilobits.sum, color=Type), size=1) +
+ ylab ("Rate [Kbits/s]") +
+ facet_wrap (~ Node)
+
+print (g.all)
+
+# graph rates on the root nodes in Packets
+g.root <- ggplot (data.root) +
+ geom_point (aes (x=Time, y=Kilobits.sum, color=Type), size=2) +
+ geom_line (aes (x=Time, y=Kilobits.sum, color=Type), size=0.5) +
+ ylab ("Rate [Kbits/s]")
+
+print (g.root)
+
+png ("root-rates.png", width=500, height=250)
+print (g.root)
+dev.off ()
+
+###############################
+# Aggreagate trace processing #
+###############################
+
+data = read.table ("aggregate-trace.txt", header=T)
+data$Node = factor (data$Node)
+data$FaceId <- factor(data$FaceId)
+data$Type = factor (data$Type)
+
+# exlude irrelevant types
+data = subset (data, Type %in% c("InInterests", "OutInterests", "InData", "OutData"))
+
+# Aggregate packet stats in 5-second intervals
+data$Time5Sec = 5 * ceiling (data$Time / 5)
+data.combined = summaryBy (. ~ Time5Sec + Node + Type, data=data, FUN=sum)
+
+data.root = subset (data.combined, Node == "root")
+data.leaves = subset (data.combined, Node %in% c("leaf-1", "leaf-2", "leaf-3", "leaf-4"))
+
+# graph rates on all nodes in Packets
+g.all <- ggplot (data.combined) +
+ geom_point (aes (x=Time5Sec, y=Packets.sum, color=Type), size=2) +
+ geom_line (aes (x=Time5Sec, y=Packets.sum, color=Type), size=0.5) +
+ ylab ("Number of transitted packets in 5 secon intervals") +
+ facet_wrap (~ Node)
+
+print (g.all)
+
+# graph rates on the root nodes in Packets
+g.root <- ggplot (data.root) +
+ geom_point (aes (x=Time5Sec, y=Packets.sum, color=Type), size=2) +
+ geom_line (aes (x=Time5Sec, y=Packets.sum, color=Type), size=0.5) +
+ ylab ("Number of transitted packets in 5 secon intervals") +
+ ylim (c(0,2000))
+
+print (g.root)
+
+png ("root-5sec-counts.png", width=500, height=250)
+print (g.root)
+dev.off ()