Skip to content

Commit b6a7386

Browse files
committed
chore: Adding tracer and pprof handler
Signed-off-by: Vincent Boutour <[email protected]>
1 parent 66f286a commit b6a7386

File tree

3 files changed

+19
-151
lines changed

3 files changed

+19
-151
lines changed

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ Usage of api:
9898
[server] Read Timeout {API_READ_TIMEOUT} (default "5s")
9999
-shutdownTimeout string
100100
[server] Shutdown Timeout {API_SHUTDOWN_TIMEOUT} (default "10s")
101+
-tracerRate string
102+
[tracer] Jaeger sample rate, 'always', 'never' or a float value {API_TRACER_RATE} (default "always")
103+
-tracerURL string
104+
[tracer] Jaeger endpoint URL (e.g. http://jaeger:14268/api/traces) {API_TRACER_URL}
101105
-url string
102106
[alcotest] URL to check {API_URL}
103107
-userAgent string

cmd/goweb/api.go

+15
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package main
22

33
import (
44
"flag"
5+
"fmt"
56
"net/http"
67
"os"
78
"strings"
89

10+
_ "net/http/pprof"
11+
912
"github.com/ViBiOh/flags"
1013
"github.com/ViBiOh/goweb/pkg/delay"
1114
"github.com/ViBiOh/goweb/pkg/dump"
@@ -18,7 +21,9 @@ import (
1821
"github.com/ViBiOh/httputils/v4/pkg/owasp"
1922
"github.com/ViBiOh/httputils/v4/pkg/prometheus"
2023
"github.com/ViBiOh/httputils/v4/pkg/recoverer"
24+
"github.com/ViBiOh/httputils/v4/pkg/request"
2125
"github.com/ViBiOh/httputils/v4/pkg/server"
26+
"github.com/ViBiOh/httputils/v4/pkg/tracer"
2227
)
2328

2429
const (
@@ -36,6 +41,7 @@ func main() {
3641

3742
alcotestConfig := alcotest.Flags(fs, "")
3843
loggerConfig := logger.Flags(fs, "logger")
44+
tracerConfig := tracer.Flags(fs, "tracer")
3945
prometheusConfig := prometheus.Flags(fs, "prometheus", flags.NewOverride("Gzip", false))
4046
owaspConfig := owasp.Flags(fs, "")
4147
corsConfig := cors.Flags(fs, "cors")
@@ -48,6 +54,15 @@ func main() {
4854
logger.Global(logger.New(loggerConfig))
4955
defer logger.Close()
5056

57+
tracerApp, err := tracer.New(tracerConfig)
58+
logger.Fatal(err)
59+
defer tracerApp.Close()
60+
request.AddTracerToDefaultClient(tracerApp.GetProvider())
61+
62+
go func() {
63+
fmt.Println(http.ListenAndServe("localhost:9999", http.DefaultServeMux))
64+
}()
65+
5166
appServer := server.New(appServerConfig)
5267
promServer := server.New(promServerConfig)
5368
prometheusApp := prometheus.New(prometheusConfig)

0 commit comments

Comments
 (0)