Polish Inspector live pulse#638
Conversation
为方便开发者调试与观测Aevatar Actor运行状态,新增完整的本地Actor Inspector演示套件,包含.NET后端服务、React前端Web界面与协议定义文件。同时为运行时核心逻辑完善OpenTelemetry追踪支持,重构CQRS投影的服务注册与物料化器包装逻辑,更新项目文档并补充测试用例,修复部分项目依赖问题。
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 739378a6f0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
|
|
||
| public async IAsyncEnumerable<TelemetryFrame> ReadAllAsync( | ||
| [EnumeratorCancellation] CancellationToken ct = default) |
There was a problem hiding this comment.
Broadcast telemetry to all SSE subscribers
When more than one Inspector UI tab or SSE client is connected, each ReadAllAsync call consumes from the same _frames.Reader, so the channel behaves like a work queue: the first reader that drains a frame removes it and the other clients never see that activity. This makes live pulses and recent-event lists inconsistent across multiple connected inspectors; use per-subscriber readers/channels or fan out each TelemetryFrame to all active subscribers.
Useful? React with 👍 / 👎.
Summary
Validation
Notes