(2012-10-24 23:35:00)
It is work in pgoress.
For comments and info please use comment button or contant andyhelp@gmail.com
Load the library
source("rbuildbot.R")
## Loading required package: bitops
Get all builders
builders <- bb_getBuilders()
builders <- builders[1:4] #reduce number of builders
builders
## [1] "coverage" "db-mysql" "db-postgres" "deb-master"
Fetching data
b <- bb_getBuilds(builder = builders, buildNr = -1:-15)
builds = b[[1]]
changes = b[[2]]
head(builds)
## builderName number slave result time_start time_end
## 1 coverage 1325 buildbot.net build successful 1.351e+09 1.351e+09
## 2 coverage 1324 buildbot.net build successful 1.351e+09 1.351e+09
## 3 coverage 1323 buildbot.net build successful 1.351e+09 1.351e+09
## 4 coverage 1322 buildbot.net build successful 1.350e+09 1.350e+09
## 5 coverage 1321 buildbot.net build successful 1.350e+09 1.350e+09
## 6 coverage 1320 buildbot.net build successful 1.350e+09 1.350e+09
head(changes)
## change_number change_time builder_name build_number
## 1 5944 1.351e+09 coverage 1325
## 2 5942 1.351e+09 coverage 1324
## 3 5943 1.351e+09 coverage 1324
## 4 5936 1.351e+09 coverage 1323
## 5 5937 1.351e+09 coverage 1323
## 6 5907 1.348e+09 coverage 1322
library(lattice)
boxplot((builds$time_end - builds$time_start)/60 ~ builds$builderName, data = builds,
main = "Projects build time", ylab = "Build time [min]")
histogram(~(builds$time_end - builds$time_start)/60 | builds$builderName, data = builds,
main = "Projects build time", xlab = "Build time [min]")
Plots for each project
for (builder in builders) {
s <- subset(builds, builds$builderName == builder) #data for specific builder
boxplot((s$time_end - s$time_start)/60 ~ s$slave, data = s, las = 2, main = substitute(paste(builder,
" build time", sep = ""), list(builder = builder)), ylab = "build time [min]")
grid(nx = NULL, ny = NULL)
histogram(~(s$time_end - s$time_start)/60 | s$slave * s$builderName, data = s,
ylab = "Build time [min]")
}
Time between changeset was pushed to buildbot and starting the build with that changeset included.
m <- merge(x = builds, y = changes, by.x = c("number", "builderName"), by.y = c("build_number",
"builder_name"))
head(m)
## number builderName slave result time_start time_end
## 1 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## 2 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## 3 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## 4 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## 5 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## 6 1311 coverage buildbot.net build successful 1.349e+09 1.349e+09
## change_number change_time
## 1 5810 1.349e+09
## 2 5811 1.349e+09
## 3 5812 1.349e+09
## 4 5813 1.349e+09
## 5 5814 1.349e+09
## 6 5815 1.349e+09
summary((m$time_start - m$change_time)/60)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -3 9 263 5200 4040 33000
hist((m$time_start - m$change_time)/60, main = "Changet wait time", xlab = "wait time [min]")
boxplot((m$time_start - m$change_time)/60 ~ m$builderName, data = m, las = 2,
main = "Changeset waiting time")
Time between changeset was pushed to buildbot and build with that changeset included finishes.
hist((m$time_end - m$change_time)/60, main = "Changet result/build time", xlab = "wait time [min]")
boxplot((m$time_end - m$change_time)/60 ~ m$builderName, data = m, las = 2,
main = "Changeset result/build time")