Skip to content

Commit 7b7821d

Browse files
committed
simplify metrics, update logging
1 parent 61a7e2d commit 7b7821d

File tree

13 files changed

+129
-306
lines changed

13 files changed

+129
-306
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
@@ -51,5 +51,6 @@ func runCli(cCtx *cli.Context) error {
5151
log.Info("info message")
5252
log.With("key", "value").Warn("warn message")
5353
log.Error("error message", "err", errors.ErrUnsupported)
54+
5455
return nil
5556
}

cmd/httpserver/main.go

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

74+
uid := ""
75+
if logUID {
76+
uid = uuid.Must(uuid.NewRandom()).String()
77+
}
78+
7479
log := common.SetupLogger(&common.LoggingOpts{
7580
Debug: logDebug,
7681
JSON: logJSON,
7782
Service: logService,
7883
Version: common.Version,
84+
UID: uid,
7985
})
8086

81-
if logUID {
82-
id := uuid.Must(uuid.NewRandom())
83-
log = log.With("uid", id.String())
84-
}
85-
8687
cfg := &httpserver.HTTPServerConfig{
8788
ListenAddr: listenAddr,
8889
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: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,32 @@
11
module github.com/flashbots/go-template
22

3-
go 1.22.0
3+
go 1.23.0
4+
5+
toolchain go1.24.1
46

57
require (
6-
github.com/flashbots/go-utils v0.6.1-0.20240610084140-4461ab748667
7-
github.com/go-chi/chi/v5 v5.0.12
8+
github.com/VictoriaMetrics/metrics v1.37.0
9+
github.com/go-chi/chi/v5 v5.2.1
10+
github.com/go-chi/httplog/v2 v2.1.1
811
github.com/google/uuid v1.6.0
912
github.com/jmoiron/sqlx v1.4.0
1013
github.com/lib/pq v1.10.9
11-
github.com/prometheus/client_golang v1.19.1
1214
github.com/rubenv/sql-migrate v1.7.0
1315
github.com/stretchr/testify v1.9.0
1416
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
1917
go.uber.org/atomic v1.11.0
2018
)
2119

2220
require (
23-
github.com/beorn7/perks v1.0.1 // indirect
24-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
2521
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
2622
github.com/davecgh/go-spew v1.1.1 // indirect
27-
github.com/ethereum/go-ethereum v1.13.14 // indirect
2823
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
3224
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
25+
github.com/rogpeppe/go-internal v1.10.0 // indirect
3626
github.com/russross/blackfriday/v2 v2.1.0 // indirect
37-
github.com/sirupsen/logrus v1.9.3 // indirect
27+
github.com/valyala/fastrand v1.1.0 // indirect
28+
github.com/valyala/histogram v1.2.0 // indirect
3829
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
30+
golang.org/x/sys v0.33.0 // indirect
4731
gopkg.in/yaml.v3 v3.0.1 // indirect
4832
)

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)