ChannelPublishingType 复杂类型
定义通道使用的会话的日志记录属性。
<xs:complexType name="ChannelPublishingType">
<xs:sequence
minOccurs="0"
>
<xs:element name="level"
type="UInt8Type"
default="0"
minOccurs="0"
/>
<xs:element name="keywords"
type="UInt64Type"
default="0"
minOccurs="0"
/>
<xs:element name="controlGuid"
type="GUIDType"
minOccurs="0"
/>
<xs:element name="bufferSize"
type="UInt32Type"
minOccurs="0"
/>
<xs:element name="minBuffers"
type="UInt32Type"
minOccurs="0"
/>
<xs:element name="fileMax"
type="UInt32Type"
minOccurs="0"
/>
<xs:element name="maxBuffers"
type="UInt32Type"
minOccurs="0"
/>
<xs:element name="latency"
type="UInt32Type"
minOccurs="0"
/>
<xs:element name="clockType"
default="SystemTime"
minOccurs="0"
>
<xs:simpleType>
<xs:restriction
base="xs:string"
>
<xs:enumeration
value="SystemTime"
/>
<xs:enumeration
value="QPC"
/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sidType"
minOccurs="0"
>
<xs:simpleType>
<xs:restriction
base="xs:string"
>
<xs:enumeration
value="None"
/>
<xs:enumeration
value="Publishing"
/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:any
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"
namespace="##other"
/>
</xs:sequence>
<xs:anyAttribute
processContents="lax"
namespace="##other"
/>
</xs:complexType>
子元素
元素 | 类型 | 说明 |
---|---|---|
bufferSize | UInt32Type | 要为每个缓冲区分配的内存量(以 KB 为单位)。 如果预期事件速率相对较低,则应将缓冲区大小设置为内存页大小。 如果预期事件速率相对较高,则应指定更大的缓冲区大小并增加最大缓冲区数。 缓冲区大小会影响缓冲区填充和必须刷新的速率。 虽然较小的缓冲区大小需要的内存较少,但它会增加必须刷新缓冲区的速率。 分析和调试通道的默认缓冲区大小为 4 KB,对于管理员和操作为 64 KB。 |
clockType | 记录每个事件的时间戳时要使用的时钟分辨率。 可以指定 SystemTime 或 QPC。 SystemTime 提供低分辨率 (10 毫秒) 时间戳,但检索成本相对较低。 默认值为 SystemTime。 查询性能计数器 (QPC) 提供高分辨率 (100 纳秒) 时间戳,但检索成本相对较高。 如果事件速率较高,或者使用者合并不同缓冲区中的事件,则应 QPC。 |
|
controlGuid | GUIDType | 标识包含 WPP 事件的 ETW 会话的会话 GUID。 此设置仅允许用于类型为 Debug 的通道。 如果关键字设置为零 (0x0000000000000000) ,则无法完全启用这些通道。 必须在关键字设置为 0xffffffffffffffff 的情况下启用它们。 |
fileMax | UInt32Type | 启用通道时,希望服务创建新日志文件的最大次数 (包括计算机) 重启时间。 如果值为 0 或 1,则每次启用通道时,服务都会覆盖日志文件,并且以前的事件将丢失。 如果值大于 1,则每次启用通道时,服务都会创建新的日志文件,以保留事件。 默认值为 1,可指定的最大值为 16。 该服务在每个文件名后面追加一个介于 0 和 fileMax 1 之间的三位数十进制数。 例如, filename.etl.xxx,其中 xxx 是三位数十进制数。 这些文件位于 %windir%\System32\winevt\Logs 中。 |
关键 字 | UInt64Type | 确定写入通道的事件类别的位掩码。 如果 keywords 属性的值为 0,则提供程序写入的所有事件都会写入通道;否则,只有已定义关键字位掩码中包含的关键字 (keyword) 的事件才会写入通道。 默认值为 0。 设置了 controlGuid 属性的调试通道必须将 keywords 属性设置为 0xFFFFFFFFFFFFFFFF。 会话在启用提供程序时将关键字值传递给提供程序。 |
延迟 | UInt32Type | 刷新缓冲区之前等待的时间(以毫秒为单位)。 如果为零,则 ETW 会在缓冲区已满后立即刷新缓冲区。 如果不是零值,则 ETW 会根据值刷新包含事件的所有缓冲区,即使缓冲区未满也是如此。 通常,仅当缓冲区已满时才需要刷新缓冲区。 强制刷新缓冲区可能会增大日志文件的文件大小以及未填充的缓冲区空间。 对于管理员和操作日志,默认值为 1 秒,对于分析和调试日志,默认值为 5 秒。 |
水平 | UInt8Type | 要写入通道的事件的严重性级别。 服务将事件写入级别值小于或等于指定值的通道。 默认值为 0,这意味着记录具有任何级别值的事件。 会话在启用提供程序时将级别值传递给提供程序。 |
maxBuffers | UInt32Type | 要为会话分配的最大缓冲区数。 通常,此值是缓冲区的最小数目加上 20。 此值必须大于或等于为 minBuffers 指定的值。 分析和调试通道的默认最大缓冲区数为 10 KB,对于管理员和操作缓冲区为 64 KB。 |
minBuffers | UInt32Type | 要为会话分配的最小缓冲区数。 默认值为零。 |
sidType | 确定是否在将每个事件写入通道的主体的 SID) (包含安全标识符。 若要在事件中包含 SID,请将此属性设置为“发布”。 SID 是在写入事件时基于线程标识设置的。 如果不想将 SID 与事件一起,请将此属性设置为“None”。 默认值为“发布”。 |
备注
可以为分析和调试通道类型或指定自定义隔离的任何通道指定此发布信息。
尽管可以指定级别和关键字,但应考虑这些事件将是从该通道的提供程序接收的唯一事件。
当缓冲区已满时,ETW 会将缓冲区刷新到日志文件。 如果缓冲区的填充速度超过刷新速度,则会分配新缓冲区并将其添加到会话的缓冲池,最多达到指定的最大数目。 超出此限制时,会话会放弃传入事件,直到缓冲区可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |