Ejemplo n.º 1
0
func benchmarkVariesInterval(client *docker.Client) {
	alive := helpers.GetContainerNum(client, false)
	dead := helpers.GetContainerNum(client, true) - alive
	containerIDs := helpers.GetContainerIDs(client)
	cfg := variesIntervalConfig
	listIntervals := cfg["list interval"].([]time.Duration)
	listPeriod := cfg["list period"].(time.Duration)
	helpers.LogTitle("list_all")
	helpers.LogEVar(map[string]interface{}{
		"#alive": alive,
		"#dead":  dead,
		"all":    true,
		"period": listPeriod,
	})
	helpers.LogLabels("interval")
	for _, curInterval := range listIntervals {
		latencies := helpers.DoListContainerBenchmark(client, curInterval, listPeriod, true)
		helpers.LogResult(latencies, helpers.Itoas(int(curInterval/time.Millisecond))...)
	}

	helpers.LogTitle("list_alive")
	helpers.LogEVar(map[string]interface{}{
		"#alive": alive,
		"#dead":  dead,
		"all":    false,
		"period": listPeriod,
	})
	helpers.LogLabels("interval")
	for _, curInterval := range listIntervals {
		latencies := helpers.DoListContainerBenchmark(client, curInterval, listPeriod, false)
		helpers.LogResult(latencies, helpers.Itoas(int(curInterval/time.Millisecond))...)
	}

	inspectIntervals := cfg["inspect interval"].([]time.Duration)
	inspectPeriod := cfg["inspect period"].(time.Duration)
	helpers.LogTitle("inspect")
	helpers.LogEVar(map[string]interface{}{
		"#alive": alive,
		"#dead":  dead,
		"period": inspectPeriod,
	})
	helpers.LogLabels("interval")
	for _, curInterval := range inspectIntervals {
		latencies := helpers.DoInspectContainerBenchmark(client, curInterval, inspectPeriod, containerIDs)
		helpers.LogResult(latencies, helpers.Itoas(int(curInterval/time.Millisecond))...)
	}
}
Ejemplo n.º 2
0
func benchmarkVariesRoutineNumber(client *docker.Client) {
	alive := helpers.GetContainerNum(client, false)
	dead := helpers.GetContainerNum(client, true) - alive
	containerIDs := helpers.GetContainerIDs(client)
	cfg := variesRoutineNumConfig
	routines := cfg["routines"].([]int)
	period := cfg["period"].(time.Duration)

	listInterval := cfg["list interval"].(time.Duration)
	helpers.LogTitle("list_all")
	helpers.LogEVar(map[string]interface{}{
		"#alive":   alive,
		"#dead":    dead,
		"all":      true,
		"interval": listInterval,
		"period":   period,
	})
	helpers.LogLabels("#routines")
	for _, curRoutineNumber := range routines {
		latencies := helpers.DoParallelListContainerBenchmark(client, listInterval, period, curRoutineNumber, true)
		helpers.LogResult(latencies, helpers.Itoas(curRoutineNumber)...)
	}

	inspectInterval := cfg["inspect interval"].(time.Duration)
	helpers.LogTitle("inspect")
	helpers.LogEVar(map[string]interface{}{
		"#alive":   alive,
		"#dead":    dead,
		"interval": inspectInterval,
		"period":   period,
	})
	helpers.LogLabels("#routines")
	for _, curRoutineNumber := range routines {
		latencies := helpers.DoParallelInspectContainerBenchmark(client, inspectInterval, period, curRoutineNumber, containerIDs)
		helpers.LogResult(latencies, helpers.Itoas(curRoutineNumber)...)
	}
}