Example #1
0
func benchmarkVariesContainerNumber(d *helpers.DockerHelper) {
	cfg := variesContainerNumConfig
	deadContainers := cfg["dead"].([]int)
	aliveContainers := cfg["alive"].([]int)
	period := cfg["period"].(time.Duration)
	interval := cfg["interval"].(time.Duration)
	dead := deadContainers[0]
	alive := aliveContainers[0]
	ids := append(d.CreateDeadContainers(dead), d.CreateAliveContainers(alive)...)
	func() {
		defer d.LogError()
		helpers.LogTitle("varies_container")
		helpers.LogEVar(map[string]interface{}{
			"period":   period,
			"interval": interval,
		})
		helpers.LogLabels("#dead", "#alive", "#total")
		for i, num := range append(deadContainers, aliveContainers...) {
			if i < len(deadContainers) {
				// Create more dead containers
				ids = append(ids, d.CreateDeadContainers(num-dead)...)
				dead = num
			} else {
				// Create more alive containers
				ids = append(ids, d.CreateAliveContainers(num-alive)...)
				alive = num
			}
			total := dead + alive
			latencies := d.DoListContainerBenchmark(interval, period, true)
			helpers.LogResult(latencies, helpers.Itoas(dead, alive, total)...)
			latencies = d.DoListContainerBenchmark(interval, period, false)
			helpers.LogResult(latencies, helpers.Itoas(dead, alive, total)...)
			latencies = d.DoInspectContainerBenchmark(interval, period, ids)
			helpers.LogResult(latencies, helpers.Itoas(dead, alive, total)...)
		}
	}()
}