How is HttpContext TraceIdentifier generated in .NET Core?

后端 未结 2 618
轻奢々
轻奢々 2021-01-04 02:01

How is HttpContext TraceIdentifier (aka Correlation-Id) generated?

I request a page through controller which gives me the following TraceId: 0HLEACIU86PT6:00000

相关标签:
2条回答
  • 2021-01-04 02:35

    It is DateTime.UtcNow.Ticks base32 encoded.

    https://github.com/aspnet/HttpAbstractions/blob/87cd79d6fc54bb4abf07c1e380cd7a9498a78612/src/Microsoft.AspNetCore.Http/Features/HttpRequestIdentifierFeature.cs

    0 讨论(0)
  • 2021-01-04 02:55

    Kestrel generates the request ID as {ConnectionId}:{Request number}. The connection id is the base32 encoded version of a long using the alphabet 1-9, and A - V. The request count is the number of requests over that connection. The nth request over a specific connection is {ConnectionId}:{n}

    https://github.com/aspnet/KestrelHttpServer/blob/a48222378b8249a26b093b5b835001c7c7b45815/src/Kestrel.Core/Internal/Infrastructure/CorrelationIdGenerator.cs

    https://github.com/aspnet/KestrelHttpServer/blob/0aff4a0440c2f393c0b98e9046a8e66e30a56cb0/src/Kestrel.Core/Internal/Http/Http1Connection.cs#L446

    0 讨论(0)
提交回复
热议问题