feat(telemetry): bridge configurable gateway trace headers
This commit is contained in:
25
RELEASE.md
25
RELEASE.md
@@ -1,3 +1,28 @@
|
||||
# v0.30.0-preview
|
||||
|
||||
新增通用 `telemetry.HeaderPropagator`,让服务在不修改业务 Handler 的情况下接入使用自定义 Trace/Span/Request Header 的上游网关。配置 Header 名称后,入站建立远程父 Span,`logx.TraceID` / `RequestID`、访问日志和审计沿用上下文;出站 `telemetry.Transport` 同时注入 W3C 和兼容 Header。
|
||||
|
||||
W3C `traceparent` 始终优先于兼容 Header。兼容 Header 只接受合法的 32 位 Trace ID 和 16 位 Span ID,当前服务生成自己的 Span ID;Request ID 单独传播,不参与父 Span。旧项目不配置新传播器时,默认行为不变。兼容 Header 不携带采样标志,有效成对值按已采样处理;需要传递采样决定时使用 W3C。
|
||||
|
||||
```go
|
||||
propagator, err := telemetry.NewHeaderPropagator(telemetry.HeaderPropagationConfig{
|
||||
TraceIDHeader: "X-Trace-Id", SpanIDHeader: "X-Span-Id", RequestIDHeader: "X-Request-Id",
|
||||
})
|
||||
if err != nil { return err }
|
||||
runtime, err := telemetry.New(telemetry.Config{
|
||||
Service: "billing", SampleRatio: 1, Propagator: propagator,
|
||||
})
|
||||
```
|
||||
|
||||
只在受信网关入口启用兼容传播;Trace/Span ID 不是认证、租户或幂等凭据。完整 [接入说明](ADVANCED.md#熔断与观测)、[离线示例](examples/telemetryHeaders/README.md)。
|
||||
|
||||
```sh
|
||||
go get git.yuntuo.hk/k2safe/go-omni@v0.30.0-preview
|
||||
go test -race ./telemetry ./examples/telemetryHeaders
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# v0.29.0-preview
|
||||
|
||||
新增通用签名读取选项:预览或下载、显示文件名和 MIME 类型,由调用方选择。`PresignGetWithOptions` 返回 URL 与签名内的到期时间;原 `PresignGet` 默认下载、第三方原有接口和旧本地链接继续兼容。有效期仍是 1 秒到 1 小时,不增加撤销或业务分享机制。
|
||||
|
||||
Reference in New Issue
Block a user