IanShaw027
7ebca553ef
feat(ops): 实现上游错误事件记录与查询功能
**新增功能**:
- 新建ops_upstream_error_events表存储上游服务错误详情
- 支持记录上游429/529/5xx错误的详细上下文信息
- 提供按时间范围查询上游错误事件的API
**后端改动**:
1. 模型层(ops_models.go, ops_port.go):
- 新增UpstreamErrorEvent结构体
- 扩展Repository接口支持上游错误事件CRUD
2. 仓储层(ops_repo.go):
- 实现InsertUpstreamErrorEvent写入上游错误
- 实现GetUpstreamErrorEvents按时间范围查询
3. 服务层(ops_service.go, ops_upstream_context.go):
- ops_service: 新增GetUpstreamErrorEvents查询方法
- ops_upstream_context: 封装上游错误上下文构建逻辑
4. Handler层(ops_error_logger.go):
- 新增GetUpstreamErrorsHandler处理上游错误查询请求
5. Gateway层集成:
- antigravity_gateway_service.go: 429/529错误时记录上游事件
- gateway_service.go: OpenAI 429/5xx错误时记录
- gemini_messages_compat_service.go: Gemini 429/5xx错误时记录
- openai_gateway_service.go: OpenAI 429/5xx错误时记录
- ratelimit_service.go: 429限流错误时记录
**数据记录字段**:
- request_id: 关联ops_logs主记录
- platform/model: 上游服务标识
- status_code/error_message: 错误详情
- request_headers/response_body: 调试信息(可选)
- created_at: 错误发生时间
2026-01-11 15:30:27 +08:00
..
2026-01-04 19:28:20 +08:00
2026-01-09 22:00:14 +08:00
2026-01-04 19:28:20 +08:00
2026-01-03 06:37:08 -08:00
2026-01-03 06:37:08 -08:00
2026-01-04 19:28:20 +08:00
2026-01-04 19:28:20 +08:00
2026-01-10 09:39:02 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-03 06:36:35 -08:00
2026-01-04 22:10:32 +08:00
2026-01-04 21:06:12 +08:00
2026-01-03 10:52:24 +08:00
2026-01-01 04:01:51 +08:00
2026-01-03 06:32:51 -08:00
2026-01-09 20:52:57 +08:00
2025-12-31 23:42:01 +08:00
2025-12-31 23:42:01 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-05 22:24:24 +08:00
2025-12-31 23:42:01 +08:00
2026-01-04 19:28:20 +08:00
2026-01-08 23:25:05 +08:00
2026-01-08 23:07:00 +08:00
2025-12-30 16:41:45 +08:00
2026-01-08 23:47:29 +08:00
2025-12-26 00:11:03 -08:00
2025-12-31 08:50:12 +08:00
2026-01-07 23:15:20 +08:00
2026-01-07 23:15:20 +08:00
2026-01-10 09:39:02 +08:00
2026-01-10 09:39:02 +08:00
2026-01-04 11:43:58 +08:00
2026-01-04 21:06:12 +08:00
2026-01-05 13:54:43 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-03 06:36:35 -08:00
2025-12-31 23:42:01 +08:00
2025-12-31 18:24:39 -08:00
2026-01-05 14:07:33 +08:00
2026-01-03 06:36:35 -08:00
2025-12-31 08:50:12 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-10 01:38:47 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-09 20:52:57 +08:00
2026-01-11 15:30:27 +08:00
2025-12-26 16:45:40 +08:00
2026-01-07 23:15:20 +08:00
2026-01-07 23:15:20 +08:00
2026-01-10 13:14:35 +08:00
2026-01-04 21:06:12 +08:00
2026-01-06 11:36:38 +08:00
2025-12-29 19:23:49 +08:00
2026-01-08 21:20:12 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2025-12-29 19:23:49 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 23:42:01 +08:00
2025-12-31 23:42:01 +08:00
2025-12-31 14:51:58 +08:00
2025-12-31 15:52:02 +08:00
2025-12-29 10:03:27 +08:00
2026-01-04 19:28:20 +08:00
2025-12-30 17:13:32 +08:00
2026-01-03 06:34:00 -08:00
2026-01-03 06:36:35 -08:00
2026-01-03 10:52:24 +08:00
2025-12-25 16:01:17 +08:00
2025-12-25 17:15:01 +08:00
2026-01-04 19:28:20 +08:00
2026-01-09 21:59:32 +08:00
2026-01-01 19:09:06 +08:00
2026-01-05 19:03:54 +08:00
2026-01-05 18:48:49 +08:00
2025-12-31 22:48:35 +08:00
2025-12-31 22:48:35 +08:00
2026-01-11 11:41:10 +08:00