简介
- 前面我们提到了如何通过
wprUI
和wpr
这两个程序去记录系统状态,但是整个过程中我们都是使用的WPT工具包
内建的.wprp文件
。如何说我们想要去获得更强的控制权应该怎么做呢?答案就是书写属于我们自己的.wprp文件
。- 这个文件里面定义了我们需要的
Providers
Collectors
Profile
TraceMergeProperties
整个.wprp文件
的内容实质就是一个xml文件
只不过两者后缀名称不一样。大体结构如下
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<WindowsPerformanceRecorder ...>
<Profiles>
<-- 可以有多个Collector元素 -->
<Collector ...>
...
</Collector>
<-- 可以有多个Provider元素 -->
<Provider ...>
...
</Provider>
<-- 可以有多个Profile元素 -->
<Profile ...>
...
</Profile>
<TraceMergeProperties>
<TraceMergeProperty ...>
...
</TraceMergeProperty>
</TraceMergeProperties>
</Profiles>
</WindowsPerformanceRecorder>
WRPR文件完整加载流程
- 1.
WPR
程序加载.wprp文件
- 2.
WPR
开启多个Session
进行追踪- 3.
Session
追踪完毕后交付给WPR
进行处理- 4.
WPR
最终对事件记录进行合并,生成一个.etl
日志文件
以下是我给大家提供的一个已经编写好的示例
.wprp文件
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<WindowsPerformanceRecorder
Author="JackyPeng"
Comments="A Learning to write wprp sample"
Company="JackyPeng"
Copyright="JackyPeng"
Team="JackyPeng"
Version="1.0"
>
<Profiles>
<SystemCollector
Id="SystemCollector_StackTrace"
Name="NT