Skip to content

Commit 9ab1d58

Browse files
feat: Expose OTLP destination delivery health
Stainless-Generated-From: ae612ef5de5a9136bfc5f8cac5c6990b9d82e233
1 parent 4d26fb9 commit 9ab1d58

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/kernel/types/telemetry/otlp_destination.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ class OtlpDestination(BaseModel):
1616

1717
id: str
1818

19+
consecutive_failures: int
20+
"""
21+
Failed deliveries since the last success, as observed by the relay process that
22+
wrote the latest outcome. Zero means the most recently recorded outcome
23+
succeeded.
24+
"""
25+
1926
created_at: datetime
2027

2128
endpoint: str
@@ -39,3 +46,21 @@ class OtlpDestination(BaseModel):
3946
updated_at: datetime
4047

4148
description: Optional[str] = None
49+
50+
last_error: Optional[str] = None
51+
"""Sanitized class of the delivery failure recorded at `last_error_at`.
52+
53+
It is retained after a later success, so its presence does not mean the
54+
destination is currently failing. Response bodies, endpoint URLs, credentials,
55+
and raw transport errors are never returned.
56+
"""
57+
58+
last_error_at: Optional[datetime] = None
59+
"""Timestamp of the most recent failed delivery.
60+
61+
It is retained after a later success, so it can predate `last_export_at`. Read
62+
`consecutive_failures` to tell whether the destination is currently failing.
63+
"""
64+
65+
last_export_at: Optional[datetime] = None
66+
"""Timestamp of the most recent successful delivery. Moves only on success."""

0 commit comments

Comments
 (0)