接入 OTel 链路追踪 + 镜像默认启用
抓取-解析链路原本只有日志,出现"抓回内容但解析不出预期字段"时定位慢。 接入 OpenTelemetry traces(FastAPI/httpx 自动 + 手写 fetch/parse span), 解析失败时把页面 HTML 作为 span event 上报,便于事后复现。 Dockerfile 默认开启,镜像一启动即导出到自建 OTLP endpoint。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,18 @@ class Settings(BaseSettings):
|
||||
proxy_username: str | None = None
|
||||
proxy_password: str | None = None
|
||||
|
||||
# ---- OpenTelemetry traces(通用,可选;默认关闭)----
|
||||
# 启用后把抓取-解析链路以 span 导出到 OTLP/HTTP endpoint,用于排查"抓到
|
||||
# 内容能否被解析"。两侧 main.py 在 lifespan 启动时按服务名分别初始化。
|
||||
otel_enabled: bool = False
|
||||
otel_endpoint: str | None = None # OTLP/HTTP traces endpoint,例如 https://oltp.jerryyan.top/v1/traces
|
||||
otel_service_name: str = "rakuten" # 仅作兜底;实际值由两侧 main.py 显式覆盖
|
||||
otel_headers: str | None = None # OTLP 鉴权头,形如 "k=v,k=v";当前 endpoint 裸跑,留空
|
||||
otel_export_interval_ms: int = 5000
|
||||
# 解析失败时把页面 HTML 作为 span event 上报的上限字节;超出截断并标注。
|
||||
# 单个搜索页 HTML 可达 200KB-2MB,调高时同步关注 OTLP 单次请求大小限制。
|
||||
otel_snapshot_max_bytes: int = 2_000_000
|
||||
|
||||
# ---- 登录态与下单配置(仅交易服务)----
|
||||
# 人工登录一次后落盘的 Playwright storage_state 目录(相对项目根目录)。
|
||||
# 目录里是可直接冒充账号的 cookie,务必不要提交到版本库。
|
||||
|
||||
Reference in New Issue
Block a user