Wow! At least a way to have understandable trace, following requests among threads and even process and viewing it graphically: Complex traces you can actually understand by leveraging Activity Tracing – Daniel Cazzulino’s Blog.
See also: https://github.com/clariuslabs/tracer.
Singleton and ThreadSingleton doesn’t provides what we really need: a singleton flowing across call context (not only method call but also WCF and Task call context): A better way to implement the Singleton (anti?) pattern for easier testing using AmbientSingleton – Daniel Cazzulino’s Blog.
Can be integrated in source or through nuget.