feat: support apk
This commit is contained in:
22
docs/operations/logging.md
Normal file
22
docs/operations/logging.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Logging & Cache Semantics (APT/APK)
|
||||
|
||||
## Common Fields
|
||||
- `hub`/`domain`/`hub_type`:当前 Hub 标识与协议类型,例如 `debian`/`apk`。
|
||||
- `module_key`:命中的模块键(非 `legacy` 时表示新模块生效)。
|
||||
- `cache_hit`:`true` 表示直接复用缓存;`false` 表示从上游获取或已刷新。
|
||||
- `upstream`/`upstream_status`:实际访问的上游地址与状态码。
|
||||
- `rollout_flag`:`legacy-only`/`dual`/`modular`,便于排查路由与灰度。
|
||||
- `action`:`proxy`,表明代理链路日志。
|
||||
|
||||
## APT (debian 模块)
|
||||
- 索引路径(Release/InRelease/Packages*):`cache_hit=true` 仍会在后台进行 HEAD 再验证;命中 304 时保持缓存。
|
||||
- 包体路径(`/pool/*` 和 `/dists/.../by-hash/...`):视为不可变,首次 GET 落盘,后续直接命中,无 HEAD。
|
||||
- 日志可结合 `X-Any-Hub-Cache-Hit` 响应头进行对照。
|
||||
|
||||
## APK (apk 模块)
|
||||
- APKINDEX 及签名:每次命中会触发 HEAD 再验证,缓存命中返回 304 时继续使用本地文件。
|
||||
- 包体 (`packages/*.apk`):不可变资源,首轮 GET 落盘,后续直接命中,无 HEAD。
|
||||
|
||||
## Quick Checks
|
||||
- 观察 `cache_hit` 与 `upstream_status`:`cache_hit=true`、`upstream_status=200/304` 表示缓存复用成功;`cache_hit=false` 表示回源或刷新。
|
||||
- 若期望模块日志字段但出现 `module_key":"legacy"`,检查 `Module` 与 `Rollout` 配置是否指向新模块。
|
||||
Reference in New Issue
Block a user