Skip to content

Commit 340ea0b

Browse files
committed
update error handling to display http error message
1 parent 01c2f3d commit 340ea0b

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

trubrics/main.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
import logging
23
import threading
34
import time
@@ -127,8 +128,8 @@ def flush(self):
127128
self.last_flush_time = datetime.now(timezone.utc)
128129

129130
if not success:
130-
time.sleep(5)
131131
self.logger.info(f"Retrying flush of {queue_len} events.")
132+
time.sleep(5)
132133

133134
self._post(events)
134135

@@ -156,8 +157,22 @@ def _post(self, events: list[dict]):
156157
response.raise_for_status()
157158
self.logger.info(f"{len(events)} events sent to Trubrics.")
158159
return True
160+
except requests.exceptions.HTTPError as e:
161+
error_message = response.text if response.status_code != 200 else str(e)
162+
try:
163+
error_message = json.loads(error_message).get(
164+
"detail", error_message
165+
)
166+
except json.JSONDecodeError:
167+
pass
168+
self.logger.error(
169+
f"Error flushing {len(events)} events: {error_message}"
170+
)
171+
return False
159172
except Exception as e:
160-
self.logger.error(f"Error flushing {len(events)} events: {e}")
173+
self.logger.error(
174+
f"Unexpected error flushing {len(events)} events: {e}"
175+
)
161176
return False
162177

163178
def _periodic_flush(self):

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)