KestrelServer Diagnostic Source · Issue #58911 · dotnet/aspnetcore (original) (raw)

I have been trying to get the Diagnostic Source working for the Kestrel Server following the documentation:
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/diagnostics?view=aspnetcore-8.0#diagnosticsource

I couldn't figure out why it wasn't working but in searching the AspNetCore source, I came across this pull request for Metrics #46834

In the KestrelServerImpl the DiagnosticSource passed in the ServiceContext is null and not passed in from the KestrelServerImpl constructor calling CreateServiceContext.

The ServiceContext.DiagnosticSource property is referenced in HttpProtocol - which returns null such that the diagnostic event is not written.

I guess my questions are:

Was this intended with the Metrics prototype PR work? If so, what was the decision for removing the diagnostic source events? And if so, can the supporting documentation be updated?

Many thanks!