From 04978995c1c4fe2aa21daf297d2a4e922e8b8851 Mon Sep 17 00:00:00 2001 From: OG T Date: Thu, 2 Apr 2026 20:10:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(metrics):=20=E5=AF=A6=E9=9A=9B=E5=91=BC?= =?UTF-8?q?=E5=8F=AB=20record=5Falert=5Fchain=5Fsuccess=20(Wave=20A.5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit alert_chain_last_success_timestamp 指標已定義但從未被 set。 在 alertmanager_webhook 兩個主要成功路徑呼叫 record_alert_chain_success(): - CI/CD 告警成功處理後 - LLM 分析完成後 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/api/v1/webhooks.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/api/src/api/v1/webhooks.py b/apps/api/src/api/v1/webhooks.py index c3adad5a2..1e61f4933 100644 --- a/apps/api/src/api/v1/webhooks.py +++ b/apps/api/src/api/v1/webhooks.py @@ -32,6 +32,7 @@ from pydantic import BaseModel, Field from src.core.config import settings from src.core.constants import is_cicd_alertname from src.core.logging import get_logger +from src.core.metrics import record_alert_chain_success # Phase 15.2: Trace Context (moved to SignalProducerService) # get_trace_context 已移至 Service 層 @@ -937,6 +938,7 @@ async def alertmanager_webhook( workflow_url=workflow_url, ) + record_alert_chain_success("alertmanager") return AlertResponse( success=True, message=f"CI/CD alert processed (simple format): {alertname}", @@ -1149,6 +1151,7 @@ async def alertmanager_webhook( ai_provider=ai_provider, ) + record_alert_chain_success("alertmanager") return AlertResponse( success=True, message=f"✅ LLM 分析完成 (via {ai_provider})",