No, you don't.   Like I said, do pass the IKernel and then call IKernel.Get<ITracer>().   For TraceShutdown, since it happens without HttpContext, we do it the hard way.