Skip to content

Commit 6344a4e

Browse files
authored
Merge pull request #94 from trubrics/fix-error-handling
2 parents 01c2f3d + 4bdadcc commit 6344a4e

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

CHANGELOG.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
9-
### Added
10-
- ...
119

12-
## [1.7.13] - 2025-02-06
10+
11+
## [1.8.1] - 2025-02-07
12+
### Fixed
13+
- Fixed error logging when flushing events
14+
15+
## [1.8.0] - 2025-02-06
1316
### Added
1417
- Update logging, removing `is_verbose` parameter
1518
- Removed CONTRIBUTING.md, as info is now in README.md

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "trubrics"
3-
version = "1.8.0"
3+
version = "1.8.1"
44
requires-python = ">=3.10"
55
license = { text = "Apache 2.0" }
66
authors = [

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)