[PR #340] [MERGED] observability: log why a heartbeat failed #362

Closed
opened 2026-10-29 14:22:36 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/340
Author: @nblintao
Created: 10/2/2026
Status: ✅ Merged
Merged: 10/3/2026
Merged by: @yingdi-shan

Base: main ← Head: fix/heartbeat-error-chain


📝 Commits (1)

  • 03b2618 observability: log why a heartbeat failed

📊 Changes

1 file changed (+10 additions, -3 deletions)

View changed files

📝 src/observability/reporter.rs (+10 -3)

📄 Description

The reporter builds its failures as anyhow errors with context(), and every log site prints them with Display, which shows only the outermost context. That context names the step that failed but never why: a failed heartbeat reads as heartbeat rpc failed whether the call was refused, timed out, or never reached a connection at all. Chasing one of these meant reproducing it rather than reading the log.

  • Print the context chain at the three reporter sites whose error carries one. The two that remain log a JoinError, which has none.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/340 **Author:** [@nblintao](https://github.com/nblintao) **Created:** 10/2/2026 **Status:** ✅ Merged **Merged:** 10/3/2026 **Merged by:** [@yingdi-shan](https://github.com/yingdi-shan) **Base:** `main` ← **Head:** `fix/heartbeat-error-chain` --- ### 📝 Commits (1) - [`03b2618`](https://github.com/kvcache-ai/AgentENV/commit/03b2618e6471a36e9135650e997c053f1a9222eb) observability: log why a heartbeat failed ### 📊 Changes **1 file changed** (+10 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `src/observability/reporter.rs` (+10 -3) </details> ### 📄 Description The reporter builds its failures as `anyhow` errors with `context()`, and every log site prints them with `Display`, which shows only the outermost context. That context names the step that failed but never why: a failed heartbeat reads as `heartbeat rpc failed` whether the call was refused, timed out, or never reached a connection at all. Chasing one of these meant reproducing it rather than reading the log. - Print the context chain at the three reporter sites whose error carries one. The two that remain log a `JoinError`, which has none. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:22:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#362
No description provided.