in resources/templates/goad-redux/go-lambda/load-gen/loadgen.go [31:86]
func runner(client *http.Client, id int, targetUrl string, retData chan<- runResult) {
startTime := time.Now()
// fmt.Printf("Run %d\n", id)
resp, err := client.Get(targetUrl)
if err != nil {
// log.Println(err)
// retData <- fmt.Sprintf("%d failed to open - %s", id, err)
// duration := time.Since(startTime)
endTime := time.Now()
duration := endTime.Sub(startTime)
retData <- runResult{
id: id,
success: false,
statusCode: -2,
bytesReceived: 0,
startTime: startTime,
endTime: endTime,
duration: duration,
}
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// log.Println(err)
// retData <- fmt.Sprintf("%d failed to read - %s", id, err)
// duration := time.Since(startTime)
endTime := time.Now()
duration := endTime.Sub(startTime)
retData <- runResult{
id: id,
success: false,
statusCode: -1,
bytesReceived: 0,
startTime: startTime,
endTime: endTime,
duration: duration,
}
return
}
bytesReceived := len(body)
// retData <- fmt.Sprintf("%d succeeded - %d status / %d bytes received", id, resp.StatusCode, bytesReceived)
// duration := time.Since(startTime)
endTime := time.Now()
duration := endTime.Sub(startTime)
retData <- runResult{
id: id,
success: true,
statusCode: resp.StatusCode,
bytesReceived: bytesReceived,
startTime: startTime,
endTime: endTime,
duration: duration,
}
}