From c022a62e982b162b6a636c4f2729c7297e539065 Mon Sep 17 00:00:00 2001 From: zevaryx Date: Tue, 14 Jun 2022 12:00:07 -0600 Subject: [PATCH] Add Twitter error tracking --- jarvis_tasks/prometheus/stats.py | 3 +++ jarvis_tasks/tasks/twitter.py | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/jarvis_tasks/prometheus/stats.py b/jarvis_tasks/prometheus/stats.py index 8df6a98..c3c27f4 100644 --- a/jarvis_tasks/prometheus/stats.py +++ b/jarvis_tasks/prometheus/stats.py @@ -24,6 +24,9 @@ twitter_count = Counter( "JARVIS twitter sync count", labelnames=["guild_id", "guild_name", "twitter_handle"], ) +twitter_error = Counter( + "jarvis_tasks_twitter_error", "JARVIS twitter error count", labelnames=["error_code"] +) # Gauge currently not used reminder_gauge = Gauge( diff --git a/jarvis_tasks/tasks/twitter.py b/jarvis_tasks/tasks/twitter.py index a7d29db..10addf7 100644 --- a/jarvis_tasks/tasks/twitter.py +++ b/jarvis_tasks/tasks/twitter.py @@ -13,7 +13,7 @@ from tweepy.asynchronous import AsyncStream from tweepy.models import Status from jarvis_tasks.config import TaskConfig -from jarvis_tasks.prometheus.stats import twitter_count, twitter_gauge +from jarvis_tasks.prometheus.stats import twitter_count, twitter_error, twitter_gauge from jarvis_tasks.util import build_embed config = TaskConfig.from_yaml() @@ -102,6 +102,8 @@ class JARVISTwitterStream(AsyncStream): status_code: HTTP Status Code """ logger.error(f"Received status code {status_code} while streaming, restarting") + errors = twitter_error.labels(error_code=status_code) + errors.inc() self.disconnect() async def on_status(self, status: Status) -> None: