func main()

in dubbo-go-client/main.go [59:91]


func main() {
	flag.IntVar(&tps, "c", defaultTps, "TPS")
	flag.StringVar(&duration, "d", defaultDuration, "Test duration. It should be a string representing a time, like \"1h\", \"30m\", etc")
	flag.Int64Var(&fibonacciN, "n", defaultFibonacciN, "Parameter for the call to fibonacci")
	flag.Parse()

	provider := &Provider{}
	config.SetConsumerService(provider)

	if err := config.Load(); err != nil {
		panic(err)
	}

	ctx := context.TODO()

	doInvoke := func(uid int) {
		if result, err := fibonacci(ctx, provider); err != nil {
			handleErr(err)
		} else {
			fmt.Printf("result: %d\n", result)
		}
	}

	tester := testerpkg.NewStressTester()
	tester.
		SetTPS(tps).
		SetDuration(duration).
		SetTestFn(doInvoke).
		Run()
	fmt.Printf("Sent request num: %d\n", tester.GetTransactionNum())
	fmt.Printf("TPS: %.2f\n", tester.GetTPS())
	fmt.Printf("RT: %.2fs\n", tester.GetAverageRTSeconds())
}