PhysicsCorrection/TRACING.md

96 lines
2.5 KiB
Markdown

# 禁用链路追踪功能
## 问题说明
默认情况下,`cozeloop` 框架会自动发送链路追踪数据到 `https://api.coze.cn/v1/loop/traces/ingest`,用于监控和调试。
如果你不需要这个功能(或者因为认证问题导致失败),可以通过设置环境变量来禁用它。
## 错误日志示例
```
HTTP Request: POST https://api.coze.cn/v1/loop/traces/ingest "HTTP/1.1 401 Unauthorized"
Call remote service failed. Path: https://api.coze.cn/v1/loop/traces/ingest, remote service error, authentication is invalid
```
## 解决方案
### 方法一:在 Dockerfile 中禁用(推荐)
`assets/Dockerfile` 中添加以下环境变量:
```dockerfile
ENV COZE_API_KEY="Bearer YOUR_KEY" \
LLM_API_KEY="Bearer YOUR_KEY" \
COZE_WORKLOAD_IDENTITY_API_KEY="Bearer YOUR_KEY" \
COZE_INTEGRATION_API_KEY="Bearer YOUR_KEY" \
COZE_WORKSPACE_ID=YOUR_WORKSPACE_ID \
# 禁用 cozeloop 链路追踪
COZE_TRACING_ENABLED=false \
OPT_ENABLE_LONG_REPORT=false
```
### 方法二:使用 docker-compose
`docker-compose.yml` 中添加:
```yaml
services:
math-correction:
environment:
- COZE_API_KEY=Bearer YOUR_KEY
- LLM_API_KEY=Bearer YOUR_KEY
- COZE_WORKLOAD_IDENTITY_API_KEY=Bearer YOUR_KEY
- COZE_INTEGRATION_API_KEY=Bearer YOUR_KEY
- COZE_WORKSPACE_ID=YOUR_WORKSPACE_ID
# 禁用链路追踪
- COZE_TRACING_ENABLED=false
- OPT_ENABLE_LONG_REPORT=false
```
### 方法三:使用 .env 文件
`.env` 文件中添加:
```bash
# 禁用链路追踪
COZE_TRACING_ENABLED=false
OPT_ENABLE_LONG_REPORT=false
```
## 环境变量说明
| 环境变量 | 默认值 | 说明 |
|---------|--------|------|
| `COZE_TRACING_ENABLED` | `true` | 是否启用链路追踪 |
| `OPT_ENABLE_LONG_REPORT` | `false` | 是否启用长报告(会影响追踪数据量) |
## 验证
禁用后,重新构建并运行容器:
```bash
# 重新构建
docker build -f assets/Dockerfile -t math-correction:latest .
# 运行容器
docker run -d --name math-correction -p 8000:8000 math-correction:latest
# 查看日志,确认不再有 loop/traces/ingest 的错误
docker logs math-correction | grep -i "traces/ingest"
```
预期结果:没有任何输出(表示追踪已禁用)
## 注意事项
- ✅ 禁用追踪不会影响核心功能
- ✅ 可以减少网络开销
- ✅ 可以避免 401 认证错误
- ⚠️ 禁用后将无法在 Coze 平台查看链路追踪信息
## 相关库
- `cozeloop==0.1.25`:提供链路追踪功能
- `coze-coding-dev-sdk`:自动集成链路追踪