Golang:使用gobench进行多次测试

Golang:使用gobench进行多次测试,go,Go,我正在与wich合作,它帮助我们测试一个请求,并对性能进行了一些度量 我对发送url做了修改,我需要在每次调用中对其进行测试。但我发现不可能调用函数两次或多次 func GobenchMain(currectRoute *string) { startTime := time.Now() var done sync.WaitGroup results := make(map[int]*Result) ... } 之后,我意识到gobench文件的问题就在这一部分: s

我正在与wich合作,它帮助我们测试一个请求,并对性能进行了一些度量

我对发送url做了修改,我需要在每次调用中对其进行测试。但我发现不可能调用函数两次或多次

func GobenchMain(currectRoute *string) {
    startTime := time.Now()

    var done sync.WaitGroup
    results := make(map[int]*Result)
...
}
之后,我意识到gobench文件的问题就在这一部分:

signalChannel := make(chan os.Signal, 2)
    signal.Notify(signalChannel, os.Interrupt, syscall.SIGTERM)
    go func() {
        _ = <-signalChannel
        printResults(results, startTime)
        os.Exit(0)
    }()
signalChannel:=make(信道操作信号,2)
signal.Notify(signalChannel、os.Interrupt、syscall.SIGTERM)
go func(){

_=
gobench
从未被设计为用作库

把二进制文件叫做这样的东西

package main

import (
    "log"
    "os/exec"
)

func gobench(url string) {
    cmd := exec.Command("gobench", url)
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Command finished with error: %v", err)
    }
}

var searchRoutes = []string{
    "http:www.myurl.com/request1",
    "http:www.myurl.com/request2",
    "http:www.myurl.com/request3",
    "http:www.myurl.com/request4",
}

func main() {
    for i := 0; i < len(searchRoutes); i++ {
        gobench(searchRoutes[i])
    }
}
主程序包
进口(
“日志”
“os/exec”
)
func gobench(url字符串){
cmd:=exec.Command(“gobench”,url)
err:=cmd.Run()
如果错误!=零{
log.Fatalf(“命令完成时出现错误:%v”,err)
}
}
var searchRoutes=[]字符串{
“http:www.myurl.com/request1”,
“http:www.myurl.com/request2”,
“http:www.myurl.com/request3”,
“http:www.myurl.com/request4”,
}
func main(){
对于i:=0;i
问题是什么?
package main

import (
    "log"
    "os/exec"
)

func gobench(url string) {
    cmd := exec.Command("gobench", url)
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Command finished with error: %v", err)
    }
}

var searchRoutes = []string{
    "http:www.myurl.com/request1",
    "http:www.myurl.com/request2",
    "http:www.myurl.com/request3",
    "http:www.myurl.com/request4",
}

func main() {
    for i := 0; i < len(searchRoutes); i++ {
        gobench(searchRoutes[i])
    }
}