diff --git a/internal/exporter/collector.go b/internal/exporter/collector.go index 547b5aa..dd11c26 100644 --- a/internal/exporter/collector.go +++ b/internal/exporter/collector.go @@ -15,7 +15,12 @@ type Collector struct { queue *RequestDataQueue } -func NewCollector(config *cmd.AppSettings, cache *cache.Cache, db *database.Database, queue *RequestDataQueue) *Collector { +func NewCollector( + config *cmd.AppSettings, + cache *cache.Cache, + db *database.Database, + queue *RequestDataQueue, +) *Collector { return &Collector{ config: config, cache: cache, diff --git a/internal/exporter/middleware.go b/internal/exporter/middleware.go index d5f19c4..f80b23d 100644 --- a/internal/exporter/middleware.go +++ b/internal/exporter/middleware.go @@ -8,7 +8,7 @@ import ( "github.com/go-chi/chi/v5/middleware" ) -type requestData struct { +type RequestData struct { Latency time.Duration Request *http.Request Start time.Time @@ -16,22 +16,22 @@ type requestData struct { type RequestDataQueue struct { mu sync.Mutex - data []requestData + data []RequestData } func NewRequestDataQueue() *RequestDataQueue { return &RequestDataQueue{ - data: []requestData{}, + data: []RequestData{}, } } -func (q *RequestDataQueue) Add(data requestData) { +func (q *RequestDataQueue) Add(data RequestData) { q.mu.Lock() defer q.mu.Unlock() q.data = append(q.data, data) } -func (q *RequestDataQueue) ConsumeAll() []requestData { +func (q *RequestDataQueue) ConsumeAll() []RequestData { q.mu.Lock() defer q.mu.Unlock() data := q.data @@ -57,7 +57,7 @@ func (m Middleware) handler(next http.Handler) http.Handler { next.ServeHTTP(ww, r) m.queue.Add( - requestData{ + RequestData{ Latency: time.Since(start), Request: r, Start: start, diff --git a/main.go b/main.go index ed166b5..5d9ac8d 100644 --- a/main.go +++ b/main.go @@ -85,7 +85,12 @@ func main() { } } -func enableExporter(settings *cmd.AppSettings, cache *cache.Cache, db *database.Database, queue *exporter.RequestDataQueue) error { +func enableExporter( + settings *cmd.AppSettings, + cache *cache.Cache, + db *database.Database, + queue *exporter.RequestDataQueue, +) error { prometheus.MustRegister(exporter.NewCollector(settings, cache, db, queue)) metricsServer := &http.Server{