Cline 包含可选的 OpenTelemetry 支持,可使用 OpenTelemetry Protocol (OTLP) 将指标和日志导出到您自己的可观测性基础设施。
OpenTelemetry 集成是可选 的,适用于拥有现有可观测性基础设施的高级用户。大多数用户不需要此功能。
什么是 OpenTelemetry?
OpenTelemetry 是一个行业标准的可观测性框架,提供统一的方式来收集和导出遥测数据(指标、日志和跟踪)。 Cline 的 OpenTelemetry 支持允许您:
将遥测数据导出到您自己的系统
与 Datadog、New Relic、Grafana Cloud 等可观测性平台集成
完全控制您的监控数据
使用您组织现有的监控基础设施
支持的功能
Cline 支持 OpenTelemetry 的 OTLP(OpenTelemetry Protocol) 导出
指标导出 导出有关 Cline 使用情况、性能和错误的指标
Cline 支持三种 OTLP 导出协议
gRPC (默认,推荐)
HTTP/protobuf
HTTP/JSON
导出目的地
您可以导出到
控制台 (用于测试)
OTLP 端点 (您自己的收集器或可观测性平台)
在启动 Cline 之前,使用环境变量配置 OpenTelemetry。
基本设置
启用 OpenTelemetry 并配置 OTLP 端点
# Enable OpenTelemetry
export OTEL_TELEMETRY_ENABLED = 1
# Configure metrics and logs export
export OTEL_METRICS_EXPORTER = otlp
export OTEL_LOGS_EXPORTER = otlp
# Set your OTLP endpoint
export OTEL_EXPORTER_OTLP_ENDPOINT = https :// your-collector : 4317
# Optional: Set protocol (default is grpc)
export OTEL_EXPORTER_OTLP_PROTOCOL = grpc
环境变量
变量 描述 默认值 OTEL_TELEMETRY_ENABLED启用 OpenTelemetry (1 或 true) 禁用 OTEL_METRICS_EXPORTER指标导出器类型 (console, otlp 或两者) 无 OTEL_LOGS_EXPORTER日志导出器类型 (console, otlp 或两者) 无 OTEL_EXPORTER_OTLP_ENDPOINTOTLP 端点 URL 无 OTEL_EXPORTER_OTLP_PROTOCOL协议 (grpc, http/protobuf, http/json) grpcOTEL_EXPORTER_OTLP_INSECURE允许不安全连接 falseOTEL_EXPORTER_OTLP_HEADERS自定义头(逗号分隔的 key=value 对) 无
高级配置
指标和日志的单独端点
export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT = https :// metrics-collector : 4317
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT = https :// logs-collector : 4317
用于身份验证的自定义头
export OTEL_EXPORTER_OTLP_HEADERS = "api-key=your-key,x-custom-header=value"
多个导出器(控制台 + OTLP)
export OTEL_METRICS_EXPORTER = console , otlp
export OTEL_LOGS_EXPORTER = console , otlp
导出间隔
# Metrics export interval in milliseconds (default: 60000)
export OTEL_METRIC_EXPORT_INTERVAL = 30000
# Logs batch size and timeout
export OTEL_LOG_BATCH_SIZE = 512
export OTEL_LOG_BATCH_TIMEOUT = 5000
export OTEL_LOG_MAX_QUEUE_SIZE = 2048
集成示例
Datadog
使用 Datadog 的 OTLP 端点导出到 Datadog
export OTEL_TELEMETRY_ENABLED = 1
export OTEL_METRICS_EXPORTER = otlp
export OTEL_LOGS_EXPORTER = otlp
export OTEL_EXPORTER_OTLP_ENDPOINT = https :// api . datadoghq . com
export OTEL_EXPORTER_OTLP_HEADERS = "dd-api-key=YOUR_DD_API_KEY"
New Relic
导出到 New Relic
export OTEL_TELEMETRY_ENABLED = 1
export OTEL_METRICS_EXPORTER = otlp
export OTEL_LOGS_EXPORTER = otlp
export OTEL_EXPORTER_OTLP_ENDPOINT = https :// otlp . nr-data . net : 4317
export OTEL_EXPORTER_OTLP_HEADERS = "api-key=YOUR_NEW_RELIC_LICENSE_KEY"
Grafana Cloud
导出到 Grafana Cloud
export OTEL_TELEMETRY_ENABLED = 1
export OTEL_METRICS_EXPORTER = otlp
export OTEL_LOGS_EXPORTER = otlp
export OTEL_EXPORTER_OTLP_ENDPOINT = https :// otlp-gateway-prod-us-central-0 . grafana . net / otlp
export OTEL_EXPORTER_OTLP_HEADERS = "Authorization=Basic YOUR_BASE64_CREDENTIALS"
测试配置
在发送到真实端点之前,使用控制台输出测试您的配置
# Enable console output to see what data would be exported
export OTEL_TELEMETRY_ENABLED = 1
export OTEL_METRICS_EXPORTER = console
export OTEL_LOGS_EXPORTER = console
然后启动 Cline 并检查控制台输出中的指标和日志。
故障排除
无数据导出
验证 OpenTelemetry 是否已启用
echo $OTEL_TELEMETRY_ENABLED
应输出 1 或 true
检查导出器是否已配置
echo $OTEL_METRICS_EXPORTER
echo $OTEL_LOGS_EXPORTER
首先使用控制台导出器进行测试
export OTEL_METRICS_EXPORTER = console
export OTEL_LOGS_EXPORTER = console
连接错误
验证端点是否可访问
curl -v https://your-otlp-endpoint:4317
检查是否需要不安全模式
export OTEL_EXPORTER_OTLP_INSECURE = true
验证身份验证头: 仔细检查您的 API 密钥和身份验证头是否正确
调试模式
启用调试日志记录以查看详细的 OpenTelemetry 信息
export TEL_DEBUG_DIAGNOSTICS = true
这将输出有关以下内容的详细信息
正在使用的配置
正在创建的导出器
连接尝试
导出成功/失败
导出内容
启用 OpenTelemetry 后,Cline 将导出
功能使用次数
任务执行指标
错误率和类型
性能测量
导出的数据已经是匿名的,不包含代码内容、文件路径或敏感信息。但是,一旦数据导出到您的系统,您有责任确保其安全。
Cline 中当前的 OpenTelemetry 支持
✅ OTLP 指标导出(控制台、gRPC、HTTP)
✅ OTLP 日志导出(控制台、gRPC、HTTP)
✅ 通过环境变量进行基本配置
❌ 分布式跟踪(尚未实现)
❌ 自定义插桩 API(尚未公开)
❌ 采样配置(使用默认值)
最佳实践
先测试 :在发送到生产环境之前,始终使用控制台导出器进行测试
安全凭证 :切勿硬编码 API 密钥;使用安全的环境变量管理
监控成本 :注意您的可观测性平台的数据摄取成本
从简单开始 :从仅指标开始,如果需要再添加日志
使用压缩 :OTLP 支持压缩;检查您的端点是否需要它
后续步骤