WPA export ETL trace to csv or excel file.

MikeZhou 1 Reputation point
2022-10-14T10:49:22.553+00:00

I am wondering WPA can export ETL trace to CSV or excel file format or not.
I have several ETL test logs needs to check.
I can open them one by one the copy the content to a excel file.

I would like to see if it is possible to use some kind of command line which can allow me to export them to csv or excel file.
Then I can write a python script to check the csv or excel file automatically, instead of check them one by one.
I would like to get some kind of automation to assist me check ETL trace.

Windows Performance Toolkit
Windows Performance Toolkit
A collection of Microsoft performance monitoring tools that produce in-depth performance profiles of Windows operating systems and applications.
97 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Alois Kraus 1 Reputation point
    2022-12-10T20:43:35.79+00:00

    You can use WPAExporter to export tables defined in WPA Profiles. This works but is not optimal.
    I have written ETWAnalyzer which converts aggregates into Json files which can programmatically be queried, or you can export the data further to a .csv file.
    See https://github.com/Siemens-Healthineers/ETWAnalyzer

    The workflow is

    ETWAnalyzer -extract all -fd xxx.etl -symserver ms

    This will create a json file and put it (by default) in a subfolder Extract with the same file name as the input ETL file.
    Once you have extracted the data you can dump the data to console or export it further:

    ETWAnalyzer -dump process -fd Extract\xxx.json -csv Process.csv
    ETWAnalyzer -dump CPU -fd Extract\xxx.json -csv CPUOverView.csv
    ETWAnalyzer -dump CPU -methods * -fd Extract\xxx.json -csv CPUDetails.csv
    ETWAnalyzer -dump File -fd Extract\xxx.json -csv File.csv
    ETWAnalyzer -dump Disk -fd Extract\xxx.json -csv Disk.csv
    ...

    You can limit the data to a specific process with -processname which supports multiple filters and exclusion rules. Filters are separated with ;
    -processname *ch*;!*chrome* will filter for all processes which contan ch but excludes chrome processes.

    0 comments No comments