和
'Request-Id: |9e74f0e5-efc4-41b5-86d1-3524a43bd891.'
,但是,这些都没有被ASP.NET核心识别。
'Correlation-Context: Id=9e74f0e5-efc4-41b5-86d1-3524a43bd891'
LegacyPropagator : DistributedContextPropagator
System.Diagnostics
我不理解此代码如何通过
Request-Id
标头提供跟踪ID。
相关性HTTP协议(也称为request-id)正在 弃用。该协议定义了两个标题:request-id:带有呼叫的全球独特ID。 相互关系 - 封面:带有名称值对的集合 分布式跟踪属性
https://learn.microsoft.com/en-us/azure/azure-monitor/app/distributed-trace-data#correlation-headers-using-using-w3c-tracecontext
:要使标头正常工作,您需要遵循不弃用的相关协议指定的
- 级请求ID格式。具体来说,
- format:
getter(carrier, RequestId, out traceId, out _);
根请求ID:
span:Request-Id
Request-Id
(dot)和|<root-id>.<local-id1>.<local-id2>.
(下划线)保留用于层结构。这些字符cannot
Request-Id: |9e74f0e5efc441b586d13524a43bd891.
IS允许在节点值中。 上面的格式检查与legacypropagator识别并解析request-id header的兼容性。
如果您仅目标通过自定义跟踪ID以使其与旧系统的向后兼容,则上述的
Request-Id: |9e74f0e5efc441b586d13524a43bd891.1d2f3e4g5h6i7j8k.
格式就足够了。但是,对于完整的追踪功能,建议过渡到W3C跟踪上下文。
|
标头的代码。
.
您还可以解析传入的标题并调整其格式。
_