M gitsrht/app.py => gitsrht/app.py +3 -0
@@ 48,6 48,9 @@ class GitApp(ScmSrhtFlask):
self.add_template_filter(url_quote)
self.add_template_filter(commit_links)
+ from gitsrht.webhooks import webhook_metrics_collector
+ self.metrics_registry.register(webhook_metrics_collector)
+
@self.context_processor
def inject():
notice = session.get("notice")
M gitsrht/webhooks.py => gitsrht/webhooks.py +4 -1
@@ 7,10 7,13 @@ if not hasattr(db, "session"):
db.init()
from srht.webhook import Event
from srht.webhook.celery import CeleryWebhook, make_worker
+from srht.metrics import RedisQueueCollector
from scmsrht.webhooks import UserWebhook
import sqlalchemy as sa
-worker = make_worker(broker=cfg("git.sr.ht", "webhooks"))
+webhook_broker = cfg("git.sr.ht", "webhooks")
+worker = make_worker(broker=webhook_broker)
+webhook_metrics_collector = RedisQueueCollector(webhook_broker, "srht_webhooks", "Webhook queue length")
class RepoWebhook(CeleryWebhook):
events = [