| #!/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) |