#!/usr/bin/env Rscript # To use this script you'll need to install R: http://www.r-project.org/ # and a library for R called ggplot2 # Which can be done by starting R and typing install.packages("ggplot2") # like this: # # shell% R # R version 2.11.0 beta (2010-04-12 r51689) # > install.packages("ggplot2") # (follow prompt) # # Then you can try this script by providing a full path to .data file # outputed from 'make bench' # # > cd ~/src/node # > make bench # ... # > ./benchmark/plot.R .benchmark_reports/ab-hello-world-buffer-1024/ff456b38862de3fd0118c6ac6b3f46edb1fbb87f/20101013162056.data # # This will generate a PNG file which you can view # # # Hopefully these steps will be automated in the future. library(ggplot2) args <- commandArgs(TRUE) ab.load <- function (filename, name) { raw <- data.frame(read.csv(filename, sep="\t", header=T), server=name) raw <- data.frame(raw, time=raw$seconds-min(raw$seconds)) raw <- data.frame(raw, time_s=raw$time/1000000) raw } #ab.tsPoint <- function (d) { # qplot(time_s, ttime, data=d, facets=server~., # geom="point", alpha=I(1/15), ylab="response time (ms)", # xlab="time (s)", main="c=30, res=26kb", # ylim=c(0,100)) #} # #ab.tsLine <- function (d) { # qplot(time_s, ttime, data=d, facets=server~., # geom="line", ylab="response time (ms)", # xlab="time (s)", main="c=30, res=26kb", # ylim=c(0,100)) #} filename <- args[0:1] data <- ab.load(filename, "node") # histogram #hist_png_filename <- gsub(".data", "_hist.png", filename) hist_png_filename <- "hist.png" png(filename = hist_png_filename, width = 480, height = 380, units = "px") qplot(ttime, data=data, geom="histogram", main="xxx", binwidth=1, xlab="response time (ms)", xlim=c(0,100)) print(hist_png_filename) # time series #ts_png_filename <- gsub(".data", "_ts.png", filename) ts_png_filename = "ts.png" png(filename = ts_png_filename, width = 480, height = 380, units = "px") qplot(time, ttime, data=data, facets=server~., geom="point", alpha=I(1/15), ylab="response time (ms)", xlab="time (s)", main="xxx", ylim=c(0,100)) print(ts_png_filename)