.net 跟踪处理是否具有与 ETW2JSON 等效或更好的事件解析支持?
Does .net trace processing have equivalent or better event parsing support as ETW2JSON?
我已经浏览了很多关于跟踪处理和 ETW 的一般文档,但仍然觉得我缺少一些细节。跟踪处理库是否支持处理属于 .etl
文件的所有事件?例如,ETW2JSON 声称支持以下内容并提供反序列化事件的库:
Windows MOF Classes events, Windows Vista Manifest events and EventSource .NET events. It also understands events that XPERF (WPR) adds as part of its merging process (to give PDB information) for profiler tools like the Windows Performance Recorder.
跟踪处理库是否为处理来自 .etl
文件的所有类型的事件提供等效或更好的支持?
例如,假设我正在通过通用事件进行处理。
using (ITraceProcessor trace = TraceProcessor.Create(etlPath))
{
IPendingResult<IGenericEventDataSource> genericEvents = trace.UseGenericEvents();
trace.Process();
IGenericEventDataSource genericEventDataSource = genericEvents.Result;
foreach (IGenericEvent gevent in genericEventDataSource.Events)
{
// process event
}
}
使用上面的代码,这是否允许我访问 .etl
文件中的 所有 事件?
(我是 Microsoft 的一名开发人员,从事 TraceProcessor 项目。)
我没有ETW2JSON项目的经验,所以无法比较。
- MOF/Classic - IClassicEventDataSource
中可用的事件
- Windows 跟踪预处理器 (WPP) - IWindowsTracePreprocessorDataSource
中可用的事件
- 已显示 - IGenericEventDataSource
中可用的事件
- TraceLogging - IGenericEventDataSource
中可用的事件
(您可以使用 IsTraceLogging property on IGenericEvent 来区分显式事件和 TraceLogging 事件。)
我不知道跟踪中的某类事件不会出现在这三个数据源之一中,但如果您发现遗漏了什么,请告诉我。
我已经浏览了很多关于跟踪处理和 ETW 的一般文档,但仍然觉得我缺少一些细节。跟踪处理库是否支持处理属于 .etl
文件的所有事件?例如,ETW2JSON 声称支持以下内容并提供反序列化事件的库:
Windows MOF Classes events, Windows Vista Manifest events and EventSource .NET events. It also understands events that XPERF (WPR) adds as part of its merging process (to give PDB information) for profiler tools like the Windows Performance Recorder.
跟踪处理库是否为处理来自 .etl
文件的所有类型的事件提供等效或更好的支持?
例如,假设我正在通过通用事件进行处理。
using (ITraceProcessor trace = TraceProcessor.Create(etlPath))
{
IPendingResult<IGenericEventDataSource> genericEvents = trace.UseGenericEvents();
trace.Process();
IGenericEventDataSource genericEventDataSource = genericEvents.Result;
foreach (IGenericEvent gevent in genericEventDataSource.Events)
{
// process event
}
}
使用上面的代码,这是否允许我访问 .etl
文件中的 所有 事件?
(我是 Microsoft 的一名开发人员,从事 TraceProcessor 项目。)
我没有ETW2JSON项目的经验,所以无法比较。
- MOF/Classic - IClassicEventDataSource 中可用的事件
- Windows 跟踪预处理器 (WPP) - IWindowsTracePreprocessorDataSource 中可用的事件
- 已显示 - IGenericEventDataSource 中可用的事件
- TraceLogging - IGenericEventDataSource 中可用的事件
(您可以使用 IsTraceLogging property on IGenericEvent 来区分显式事件和 TraceLogging 事件。)
我不知道跟踪中的某类事件不会出现在这三个数据源之一中,但如果您发现遗漏了什么,请告诉我。