2
  1. 我们使用 ETW 自定义事件源(继承自 Microsoft.Diagnostics.Tracing.EventSource,Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28 来自 NUGET)来检测我们的应用程序。

  2. 我们的提供程序在可以捕获文件中的事件的会话中启用。下面是配置跟踪会话:

    • 流模式:文件

跟踪缓冲区

  • 缓冲区大小:512 KB
  • 最小缓冲区:200
  • 最大缓冲区:400
  • 冲洗计时器:0 秒

文件:

  • 日志模式:新文件(达到最大文件大小的新文件)停止条件:
  • 最大大小:11MB

    1. 最大事件速率约为每秒几百个事件。
    2. 我们使用 Windows 服务器 2012 SP1。

有时我们会看到生成的 ETL 文件大小为 11MB(或有时更大),但它的事件为零。这主要发生在系统以最大事件率运行几天的可靠性服务器上。一旦发生这种情况,此后的所有日志文件都为零事件,此后我们将丢失所有事件。

尝试在 Windows 性能分析器中打开日志时,会显示以下错误消息。

Windows 性能分析器错误

这个问题很少重现。这使得尝试不同的试验和错误变得困难。

尝试的解决方案(无效):

  1. 将 Min 和 Max 缓冲区的数量分别减少到 24 和 48。
  2. 将冲洗计时器引入 10 秒。当事件率低时,这有一个缺点是创建 11MB 的日志文件并且事件很少。

有人遇到过这样的问题吗?请帮助。

4

0 回答 0