summaryrefslogtreecommitdiff
path: root/cmd/gotosocial/action/server/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/gotosocial/action/server/server.go')
-rw-r--r--cmd/gotosocial/action/server/server.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/cmd/gotosocial/action/server/server.go b/cmd/gotosocial/action/server/server.go
index 2ab8bb7cf..a9896a81c 100644
--- a/cmd/gotosocial/action/server/server.go
+++ b/cmd/gotosocial/action/server/server.go
@@ -33,6 +33,7 @@ import (
apiutil "github.com/superseriousbusiness/gotosocial/internal/api/util"
"github.com/superseriousbusiness/gotosocial/internal/cleaner"
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
+ "github.com/superseriousbusiness/gotosocial/internal/metrics"
"github.com/superseriousbusiness/gotosocial/internal/middleware"
tlprocessor "github.com/superseriousbusiness/gotosocial/internal/processing/timeline"
"github.com/superseriousbusiness/gotosocial/internal/timeline"
@@ -81,6 +82,11 @@ var Start action.GTSAction = func(ctx context.Context) error {
return fmt.Errorf("error initializing tracing: %w", err)
}
+ // Initialize Metrics
+ if err := metrics.Initialize(); err != nil {
+ return fmt.Errorf("error initializing metrics: %w", err)
+ }
+
// Open connection to the database
dbService, err := bundb.NewBunDBService(ctx, &state)
if err != nil {
@@ -213,13 +219,18 @@ var Start action.GTSAction = func(ctx context.Context) error {
if err != nil {
return fmt.Errorf("error creating router: %s", err)
}
-
middlewares := []gin.HandlerFunc{
middleware.AddRequestID(config.GetRequestIDHeader()), // requestID middleware must run before tracing
}
+
if config.GetTracingEnabled() {
middlewares = append(middlewares, tracing.InstrumentGin())
}
+
+ if config.GetMetricsEnabled() {
+ middlewares = append(middlewares, metrics.InstrumentGin())
+ }
+
middlewares = append(middlewares, []gin.HandlerFunc{
// note: hooks adding ctx fields must be ABOVE
// the logger, otherwise won't be accessible.