From 386c5cef5a303d0ecd50b768424c518449be8f12 Mon Sep 17 00:00:00 2001 From: Brian Le Date: Sun, 21 Dec 2025 16:41:38 -0800 Subject: [PATCH 1/3] Add metrics handling for WAV file generation --- server.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server.py b/server.py index 10ebd6f..cca7cc2 100644 --- a/server.py +++ b/server.py @@ -147,6 +147,8 @@ async def get_phone_script(): with wav_generation_lock: if last_wav_generation_time is None or current_time - last_wav_generation_time > 1800: logger.info("Regenerating phone script audio file on demand") + metrics_handler = MetricsHandler.instance() + with metrics_handler.wav_file_generation_seconds.time(): my_big_dumb_generation_life() MetricsHandler.wav_last_sent.set(time.time()) From 0c011443352074d195002a33d6549e1b1cd05e1e Mon Sep 17 00:00:00 2001 From: Brian Le Date: Sun, 21 Dec 2025 16:42:52 -0800 Subject: [PATCH 2/3] Added metric --- modules/metrics.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/metrics.py b/modules/metrics.py index 60a77e7..c9d683a 100644 --- a/modules/metrics.py +++ b/modules/metrics.py @@ -2,6 +2,12 @@ import prometheus_client class Metrics(enum.Enum): + + WAV_FILE_GENERATION_SECONDS = ( + "wav_file_generation_seconds", + "Time taken to generate the phone script wav file in seconds", + prometheus_client.Summary, + ) API_RESPONSE_CODES = ( "leetcode_api_response_codes", @@ -94,4 +100,4 @@ def instance(cls): if cls._instance is None: cls._instance = cls.__new__(cls) cls.init(cls) - return cls._instance \ No newline at end of file + return cls._instance From 686f949ee07479e958c03420ee9cc6fbc567622a Mon Sep 17 00:00:00 2001 From: Brian Le Date: Mon, 22 Dec 2025 15:01:45 -0800 Subject: [PATCH 3/3] remove metrics_handler duplicate removed the metrics handler duplicate as it is apparent in line 65 --- server.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server.py b/server.py index cca7cc2..96ae7f2 100644 --- a/server.py +++ b/server.py @@ -147,7 +147,6 @@ async def get_phone_script(): with wav_generation_lock: if last_wav_generation_time is None or current_time - last_wav_generation_time > 1800: logger.info("Regenerating phone script audio file on demand") - metrics_handler = MetricsHandler.instance() with metrics_handler.wav_file_generation_seconds.time(): my_big_dumb_generation_life()