Describe the suggested improvement
There are many places in core and downstream where information is added to startupdiagnostics. Some of these may be using reflection or complex transforms which will slow down endpoint startup.
#7416 introduced the ability to add a Func<object> rather than object to the startup diagnostics, which are then called when writing the diagnostics are written and therefore allows for delaying any slow code. One step further on this would be to introduce a setting on EndpointConfiguration that allows for any Func<object> diagnostics to be skipped, rather than delayed.
As part of this task, a sweep should be made of existing diagnostics to see which areas should be changed from object to Func<object>
Additional Context
No response