BiosInitTime from Hibernate Resume ETW trace

198 Views Asked by At

Looking at the "BiosInitTime" from ETW events parsed using "tracerpt.exe" and I noticed for hibernate/S4 resume it's always 0 (see example at the end). The same happened with etl traces collected directly using XPERF or via ADK Windows Assessment Console. But via WAC/WPA analysis & GUI, the BIOS will be shown. So it appears the information is there but "tracerpt.exe" is parsing the wrong events to calculate "BiosInitTime".

What specific start/stop events I should check to calculate the Bios Init Time via etl trace, say, using xperf?

Thanks

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
    <Provider Name="Microsoft-Windows-Kernel-Power" Guid="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" />
    <EventID>39</EventID>
    <Version>0</Version>
    <Level>4</Level>
    <Task>33</Task>
    <Opcode>0</Opcode>
    <Keywords>0x400000000000000C</Keywords>
    <TimeCreated SystemTime="2016-02-03T15:08:43.601479000Z" />
    <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
    <Execution ProcessID="4" ThreadID="3140" ProcessorID="0" KernelTime="180" UserTime="0" />
    <Channel>Microsoft-Windows-Kernel-Power/Diagnostic</Channel>
    <Computer />
</System>
<EventData>
    <Data Name="SleepTime">    1546</Data>
    <Data Name="ResumeTime">     769</Data>
    <Data Name="DriverWakeTime">     715</Data>
    <Data Name="HiberWriteTime">    2999</Data>
    <Data Name="HiberReadTime">    1862</Data>
    <Data Name="HiberPagesWritten">  148964</Data>
    **<Data Name="BiosInitTime">       0</Data>**
</EventData>
<RenderingInfo Culture="en-US">
    <Level>Information </Level>
    <Opcode>Info </Opcode>
    <Keywords>
        <Keyword>po:Diagnostic</Keyword>
        <Keyword>po:Performance</Keyword>
    </Keywords>
    <Task>PowerTransition</Task>
    <Channel>Microsoft-Windows-Kernel-Power/Diagnostic</Channel>
    <Provider>Microsoft-Windows-Kernel-Power </Provider>
</RenderingInfo>

1

There are 1 best solutions below

2
On

The Microsoft-Windows-Kernel-Power events are not captured into the ETL when selecting hibernation in WPRUI.exe. You can see this if you open the ETL with PerfView and look in the raw event list.

So when you try to search for the BiosInitTime it shows as 0. If you can see if when running the ADK Windows Assessment Console, this means here the Microsoft-Windows-Kernel-Power events are captured.