@echo off rem Name : Runtrace.cmd rem Author: Shiwei Sun rem Date : January 29th 1999 rem Revisied by: Sabina Sutkovic rem Name of revision: Runtracecall.cmd rem Date : 8-31-00 rem rem CMD script file to test event tracing. All the variations are very trivial rem and test for basic functionality. rem rem Variation 1 - single provider - start, query, update and stop tested rem Variation 2 - three providers - intermingled start and stop tested rem Variation 3 - changes buffer numbers and sizes rem Variation 4 - tests sequential and circular buffer modifications rem Variation 5 - tests kernel logger and all kernel flags if "%1"=="?" goto help if "%1"=="/?" goto help if "%1"=="-?" goto help if "%1"=="/h" goto help if "%1"=="-h" goto help if "%1"=="help" goto help if exist evntrace.log del evntrace.log if exist provider.log del provider.log if exist SuccessTests.log del SuccessTests.log if exist FailedTests.log del FailedTests.log if exist ST.txt del ST.txt if exist FT.txt del FT.txt if exist startvar.txt del startvar.txt @set Guid1=d58c126f-b309-11d1-969e-0000f875a5bc @set Guid2=dcb8c570-2c70-11d2-90ba-00805f8a4d63 @set Guid3=f5b6d380-2c70-11d2-90ba-00805f8a4d63 @set Guid4=f5b6d381-2c70-11d1-90ba-00805f8a4d63 @set Guid5=f5b6d382-2c70-11d1-90ba-00805f8a4d63 @set Guid6=f5b6d383-2c70-11d1-90ba-00805f8a4d63 @echo ======================================================== @echo Variation 1 - single provider and logger - trivial tests @echo ======================================================== start /b "Variation 1 - provider 1" tracedp.exe 8000 -guid #%Guid1% -UseEventTraceHeader -GuidPtrMofPtr>startvar.txt sleep 1 tracelog.exe -start dp1 -guid #%Guid1% -f dp1.log -b 1024 >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set flag=1 rem TEST1 call :SUB1 %flag% %test% sleep 1 tracelog -q dp1 -guid #%Guid1% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST2 call :SUB1 %flag% %test% sleep 1 tracelog -flush dp1 -guid #%Guid1% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST3 call :SUB1 %flag% %test% sleep 1 tracelog -update dp1 -guid #%Guid1%>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST4 call :SUB1 %flag% %test% sleep 20 tracelog -disable dp1 -guid #%Guid1% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST5 call :SUB1 %flag% %test% sleep 2 tracelog -stop dp1 -guid #%Guid1% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST6 call :SUB1 %flag% %test% @echo ================================================================== @echo Variation 2 - three providers - intermingled start and stop tested @echo ================================================================== start /b "Variation 2 - provider 2" tracedp.exe 10000 -guid #dcb8c570-2c70-11d2-90ba-00805f8a4d63 -UseEventInstanceHeader -UseMofPtrFlag>startvar.txt tracelog.exe -start dp2 -guid #%Guid2% -f dp2.log -ft 2 -b 1>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST7 call :SUB1 %flag% %test% sleep 1 start /b "Variation 2 - provider 4" tracedp.exe 7000 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 -UseEventTraceHeader -UseMofPtrFlag sleep 20 tracelog.exe -start dp4 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 -f dp4.log -b 128 -max 100>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST8 call :SUB1 %flag% %test% tracelog.exe -flush dp2 -guid #%Guid2% -rt>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST9 call :SUB1 %flag% %test% tracelog.exe -update dp2 -guid #%Guid2% -rt>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST10 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp4 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST11 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp2 -guid #%Guid2% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST12 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp4 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST13 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp4 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST14 call :SUB1 %flag% %test% @echo ============================================== @echo Variation 3 - changes buffer numbers and sizes @echo ============================================== @set Guid7=b39d2858-2c79-11d2-90ba-00805f8a4d63 @set Guid8=d0ca64d8-2c79-11d2-90ba-00805f8a4d63 start /b "Variation 3 - provider 5" tracedp.exe 25000 -guid #%Guid7% start /b "Variation 3 - provider 6" tracedp.exe 1000 -guid #%Guid8% tracelog.exe -start dp5 -guid #%Guid7% -f dp5.log -b 20 -min 50 -max 100>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST15 call :SUB1 %flag% %test% sleep 1 tracelog.exe -start dp6 -guid #%Guid8% -f dp6.log -b 1024 -min 1024 -max 8192>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST16 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp5 -guid #%Guid7%>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST17 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp5 -guid #%Guid7%>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST18 call :SUB1 %flag% %test% tracelog.exe -q dp6 -guid #%Guid8% -f dp6.log>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST19 call :SUB1 %flag% %test% sleep 10 tracelog.exe -stop dp6 -guid #%Guid8%>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST20 call :SUB1 %flag% %test% @echo ================================================================ @echo Variation 4 - tests sequential and cyclical buffer modifications @echo Trace File Variations @echo ================================================================ @set Guid9=68799948-2c7f-11d2-90bb-00805f8a4d63 @set Guid10=c9bf20c8-2c7f-11d2-90bb-00805f8a4d63 @set Guid11=c9f49c58-2c7f-11d2-90bb-00805f8a4d63 start /b "Variation 4 - provider 7" tracedp.exe 25000 -guid #%Guid9% start /b "Variation 4 - provider 8" tracedp.exe 25000 -guid #%Guid10% start /b "Variation 4 - provider 9" tracedp.exe 25000 -guid #%Guid11% sleep 1 tracelog.exe -start dp7 -guid #%Guid9% -f dp7.log -seq>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST21 call :SUB1 %flag% %test% sleep 1 tracelog.exe -start dp8 -guid #%Guid10% -f dp8.log -cir>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST22 call :SUB1 %flag% %test% sleep 2 tracelog.exe -start dp9 -guid #%Guid11% -f dp9.log>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST23 call :SUB1 %flag% %test% sleep 2 tracelog.exe -q dp7 -guid #%Guid9% -seq>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST24 call :SUB1 %flag% %test% sleep 2 tracelog.exe -update dp8 -guid #%Guid10% -cir>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST25 call :SUB1 %flag% %test% sleep 2 tracelog.exe -q dp9 -guid #%Guid11% -f dp9.log>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST26 call :SUB1 %flag% %test% sleep 2 tracelog.exe -flush dp7 -guid #%Guid9% -seq>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST27 call :SUB1 %flag% %test% sleep 10 tracelog.exe -update dp7 -guid #%Guid9% -seq>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST28 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp7 -guid #%Guid9% -cir>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST29 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp7 -guid #%Guid9% -seq>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST30 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp8 -guid #%Guid10% -cir>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST31 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp8 -guid #%Guid10% -cir>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST32 call :SUB1 %flag% %test% sleep 20 tracelog.exe -disable dp9 -guid #%Guid11% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST33 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp9 -guid #%Guid11% >rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST34 call :SUB1 %flag% %test% @echo ====================================================== @echo Variation 5 - tests kernel logger and all kernel flags @echo ====================================================== tracelog.exe -start -img -fio -pf -hf>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST35 call :SUB1 %flag% %test% sleep 2 tracelog.exe -q>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST36 call :SUB1 %flag% %test% tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST37 call :SUB1 %flag% %test% @echo ===================================== @echo Variation 6 - tests real-time loggers @echo Starting Realtime Kernel Logger @echo ===================================== tracelog.exe -start -rt -pf -fio -ft 1 -b 1>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST38 call :SUB1 %flag% %test% sleep 5 tracelog.exe -stop -rt>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST39 call :SUB1 %flag% %test% @echo Starting Realtime Kernel Logger with large Buffers tracelog.exe -start -rt -pf -fio -ft 1 -b 512>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST40 call :SUB1 %flag% %test% sleep 5 tracelog.exe -stop -rt>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST41 call :SUB1 %flag% %test% start /b "Variation 6 - provider 5" tracedp.exe 25000 -guid #b39d2858-2c79-11d2-90ba-00805f8a4d63 start /b "Variation 6 - provider 6" tracedp.exe 1000 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63 tracelog.exe -start dp5 -guid #b39d2858-2c79-11d2-90ba-00805f8a4d63 -rt -b 20 -min 50 -max 100>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST42 call :SUB1 %flag% %test% tracelog.exe -start dp6 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63 -rt -b 20 -min 50 -max 100>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST43 call :SUB1 %flag% %test% sleep 2 tracelog.exe -stop dp5>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST44 call :SUB1 %flag% %test% sleep 10 tracelog.exe -stop dp6>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST45 call :SUB1 %flag% %test% @echo =========================================================== @echo Variation 7 - Kernel Logger Tests - Different Logger Types @echo Sequential Logger Starting Sequential Kernel Logger @echo ========================================================== tracelog.exe -start -f krnl7.log>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST46 call :SUB1 %flag% %test% sleep 5 tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST47 call :SUB1 %flag% %test% @echo Circular Logger 1 MB tracelog.exe -start -f krnl8.log -cir 1>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST48 call :SUB1 %flag% %test% sleep 50 tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST49 call :SUB1 %flag% %test% @echo Circular Logger 20 MB With Flush Timer with Large buffer Size tracelog.exe -start -f krnl9.log -cir 20 -ft 1 -b 128 -fio -pf>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST50 call :SUB1 %flag% %test% sleep 50 tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST51 call :SUB1 %flag% %test% @echo Kernel Logger with some flags masked. tracelog.exe -start -f krnl10.log>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST52 call :SUB1 %flag% %test% tracelog.exe -q>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST53 call :SUB1 %flag% %test% sleep 5 tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST54 call :SUB1 %flag% %test% @echo Kernel Logger with Flush Timer and Aging Decay with buffer variation tracelog.exe -start -f krnl11.log -fio -pf -b 1 -min 2 -max 1000 -ft 1 -age 1>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST55 call :SUB1 %flag% %test% tracelog.exe -q>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST56 call :SUB1 %flag% %test% sleep 100 tracelog.exe -q>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST57 call :SUB1 %flag% %test% tracelog.exe -stop>rundrt.log for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test=%%I set /A flag=flag+1 rem TEST58 call :SUB1 %flag% %test% :EOL @echo ____________________________________________________ @echo If you have any questions about this script contact: @echo Sabina Sutkovic alias:t-sabins or @echo Melur Raghuraman alias:mraghu @echo ____________________________________________________ @echo The list of the Successful tests are dumped in ST.txt file. @echo The list of the Failed tests are dumped in FT.txt file. @echo The details of Successful test are in SuccessTests.log. @echo The details of Failed tests are in FailedTests.log. echo. if not exist st.txt ( sline=0 @echo ==================================== @echo Sorry all of the tests have Failed. ) else ( wc st.txt>linecount.txt for /F "tokens=1" %%I in (linecount.txt) do set sline=%%I ) if not exist ft.txt ( set fline=0 @echo ================================================ @echo Congratulation all of the tests are Successful. ) else ( wc ft.txt>linecount.txt for /F "tokens=1" %%I in (linecount.txt) do set fline=%%I ) @echo =========================== @echo %sline% Successful tests. @echo %fline% Failed tests. @echo =========================== del dp* goto :EOF :help tracelog.exe -h echo ! echo ! echo Usage: provider [parm1] [parm2] [parm3] [parm4] [parm5] [parm6] echo param1: Maximum number of events to process echo param2: Control guid to trace echo parm3: Sleep time in seconds between each event loop echo parm4: -UseEventInstanceHeader or TraceEvent echo parm5: GuidPtr or -UseMofPtrFlag or GuidPtrMofPtr echo parm6: or SingleReg echo Note: Parameters must be in sequential order, and cannot skipped. echo example: echo provider 80 %Guid1% 1 -UseEventTraceHeader MofPtr echo ! echo ! echo Usage: tracedmp [options] LogFileName echo LogFileName Log file name from witch tracedp.exe dumps data echo -begin time Dump data from begin time echo -end time Dump data with end time echo -um Set user mode. If omitted, default is kernel mode echo -rt logger Set real time mode for logger. If empty, kernel logger echo -guid name Guid file name. Default is MofData.guid echo -o name Output file name. Default is DumpFile.csv and Summary.txt echo example 1: echo tracedmp -um -o outputfile dp1.evm //dump user mode, log file is dp1.evm echo example 2: echo tracedmp -rt //dump kernel mode, real time stream. echo ! :SUB1 if %2==0L ( echo. @echo TEST %1 SUCCESS >> ST.txt echo. >>SuccessTests.log echo. >>SuccessTests.log @echo TEST %1 SUCCESS >> SuccessTests.log type rundrt.log >> SuccessTests.log @echo TEST %1 SUCCESS echo. ) else ( echo. @echo TEST %1 FAILED >> FT.txt echo. >>FailedTests.log echo. >>FailedTests.log @echo TEST %1 FAILED >> FailedTests.log type rundrt.log >> FailedTests.log @echo TEST %1 FAILED echo. ) :EOF