You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
407 lines
16 KiB
407 lines
16 KiB
@echo off
|
|
rem Name : Runtrace.cmd
|
|
rem Author: Shiwei Sun
|
|
rem Date : January 29th 1999
|
|
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
|
|
|
|
|
|
@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
|
|
|
|
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 test1=%%I
|
|
call :SUB1 %test1% 1
|
|
|
|
sleep 1
|
|
tracelog -q dp1 -guid #%Guid1% -f dp1.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test2=%%I
|
|
call :SUB1 %test2% 2
|
|
|
|
sleep 1
|
|
tracelog -flush dp1 -guid #%Guid1%>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test3=%%I
|
|
call :SUB1 %test3% 3
|
|
|
|
sleep 1
|
|
tracelog -update dp1 -guid #%Guid1%>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test4=%%I
|
|
call :SUB1 %test4% 4
|
|
|
|
sleep 1
|
|
tracelog -stop dp1 -guid #%Guid1% -f dp1.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test5=%%I
|
|
call :SUB1 %test5% 5
|
|
|
|
@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
|
|
|
|
rem echo ! Starting provider 3 ...
|
|
rem start "Variation 2 - provider 3" tracedp.exe 20000 -guid #%Guid3% -UseEventTraceHeader -GuidPtr
|
|
rem echo ! Starting provider 3 finished
|
|
|
|
tracelog.exe -start dp2 -guid #dcb8c570-2c70-11d2-90ba-00805f8a4d63 -f dp2.log -ft 2 -b 1>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test6=%%I
|
|
call :SUB1 %test6% 6
|
|
|
|
sleep 1
|
|
start /b "Variation 2 - provider 4" tracedp.exe 7000 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 -UseEventTraceHeader -UseMofPtrFlag
|
|
|
|
rem echo ! Starting Logger dp3 for provider 3
|
|
rem tracelog.exe -start dp3 -guid #-%Guid3%" -f dp3.log
|
|
|
|
rem echo ! Starting logger dp3 finished
|
|
rem echo !
|
|
|
|
rem echo ! Sleeping for 1 seconds...
|
|
rem sleep 1
|
|
|
|
rem echo ! Querying logger dp3...
|
|
rem tracelog.exe -q dp3 -guid #%Guid3% -f dp3.log
|
|
rem echo ! Querying logger dp3 finished
|
|
rem echo !
|
|
|
|
rem echo "Sleeping for 1 seconds..."
|
|
rem sleep 1
|
|
|
|
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 test7=%%I
|
|
call :SUB1 %test7% 7
|
|
|
|
rem echo ! Update request to logger dp3...
|
|
rem tracelog.exe -update dp3 -guid #%Guid3% -f dp3.log
|
|
rem echo ! Update request to logger dp3 finished
|
|
rem echo !
|
|
|
|
tracelog.exe -flush dp2 -guid #%Guid2% -f dp2.log -rt>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test8=%%I
|
|
call :SUB1 %test8% 8
|
|
|
|
tracelog.exe -update dp2 -guid #%Guid2% >rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test9=%%I
|
|
call :SUB1 %test9% 9
|
|
|
|
tracelog.exe -stop dp2 -guid #%Guid2% -f dp2.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test10=%%I
|
|
call :SUB1 %test10% 10
|
|
|
|
sleep 3
|
|
tracelog.exe -stop dp4 -guid #054b1ae0-2c71-11d2-90ba-00805f8a4d63 -f dp4.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test11=%%I
|
|
call :SUB1 %test11% 11
|
|
|
|
sleep 1
|
|
|
|
rem echo ! Stopping logger dp3 (provider 3 should terminate now) ...
|
|
rem tracelog.exe -stop dp3 -guid #%Guid3% -f dp3.log
|
|
rem echo ! Stopping logger dp3 finished
|
|
rem echo !
|
|
|
|
@echo ==============================================
|
|
@echo Variation 3 - changes buffer numbers and sizes
|
|
@echo ==============================================
|
|
start /b "Variation 3 - provider 5" tracedp.exe 25000 -guid #b39d2858-2c79-11d2-90ba-00805f8a4d63
|
|
start /b "Variation 3 - provider 6" tracedp.exe 1000 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63
|
|
|
|
tracelog.exe -start dp5 -guid #b39d2858-2c79-11d2-90ba-00805f8a4d63 -f dp5.log -b 20 -min 50 -max 100>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test12=%%I
|
|
call :SUB1 %test12% 12
|
|
|
|
sleep 1
|
|
tracelog.exe -start dp6 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63 -f dp6.log -b 1024 -min 1024 -max 8192>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test13=%%I
|
|
call :SUB1 %test13% 13
|
|
|
|
sleep 3
|
|
tracelog.exe -stop dp5 -guid #b39d2858-2c79-11d2-90ba-00805f8a4d63 -f dp5.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test14=%%I
|
|
call :SUB1 %test14% 14
|
|
|
|
tracelog.exe -update dp6 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63 >rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test15=%%I
|
|
call :SUB1 %test15% 15
|
|
|
|
|
|
tracelog.exe -stop dp6 -guid #d0ca64d8-2c79-11d2-90ba-00805f8a4d63 -f dp6.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test16=%%I
|
|
call :SUB1 %test16% 16
|
|
|
|
|
|
@echo ================================================================
|
|
@echo Variation 4 - tests sequential and circular buffer modifications
|
|
@echo Trace File Variations
|
|
@echo ================================================================
|
|
start /b "Variation 4 - provider 7" tracedp.exe 25000 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63
|
|
start /b "Variation 4 - provider 8" tracedp.exe 25000 -guid #c9bf20c8-2c7f-11d2-90bb-00805f8a4d63
|
|
start /b "Variation 4 - provider 9" tracedp.exe 25000 -guid #c9f49c58-2c7f-11d2-90bb-00805f8a4d63
|
|
sleep 1
|
|
tracelog.exe -start dp7 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63 -f dp7.log -seq>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test17=%%I
|
|
call :SUB1 %test17% 17
|
|
|
|
sleep 1
|
|
tracelog.exe -start dp8 -guid #c9bf20c8-2c7f-11d2-90bb-00805f8a4d63 -f dp8.log -cir 1>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test18=%%I
|
|
call :SUB1 %test18% 18
|
|
|
|
sleep 2
|
|
tracelog.exe -start dp9 -guid #c9f49c58-2c7f-11d2-90bb-00805f8a4d63 -f dp9.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test19=%%I
|
|
call :SUB1 %test19% 19
|
|
|
|
sleep 2
|
|
tracelog.exe -q dp7 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63 -f dp7.log -seq>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test20=%%I
|
|
call :SUB1 %test20% 20
|
|
|
|
sleep 2
|
|
tracelog.exe -update dp8 -guid #c9bf20c8-2c7f-11d2-90bb-00805f8a4d63 -cir 1>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test21=%%I
|
|
call :SUB1 %test21% 21
|
|
sleep 2
|
|
|
|
tracelog.exe -update dp8 -guid #c9bf20c8-2c7f-11d2-90bb-00805f8a4d63 -cir 1>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test22=%%I
|
|
call :SUB1 %test22% 22
|
|
|
|
tracelog.exe -q dp9 -guid #c9f49c58-2c7f-11d2-90bb-00805f8a4d63 -f dp9.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test23=%%I
|
|
call :SUB1 %test23% 23
|
|
|
|
sleep 2
|
|
tracelog.exe -flush dp7 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63 -f dp7.log -seq>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test24=%%I
|
|
call :SUB1 %test24% 24
|
|
|
|
sleep 2
|
|
tracelog.exe -update dp7 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63 -seq>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test25=%%I
|
|
call :SUB1 %test25% 25
|
|
|
|
sleep 4
|
|
tracelog.exe -stop dp7 -guid #68799948-2c7f-11d2-90bb-00805f8a4d63 -f dp7.log -seq>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test26=%%I
|
|
call :SUB1 %test26% 26
|
|
|
|
tracelog.exe -stop dp8 -guid #c9bf20c8-2c7f-11d2-90bb-00805f8a4d63 -f dp8.log -cir>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test27=%%I
|
|
call :SUB1 %test27% 27
|
|
|
|
tracelog.exe -stop dp9 -guid #c9f49c58-2c7f-11d2-90bb-00805f8a4d63 -f dp9.log>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test28=%%I
|
|
call :SUB1 %test28% 28
|
|
|
|
@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 test29=%%I
|
|
call :SUB1 %test29% 29
|
|
|
|
sleep 2
|
|
tracelog.exe -q>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test30=%%I
|
|
call :SUB1 %test30% 30
|
|
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test31=%%I
|
|
call :SUB1 %test31% 31
|
|
|
|
@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 test32=%%I
|
|
call :SUB1 %test32% 32
|
|
sleep 5
|
|
tracelog.exe -stop -rt>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test33=%%I
|
|
call :SUB1 %test33% 33
|
|
|
|
@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 test34=%%I
|
|
call :SUB1 %test34% 34
|
|
|
|
sleep 5
|
|
tracelog.exe -stop -rt>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test35=%%I
|
|
call :SUB1 %test35% 35
|
|
|
|
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 test36=%%I
|
|
call :SUB1 %test36% 36
|
|
|
|
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 test37=%%I
|
|
call :SUB1 %test37% 37
|
|
|
|
tracelog.exe -stop dp5>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test38=%%I
|
|
call :SUB1 %test38% 38
|
|
|
|
tracelog.exe -stop dp6>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test39=%%I
|
|
call :SUB1 %test39% 39
|
|
|
|
|
|
@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 test40=%%I
|
|
call :SUB1 %test40% 40
|
|
|
|
sleep 5
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test41=%%I
|
|
call :SUB1 %test41% 41
|
|
|
|
@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 test42=%%I
|
|
call :SUB1 %test42% 42
|
|
|
|
sleep 50
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test43=%%I
|
|
call :SUB1 %test43% 43
|
|
|
|
@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 test44=%%I
|
|
call :SUB1 %test44% 44
|
|
|
|
sleep 50
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test45=%%I
|
|
call :SUB1 %test45% 45
|
|
|
|
@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 test46=%%I
|
|
call :SUB1 %test46% 46
|
|
|
|
tracelog.exe -q>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test47=%%I
|
|
call :SUB1 %test47% 47
|
|
|
|
sleep 5
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test48=%%I
|
|
call :SUB1 %test48% 48
|
|
|
|
@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 test49=%%I
|
|
call :SUB1 %test49% 49
|
|
|
|
tracelog.exe -q>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test50=%%I
|
|
call :SUB1 %test50% 50
|
|
|
|
sleep 100
|
|
tracelog.exe -q>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test51=%%I
|
|
call :SUB1 %test51% 51
|
|
|
|
tracelog.exe -stop>rundrt.log
|
|
for /F "tokens=3" %%I in ('findstr Status: rundrt.log') do set test52=%%I
|
|
call :SUB1 %test52% 52
|
|
|
|
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 %1==0L (
|
|
@echo TEST %2 SUCCESS >> ST.txt
|
|
echo. >>SuccessTests.log
|
|
echo. >>SuccessTests.log
|
|
@echo TEST %2 SUCCESS >> SuccessTests.log
|
|
type rundrt.log >> SuccessTests.log
|
|
@echo TEST %2 SUCCESS
|
|
echo.
|
|
) else (
|
|
@echo TEST %2 FAILED >> FT.txt
|
|
echo. >>FailedTests.log
|
|
echo. >>FailedTests.log
|
|
@echo TEST %2 FAILED >> FailedTests.log
|
|
type rundrt.log >> FailedTests.log
|
|
@echo TEST %2 FAILED
|
|
echo.
|
|
)
|
|
:EOF
|