Open stefan-sf-ibm opened 2 years ago
FYI @steveisok @directhex @leecow - this is the LTTng Mono problem we had been discussing recently ...
/cc @lambdageek @lateralusX
whether LTTng is supported for Mono runtime
There is no LTTng support for Mono in .NET 6
LTTng support was not included in .NET 6 since main focus was hooking up regular EventPipe events (to be included in nettrace) as well as targeting mobile platforms. Since we share most of the code with CoreCLR, most of the infrastructure is currently in place and enabling LTTng for the runtime events currently emitted by Mono (a subset of runtime events emitted by CoreCLR) should be able to leverage most of that code, but we would still need to hook up, enable and test Mono LTTng support, so something that would need to go onto the backlog.
Description
The document Performance Tracing on Linux speaks only about CoreCLR when it comes to LTTng. Thus, I'm wondering whether LTTng is supported while using the Mono runtime.
What makes me curios is that while building the .NET6 SDK with Mono as its primary runtime flavor I see that genLttngProvider.py is executed and code for the LTTng event provider is generated. However, a trace, for example generated via perfcollect does not include any user space event. In contrast if the same example is run with a .NET6 SDK utilizing CoreCLR, then user space events are recorded.
Can someone shed some light on whether LTTng is supported for Mono runtime?
Reproduction Steps
Run
perfcollect collect foobar
and use a .NET6 SDK with Mono as its primary runtime flavor:Afterwards inspect the trace file via babeltrace:
Expected behavior
Thousands of user space events.
Actual behavior
Not a single event is shown.
Regression?
No response
Known Workarounds
No response
Configuration
Other information
No response