From 1ba3e14b36c8f00475bdd41cd4a487ef7636836e Mon Sep 17 00:00:00 2001 From: Tsuribori <30933799+Tsuribori@users.noreply.github.com> Date: Mon, 20 Nov 2023 17:43:55 +0200 Subject: [feature] Initial Prometheus metrics implementation (#2334) * feat: Initial OTEL metrics * docs: add metrics documentation * fix: metrics endpoint conditional check * feat: metrics endpoint basic auth * fix: make metrics-auth-enabled default false * fix: go fmt helpers.gen.go * fix: add metric-related env vars to envparsing.sh * fix: metrics docs * fix: metrics related stuff in envparsing.sh * fix: metrics docs * chore: metrics docs wording * fix: metrics stuff in envparsing? * bump otel versions --------- Co-authored-by: Tsuribori Co-authored-by: Tsuribori Co-authored-by: tsmethurst --- internal/metrics/no_metrics.go | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 internal/metrics/no_metrics.go (limited to 'internal/metrics/no_metrics.go') diff --git a/internal/metrics/no_metrics.go b/internal/metrics/no_metrics.go new file mode 100644 index 000000000..590a3fbf8 --- /dev/null +++ b/internal/metrics/no_metrics.go @@ -0,0 +1,43 @@ +// GoToSocial +// Copyright (C) GoToSocial Authors admin@gotosocial.org +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +//go:build nometrics + +package metrics + +import ( + "errors" + + "github.com/gin-gonic/gin" + "github.com/superseriousbusiness/gotosocial/internal/config" + "github.com/uptrace/bun" +) + +func Initialize() error { + if config.GetMetricsEnabled() { + return errors.New("metrics was disabled at build time") + } + return nil +} + +func InstrumentGin() gin.HandlerFunc { + return func(c *gin.Context) {} +} + +func InstrumentBun() bun.QueryHook { + return nil +} -- cgit v1.2.3