From c272abfc00377afce74c78afbb75df20d8a61429 Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Sat, 14 May 2022 15:07:36 +0200
Subject: [PATCH] feat: export prometheus metrics from asynq

---
 frontend/main.go | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/frontend/main.go b/frontend/main.go
index a9bc790..f98ab5b 100644
--- a/frontend/main.go
+++ b/frontend/main.go
@@ -5,8 +5,11 @@ import (
 	"database/sql"
 	"git.kuschku.de/justjanne/imghost/shared"
 	"github.com/hibiken/asynq"
+	"github.com/hibiken/asynq/x/metrics"
 	"github.com/hibiken/asynqmon"
 	_ "github.com/lib/pq"
+	"github.com/prometheus/client_golang/prometheus"
+	"github.com/prometheus/client_golang/prometheus/promhttp"
 	"log"
 	"mime"
 	"net/http"
@@ -53,6 +56,10 @@ func main() {
 	)
 	http.Handle(monitor.RootPath()+"/", monitor)
 
+	reg := prometheus.NewPedanticRegistry()
+	reg.MustRegister(metrics.NewQueueMetricsCollector(asynq.NewInspector(config.AsynqOpts())))
+	http.Handle("/metrics", promhttp.HandlerFor(reg, promhttp.HandlerOpts{}))
+
 	http.Handle("/upload/", pageUpload(pageContext))
 
 	http.Handle("/i/", http.StripPrefix("/i/", pageImageDetail(pageContext)))
-- 
GitLab