本次更新为 Eino ADK 跑数路径接入了统一的 callbacks 观测:在 Runner 前注入回调,Zap 打出带 runId、trace_id、otel_span_id 的 eino_callback 日志;可选 OpenTelemetry(stdout 或 OTLP HTTP),带采样与服务名,进程退出时 flush。配置上将 eino_callbacks 默认改为 log_only,并增加 sse_trace_to_client(默认关闭),避免向普通用户前端推送 eino_trace_*;需要时仍可设 sse/full 并打开该开关。config.yaml 中补充了 otel 段,主程序与 Shutdown 中完成 OTel 初始化与关闭。前端 monitor.js 仍支持展示 trace 类事件,但在默认配置下不再收到这些 SSE。
This update wires CloudWeGo Eino callbacks around each ADK run: structured Zap logs (eino_callback) with runId plus W3C trace_id / otel_span_id, and optional OpenTelemetry export (stdout or OTLP HTTP) with sampling, service name, and shutdown flush. eino_callbacks now defaults to log_only, with sse_trace_to_client defaulting off so framework traces are not pushed to the browser unless you enable sse/full and set that flag. config.yaml documents the otel block; the server bootstraps OTel and tears it down on exit. The frontend still renders eino_trace_* when those events are sent, but under the new defaults they are not emitted over SSE.