| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
!74 feat(routing): add MlServiceClient classification strategy From: @leningchen_admin Reviewed-by: @luanjianhai | 16 小时前 | |
Merge atomgit/master into otlp, adapt new code to two-phase prompt-log API Conflicts were orthogonal: otlp-refactor splits PromptLogEntry into Request/Response phases with new_request + new_response_from; upstream atomgit added ProviderPromptTrace fusion injection via with_entry_enricher and set_fusion. Combined both: fusion enricher now runs against the Response-phase entry produced on Drop (after the inner stream's Drop, so the trace can observe finalization side effects). Refactored newly-merged call sites to the two-phase API: - boom-main/src/routes.rs: write_prompt_log_error (the only stale PromptLogEntry::new(...) caller) now emits a Request-phase entry then a Response-phase entry, applies fusion trace to the Response entry, and maps GatewayError variants to canonical error_code constants (CLIENT_DISCONNECTED / UPSTREAM_ERROR / TIMEOUT / MODEL_NOT_ALLOWED / AUTH_FAILED / RATE_LIMITED / INTERNAL_ERROR). - boom-main/tests/fusion_panel_tools_e2e.rs: read_prompt_logs now scans response_*.jsonl (where fusion lives under the two-phase layout); fusion_calls discriminates bare Response entries from the dashboard API's {request, response} envelope; client-disconnect test expects 499 + CLIENT_DISCONNECTED (otlp-refactor semantic). Verified: - cargo check and cargo check --features boom-main/otlp both clean - cargo test -p boom-promptlog --features otlp: 17/17 pass - cargo test -p boom-dashboard: 11/11 pass - cargo test -p boom-main --features boom-main/otlp: all boom-main tests pass, including the 14 fusion_panel_tools_e2e tests Signed-off-by: liqiang <liqiang@atomgit.com> Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: liqiang <liqiang64@huawei.com> | 1 天前 | |
feat(prompt-log): make otlp a default-on feature, surface config in dashboard Two changes: 1. otlp is now a default feature on boom-promptlog. Previously required --features boom-main/otlp at build time; now cargo build pulls in the opentelemetry-* deps unconditionally. Runtime activation still gated by prompt_log.otlp.enabled in YAML — no behavior change unless the operator opts in. 2. The OTLP exporter is now constructed unconditionally at startup (when the feature is on, which is always), and the background writer consults the live otlp.enabled toggle on every entry. So flipping the dashboard switch off→on (or on→off) takes effect immediately without a restart. Previously the exporter only spawned when the YAML had enabled=true at boot, so a dashboard-enabled OTLP path needed a gateway restart to take effect. 3. Dashboard prompt-log card now exposes the full OtlpConfig block: enabled, endpoint, service_name, service_version, timeout_secs, batch_size, flush_interval_secs, max_attribute_bytes, max_queue_size, headers (JSON object). Each field has an inline tip explaining its purpose — from "max_attribute_bytes truncates oversized attributes and increments dropped_attributes_count" to "max_queue_size drops oldest with warn — the gateway must never block on OTLP". English + Chinese translations. The card uses a new form-card-subtitle divider for the OTLP subsection and a new form-field-tip style for per-field hints (lighter than the bottom-of-card modal-hint). Verified: cargo build --release clean, 17/17 promptlog tests + 11/11 dashboard tests still pass. Signed-off-by: liqiang <liqiang@atomgit.com> Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: liqiang <liqiang64@huawei.com> | 23 小时前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 16 小时前 | ||
| 1 天前 | ||
| 23 小时前 |