Skip to content

Commit 975e7eb

Browse files
authored
simplify metrics, update logging (#44)
1 parent 0479b07 commit 975e7eb

File tree

13 files changed

+126
-305
lines changed

13 files changed

+126
-305
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Toolbox and building blocks for new Go projects, to get started quickly and righ
2323

2424
Pick and choose whatever is useful to you! Don't feel the need to use everything, or even to follow this structure.
2525

26+
For advanced Golang knowledge, tips & tricks, see also https://goperf.dev
27+
2628
---
2729

2830
## Getting started

cmd/cli/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,6 @@ func runCli(cCtx *cli.Context) error {
5353
log.Info("info message")
5454
log.With("key", "value").Warn("warn message")
5555
log.Error("error message", "err", errors.ErrUnsupported)
56+
5657
return nil
5758
}

cmd/httpserver/main.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,19 @@ func main() {
7373
enablePprof := cCtx.Bool("pprof")
7474
drainDuration := time.Duration(cCtx.Int64("drain-seconds")) * time.Second
7575

76+
uid := ""
77+
if logUID {
78+
uid = uuid.Must(uuid.NewRandom()).String()
79+
}
80+
7681
log := common.SetupLogger(&common.LoggingOpts{
7782
Debug: logDebug,
7883
JSON: logJSON,
7984
Service: logService,
8085
Version: common.Version,
86+
UID: uid,
8187
})
8288

83-
if logUID {
84-
id := uuid.Must(uuid.NewRandom())
85-
log = log.With("uid", id.String())
86-
}
87-
8889
cfg := &httpserver.HTTPServerConfig{
8990
ListenAddr: listenAddr,
9091
MetricsAddr: metricsAddr,

common/logging.go

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,47 @@ package common
33

44
import (
55
"log/slog"
6-
"os"
6+
7+
"github.com/go-chi/httplog/v2"
78
)
89

910
type LoggingOpts struct {
10-
Debug bool
11-
JSON bool
12-
Service string
13-
Version string
11+
Service string
12+
JSON bool
13+
Debug bool
14+
Concise bool
15+
RequestHeaders bool
16+
Version string
17+
UID string
18+
Tags map[string]string
1419
}
1520

16-
func SetupLogger(opts *LoggingOpts) (log *slog.Logger) {
21+
func SetupLogger(opts *LoggingOpts) (log *httplog.Logger) {
1722
logLevel := slog.LevelInfo
1823
if opts.Debug {
1924
logLevel = slog.LevelDebug
2025
}
2126

22-
if opts.JSON {
23-
log = slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel}))
24-
} else {
25-
log = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel}))
26-
}
27-
28-
if opts.Service != "" {
29-
log = log.With("service", opts.Service)
27+
// If version is provided, add it to the tags.
28+
if opts.Version != "" || opts.UID != "" {
29+
if opts.Tags == nil {
30+
opts.Tags = make(map[string]string)
31+
}
32+
if opts.Version != "" {
33+
opts.Tags["version"] = opts.Version
34+
}
35+
if opts.UID != "" {
36+
opts.Tags["uid"] = opts.UID
37+
}
3038
}
3139

32-
if opts.Version != "" {
33-
log = log.With("version", opts.Version)
34-
}
40+
logger := httplog.NewLogger(opts.Service, httplog.Options{
41+
JSON: opts.JSON,
42+
LogLevel: logLevel,
43+
Concise: opts.Concise,
44+
RequestHeaders: opts.RequestHeaders,
45+
Tags: opts.Tags,
46+
})
3547

36-
return log
48+
return logger
3749
}

common/utils.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package common
22

3-
import "os"
3+
import (
4+
"os"
5+
)
46

