feat: add prometheus metrics

This commit is contained in:
2025-03-04 00:29:44 +00:00
parent 12d60fea23
commit 9f05d8584c
4 changed files with 137 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import (
"github.com/pocket-id/pocket-id/backend/internal/job"
"github.com/pocket-id/pocket-id/backend/internal/middleware"
"github.com/pocket-id/pocket-id/backend/internal/service"
"github.com/prometheus/client_golang/prometheus/promhttp"
"golang.org/x/time/rate"
"gorm.io/gorm"
)
@@ -52,6 +53,7 @@ func initRouter(db *gorm.DB, appConfigService *service.AppConfigService) {
r.Use(middleware.NewErrorHandlerMiddleware().Add())
r.Use(rateLimitMiddleware.Add(rate.Every(time.Second), 60))
r.Use(middleware.NewJwtAuthMiddleware(jwtService, true).Add(false))
r.Use(middleware.NewPrometheusMetricsMiddleware().Add())
job.RegisterLdapJobs(ldapService, appConfigService)
job.RegisterDbCleanupJobs(db)
@@ -79,6 +81,9 @@ func initRouter(db *gorm.DB, appConfigService *service.AppConfigService) {
baseGroup := r.Group("/")
controller.NewWellKnownController(baseGroup, jwtService)
// Set up metrics route
baseGroup.GET("/metrics", gin.WrapH(promhttp.Handler()))
// Run the server
if err := r.Run(common.EnvConfig.Host + ":" + common.EnvConfig.Port); err != nil {
log.Fatal(err)