msquic icon indicating copy to clipboard operation
msquic copied to clipboard

add support for EventPipe tracing/logging

Open wfurt opened this issue 4 years ago • 2 comments

Describe the feature you'd like supported

Currently MsQuic can be configured to support ETW on Windows or lltng on Linux. This is somewhat difficult to integrate with application debugging and there is no real story for other OSes.

Proposed solution

.NET code uses platform independent EventPipe format. That can be processed by tools like PerfView, using scripted api as well as there are tools to convert to other format.

With the current setup it is quite difficult IMHO to integrate MsQUIC tracing with .NET eco system. As minimum, perhaps MsQuic can expose function pointer to emit tracing message and some API to control the content. With that, System.Net.Quic can use it and inject EvenPipe logs as needed (and control verbosity or whatever else)

Additional context

The actual work may be in clog but .NET does not consume that directly so I wrote ask for msquic API surface.

Being able to capture traces and emit them in specific format may be also useful for other languages like Java. (log4j?)

wfurt avatar Apr 29 '21 07:04 wfurt

I'm not sure we're ever likely to do this. If you really want it, it will likely have to be an outside contribution. If you're willing, feel free to keep it open, otherwise it's probably best to just close.

nibanks avatar Sep 14 '21 18:09 nibanks

how about logging callback with the data so caller can do the actual emit? This would primarily fix hassle with LTTNG (like Fedora) and macOS. (and/or any new OSes)

wfurt avatar Sep 14 '21 19:09 wfurt