Much like unit testing, benchmark testing within Go is very simple, as Go provides a great abstraction. Also like unit testing, there is a strong convention for naming your benchmark tests. Benchmark tests need to include the word Benchmark at the beginning of the function name. In addition, the parameter expected is the *testing.B type instead of the *testing.T structure. Here is an example in which we benchmark our /health-check endpoint, which can be found in $GOPATH/src/github.com/PacktPublishing/Echo-Essentials/chapter7/handlers/health_check_test.go:
func BenchmarkHealthCheck(b *testing.B) { e := echo.New() e.Pre(middlewares.RequestIDMiddleware) e.GET("/health-check", HealthCheck) w := httptest.NewRecorder() r, _ := http.NewRequest("GET", "/health-check", nil) ...