gpt4 book ai didi

c# - 在 .NET Core 应用程序中使用 LTTng 事件

转载 作者:行者123 更新时间:2023-12-03 09:47:53 25 4
gpt4 key购买 nike

我有一个 .NET Core 应用程序,我想设置它来收听 LTTng事件,但我在 C#/.NET Core 中几乎没有发现任何有关如何在代码中实际执行此操作的文档。我已经阅读了很多关于如何甚至 the CoreCLR team has taken a bet on LTTng being their primary tracing solution在 Linux 上(而 ETW 是 Windows 上自然存在的解决方案),但在任何方向上都没有任何东西可以采用代码。另一方面,在代码中将应用程序设置为 ETW 监听器非常容易(并且有据可查)(例如 this 只是无数示例中的一个)。

有没有人有过这样做的经验,或者看过任何关于这方面的好文档?同样的库/包/nugets 是否仍然适用于 .NET Core 上的 Linux 世界(即,我是否需要设置一个 TraceEventSession 与相关联的 TraceEventParsers 作用于 TraceEvent 就像在 Windows 中一样,或者是否存在Linux 中需要不同的方向/包)?

任何帮助将不胜感激!

注意:我不想使用 lttng工具本身用于跟踪,但希望将监听构建到 .NET Core 应用程序本身中。

最佳答案

据我所知,.NET Core 中没有用于接收 LTTng 事件的 API。
但是从 .NET Core 2.2 开始,您可以使用 EventListener 监听 CLR 在同一进程中生成的事件。您可以找到说明 here .
如果您不仅需要进程内事件,那么您应该使用 liblttng-ctl 在 C/C++ 中编写一些 native 代码(详见 https://github.com/lttng/lttng-tools)和 Babeltrace 2 C API .

关于c# - 在 .NET Core 应用程序中使用 LTTng 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54736293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com