gpt4 book ai didi

c# - ETW 消费过去的事件

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:28 24 4
gpt4 key购买 nike

我打算使用 ETW,因为它:

  • 强制构建日志记录
  • 低延迟
  • 在另一个进程上消费事件的能力

想法是使用语义日志应用程序 block 等外部进程使用 ETW 事件,并将这些事件转发到中央位置。

我的问题是。如果在应用程序继续向 ETW 发送事件时 ETW 使用者因任何原因宕机,是否有任何方法可以使用过去的事件?

最佳答案

当您的自定义 Recorder 关闭时,不会记录任何事件。除非您的 ProviderRecorder 之间有一个 Session,否则 ETW 不会存储任何内容。

我可以为您提供的解决方案是使用 WPR和您的自定义 Recorder。将跟踪保存到文件中...但请记住 ETW 可以在 1 秒内引发 20K 事件(您将收到 BCL 事件...)...(保持文件小,然后恢复从失败中快速......)

编辑

this article :

You could still lose log messages in the out-of-process scenario if the server itself fails between the time the application writes the log message and the time the out-of-process host persists the message, or if the out-of-process host application crashes before it persists the message.

所以正如我所说,使用 2 个应用程序可能会有所帮助...

关于c# - ETW 消费过去的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32135514/

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