57
func GetEnv(key, defaultValue string) string {
68
if value, ok := os.LookupEnv(key); ok {

go.mod

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,28 @@ module github.com/flashbots/go-template
33
go 1.24.0
44

55
require (
6-
github.com/flashbots/go-utils v0.6.1-0.20240610084140-4461ab748667
7-
github.com/go-chi/chi/v5 v5.0.12
6+
github.com/VictoriaMetrics/metrics v1.37.0
7+
github.com/go-chi/chi/v5 v5.2.1
8+
github.com/go-chi/httplog/v2 v2.1.1
89
github.com/google/uuid v1.6.0
910
github.com/jmoiron/sqlx v1.4.0
1011
github.com/lib/pq v1.10.9
11-
github.com/prometheus/client_golang v1.19.1
1212
github.com/rubenv/sql-migrate v1.7.0
1313
github.com/stretchr/testify v1.9.0
1414
github.com/urfave/cli/v2 v2.27.2
15-
go.opentelemetry.io/contrib/instrumentation/runtime v0.46.1
16-
go.opentelemetry.io/otel/exporters/prometheus v0.44.0
17-
go.opentelemetry.io/otel/metric v1.21.0
18-
go.opentelemetry.io/otel/sdk/metric v1.21.0
1915
go.uber.org/atomic v1.11.0
2016
)
2117

2218
require (
23-
github.com/beorn7/perks v1.0.1 // indirect
24-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
2519
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
2620
github.com/davecgh/go-spew v1.1.1 // indirect
27-
github.com/ethereum/go-ethereum v1.13.14 // indirect
2821
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
29-
github.com/go-logr/logr v1.3.0 // indirect
30-
github.com/go-logr/stdr v1.2.2 // indirect
31-
github.com/holiman/uint256 v1.2.4 // indirect
3222
github.com/pmezard/go-difflib v1.0.0 // indirect
33-
github.com/prometheus/client_model v0.5.0 // indirect
34-
github.com/prometheus/common v0.48.0 // indirect
35-
github.com/prometheus/procfs v0.12.0 // indirect
23+
github.com/rogpeppe/go-internal v1.10.0 // indirect
3624
github.com/russross/blackfriday/v2 v2.1.0 // indirect
37-
github.com/sirupsen/logrus v1.9.3 // indirect
25+
github.com/valyala/fastrand v1.1.0 // indirect
26+
github.com/valyala/histogram v1.2.0 // indirect
3827
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
39-
go.opentelemetry.io/otel v1.21.0 // indirect
40-
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
41-
go.opentelemetry.io/otel/trace v1.21.0 // indirect
42-
go.uber.org/multierr v1.11.0 // indirect
43-
go.uber.org/zap v1.25.0 // indirect
44-
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
45-
golang.org/x/sys v0.17.0 // indirect
46-
google.golang.org/protobuf v1.33.0 // indirect
28+
golang.org/x/sys v0.33.0 // indirect
4729
gopkg.in/yaml.v3 v3.0.1 // indirect
4830
)

go.sum

Lines changed: 12 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,21 @@
11
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
22
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
3-
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
4-
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
5-
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
6-
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
7-
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
8-
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
3+
github.com/VictoriaMetrics/metrics v1.37.0 h1:u5Yr+HFofQyn7kgmmkufgkX0nEA6G1oEyK2eaKsVaUM=
4+
github.com/VictoriaMetrics/metrics v1.37.0/go.mod h1:r7hveu6xMdUACXvB8TYdAj8WEsKzWB0EkpJN+RDtOf8=
95
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
106
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
11-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
127
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
138
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
14-
github.com/ethereum/go-ethereum v1.13.14 h1:EwiY3FZP94derMCIam1iW4HFVrSgIcpsu0HwTQtm6CQ=
15-
github.com/ethereum/go-ethereum v1.13.14/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU=
16-
github.com/flashbots/go-utils v0.6.1-0.20240610084140-4461ab748667 h1:Zpdah3TPNH96wp4IZG8eH81WU0ISS39+b1EEuVrwGBA=
17-
github.com/flashbots/go-utils v0.6.1-0.20240610084140-4461ab748667/go.mod h1:6ZfgrAI+ApKSBF4QghFO06VfRJGGAOOyG4DO0siN2ow=
18-
github.com/go-chi/chi/v5 v5.0.12 h1:9euLV5sTrTNTRUU9POmDUvfxyj6LAABLUcEWO+JJb4s=
19-
github.com/go-chi/chi/v5 v5.0.12/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
9+
github.com/go-chi/chi/v5 v5.2.1 h1:KOIHODQj58PmL80G2Eak4WdvUzjSJSm0vG72crDCqb8=
10+
github.com/go-chi/chi/v5 v5.2.1/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops=
11+
github.com/go-chi/httplog/v2 v2.1.1 h1:ojojiu4PIaoeJ/qAO4GWUxJqvYUTobeo7zmuHQJAxRk=
12+
github.com/go-chi/httplog/v2 v2.1.1/go.mod h1:/XXdxicJsp4BA5fapgIC3VuTD+z0Z/VzukoB3VDc1YE=
2013
github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs=
2114
github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw=
22-
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
23-
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
24-
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
25-
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
26-
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
2715
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
2816
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
29-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
30-
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
3117
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
3218
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
33-
github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU=
34-
github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
3519
github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o=
3620
github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=
3721
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
@@ -46,62 +30,28 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
4630
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
4731
github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
4832
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
49-
github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
50-
github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
51-
github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
52-
github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
53-
github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
54-
github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
55-
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
56-
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
5733
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
5834
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
5935
github.com/rubenv/sql-migrate v1.7.0 h1:HtQq1xyTN2ISmQDggnh0c9U3JlP8apWh8YO2jzlXpTI=
6036
github.com/rubenv/sql-migrate v1.7.0/go.mod h1:S4wtDEG1CKn+0ShpTtzWhFpHHI5PvCUtiGI+C+Z2THE=
6137
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
6238
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
63-
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
64-
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
65-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
66-
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
6739
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
6840
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
6941
github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI=
7042
github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM=
43+
github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G8=
44+
github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
45+
github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ=
46+
github.com/valyala/histogram v1.2.0/go.mod h1:Hb4kBwb4UxsaNbbbh+RRz8ZR6pdodR57tzWUS3BUzXY=
7147
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw=
7248
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk=
73-
go.opentelemetry.io/contrib/instrumentation/runtime v0.46.1 h1:m9ReioVPIffxjJlGNRd0d5poy+9oTro3D+YbiEzUDOc=
74-
go.opentelemetry.io/contrib/instrumentation/runtime v0.46.1/go.mod h1:CANkrsXNzqOKXfOomu2zhOmc1/J5UZK9SGjrat6ZCG0=
75-
go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=
76-
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
77-
go.opentelemetry.io/otel/exporters/prometheus v0.44.0 h1:08qeJgaPC0YEBu2PQMbqU3rogTlyzpjhCI2b58Yn00w=
78-
go.opentelemetry.io/otel/exporters/prometheus v0.44.0/go.mod h1:ERL2uIeBtg4TxZdojHUwzZfIFlUIjZtxubT5p4h1Gjg=
79-
go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4=
80-
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
81-
go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=
82-
go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E=
83-
go.opentelemetry.io/otel/sdk/metric v1.21.0 h1:smhI5oD714d6jHE6Tie36fPx4WDFIg+Y6RfAY4ICcR0=
84-
go.opentelemetry.io/otel/sdk/metric v1.21.0/go.mod h1:FJ8RAsoPGv/wYMgBdUJXOm+6pzFY3YdljnXtv1SBE8Q=
85-
go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=
86-
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
8749
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
8850
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
89-
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
90-
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
91-
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
92-
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
93-
go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c=
94-
go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk=
95-
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
96-
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
97-
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
98-
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
99-
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
100-
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
101-
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
51+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
52+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
10253
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
10354
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
10455
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
105-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
10656
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
10757
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

httpserver/handler.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,9 @@ package httpserver
33
import (
44
"net/http"
55
"time"
6-
7-
"github.com/flashbots/go-template/metrics"
86
)
97

108
func (srv *Server) handleAPI(w http.ResponseWriter, r *http.Request) {
11-
m := srv.metricsSrv.Float64Histogram(
12-
"request_duration_api",
13-
"API request handling duration",
14-
metrics.UomMicroseconds,
15-
metrics.BucketsRequestDuration...,
16-
)
17-
defer func(start time.Time) {
18-
m.Record(r.Context(), float64(time.Since(start).Microseconds()))
19-
}(time.Now())
20-
21-
// do work
22-
239
w.WriteHeader(http.StatusOK)
2410
}
2511

httpserver/handler_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ package httpserver
22

33
import (
44
"io"
5-
"log/slog"
65
"net/http"
76
"net/http/httptest"
87
"testing"
98
"time"
109

1110
"github.com/flashbots/go-template/common"
11+
"github.com/go-chi/httplog/v2"
1212
"github.com/stretchr/testify/require"
1313
)
1414

15-
func getTestLogger() *slog.Logger {
15+
func getTestLogger() *httplog.Logger {
1616
return common.SetupLogger(&common.LoggingOpts{
1717
Debug: true,
1818
JSON: false,

0 commit comments

Comments
 (0)