From 801cf8d84cf7f04c1709a72ccc174a577433e6dd Mon Sep 17 00:00:00 2001 From: Kevin Kandlbinder Date: Tue, 1 Mar 2022 14:15:03 +0100 Subject: [PATCH] Add API metric collection --- go.mod | 2 ++ go.sum | 4 ++++ internal/web/api/api.go | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/go.mod b/go.mod index c486be1..7c50233 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,8 @@ module github.com/Unkn0wnCat/matrix-veles go 1.16 require ( + github.com/766b/chi-prometheus v0.0.0-20211217152057-87afa9aa2ca8 // indirect + github.com/go-chi/chi v1.5.4 // indirect github.com/go-chi/chi/v5 v5.0.7 github.com/golang-jwt/jwt/v4 v4.3.0 github.com/prometheus/client_golang v1.12.1 // indirect diff --git a/go.sum b/go.sum index efd0469..b25280b 100644 --- a/go.sum +++ b/go.sum @@ -46,6 +46,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/766b/chi-prometheus v0.0.0-20211217152057-87afa9aa2ca8 h1:hK1G69lDhhrGqJbRA5i1rmT2KI/W77MSdr7hEGHqWdQ= +github.com/766b/chi-prometheus v0.0.0-20211217152057-87afa9aa2ca8/go.mod h1:X/LhbmoBoRu8TxoGIOIraVNhfz3hhikJoaelrOuhdPY= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= @@ -125,6 +127,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-chi/chi v1.5.4 h1:QHdzF2szwjqVV4wmByUnTcsbIg7UGaQ0tPF2t5GcAIs= +github.com/go-chi/chi v1.5.4/go.mod h1:uaf8YgoFazUOkPBG7fxPftUylNumIev9awIWOENIuEg= github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= diff --git a/internal/web/api/api.go b/internal/web/api/api.go index bf70b38..ecac1aa 100644 --- a/internal/web/api/api.go +++ b/internal/web/api/api.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "errors" + chiprometheus "github.com/766b/chi-prometheus" "github.com/go-chi/chi/v5" "net/http" "strings" @@ -12,6 +13,9 @@ import ( func SetupAPI() chi.Router { router := chi.NewRouter() + m := chiprometheus.NewMiddleware("api") + router.Use(m) + router.NotFound(notFoundHandler) router.MethodNotAllowed(methodNotAllowedHandler)