已将默认跟踪上下文传播器更新为符合 W3C 标准

默认跟踪上下文传播器已从旧传播器切换到 W3C 传播器。 新的传播器使用 baggage 标头而不是 Correlation-Context强制实施符合 W3C 的编码,并且仅支持 W3C 格式的跟踪父 ID。

已引入的版本

.NET 10

以前的行为

以前,该方法 DistributedContextPropagator.CreateDefaultPropagator() 返回了旧传播器的实例。 默认情况下, DistributedContextPropagator.Current 已设置为此旧实例。

新行为

从 .NET 10 开始,该方法 DistributedContextPropagator.CreateDefaultPropagator() 返回 W3C 传播器的实例。 默认情况下, DistributedContextPropagator.Current 设置为此 W3C 实例。

将默认传播器设置为旧传播器的示例:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

破坏性变更的类型

此更改为行为更改

更改原因

此更改可确保完全符合 W3C 跟踪上下文和行李规范。 W3C 传播程序对 trace parent、trace state 和附带信息的键和值强制实施严格的格式设置,确保符合 W3C 标准。 旧传播器的要求更加宽松,并使用了非标准的 Correlation-Context 标头进行 Baggage 传播。

有关更多详细信息,请参阅以下 GitHub 问题:

如果需要保留旧行为,请使用 DistributedContextPropagator.CreatePreW3CPropagator() 该方法检索旧传播器实例。 将其设置为当前传播器,如下所示:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

受影响的 API