如何获取与服务结构服务的EventSource相关的ETW清单文件?

时间:2016-08-31 06:29:51

标签: .net azure-service-fabric etw

使用visual studio创建无状态可靠服务项目时,您将获得一个自定义事件源,该源从.net框架中对EventSource类进行子类化。由于EventSource与ETW的事件提供者相同,因此必须有一个与之关联的唯一GUID(以区别于其他ETW提供者)。此外,ETW要求清单文件以便跟踪正常工作。 EventSource可能隐藏了开发人员的所有这些信息。有没有办法查看ETW的提供商信息(来自我服务中的自定义EventSource)以及ETW清单文件?

2 个答案:

答案 0 :(得分:2)

事实证明这非常简单。 EventSource类具有以下静态方法:

public static string GenerateManifest(
   Type eventSourceType,
   string assemblyPathToIncludeInManifest
)

调试服务结构服务时,可以执行以下操作:

System.Diagnostics.Debug.WriteLine(System.Diagnostics.Tracing.EventSource.GenerateManifest(typeof(ServiceEventSource), "C:\temp"))

它应该为您提供格式良好的清单xml。

答案 1 :(得分:0)

您可以简单地在项目中安装以下nuGet程序包,该程序包具有子类化EventSource类的自定义事件源

Microsoft.Diagnostics.Tracing.EventRegister

在构建项目后,您将在bin目录中获得清单和dll文件。