none
exporterconfig file format RRS feed

  • Question

  • I'm trying to use the -exporterconfig option with Win 10 version of WpaExporter.exe, so that I can specify multiple profiles with different time ranges, and get the following error:

    Windows Performance Analyzer 10.0.10240.16384 (th1.150709-1700)
    Could not deserialize file
    The given exporter configuration file could not be exported.

    This happens even with a simple config file like this:

    {
           "TraceNames" : [{
                         "Key" : "trace1",
                         "Value" : MyTraceFile.etl"
                  }
           ],
           "Profiles" : [{
                         "Name" : "MyProfileFile.wpaProfile",
                         "Traces" : [{
                                      "Name" : "trace1",
                                      "Slot" : 1
                               }
                         ]
                  }
           ]
    }

    Could you tell me what is wrong with my config file or would you be able to provide an example of a working exportconfig file please?


    Friday, August 21, 2015 8:52 AM

All replies

  • Did you get your example working? There seems no documentation for the file format and no one seems to care.
    Tuesday, August 25, 2015 12:25 PM
  • Did you get your example working? There seems no documentation for the file format and no one seems to care.
    No, I haven't yet.  I'll update this thread if I get the answer elsewhere...
    Friday, August 28, 2015 5:24 PM
  • The problem with my config file was that I somehow didn't spot the missing quotation mark in front of "MyTraceFile.etl".  It works fine with that added.

    Beyond the above example, all I can tell you about the file format is that you can create multiple CSV files with different time ranges like this:

    {
           "TraceNames" : [{
                         "Key" : "trace1",
                         "Value" : "MyTraceFile.etl"
                  }
           ],
           "Profiles" : [{
                         "Name" : "MyProfileFile.wpaProfile",
                         "Traces" : [{
                                      "Name" : "trace1",
                                      "Slot" : 1,
    				  "TimeRange" : {
                                             "Start" : "0s",
                                             "End" : "10s"
                                      }
                               }
                         ]
                  }, {
                         "Name" : "MyProfileFile.wpaProfile",
                         "Traces" : [{
                                      "Name" : "trace1",
                                      "Slot" : 1,
                                      "TimeRange" : {
                                             "Start" : "10000ms",
                                             "End" : "11000s"
                                      }
                               }
                         ]
                  }
           ]
    }

    I would have expected to be able to create multiple columns in a single CSV by having a single element in the "Profiles" array that has multiple elements within it's "Traces" array.  This didn't work for me however - it seemed to just process the final element multiple times.

    Hopefully the docs will be published before too long though...


    • Edited by Jon Stoneman Wednesday, September 2, 2015 7:50 AM
    Wednesday, September 2, 2015 7:49 AM
  • Thanks for the working example. One suggestion I have for others working with this is that you can get slightly more verbose information on malformed json using Python. Just launch python.exe and then go:

    >>> import json

    >>> json.load(open("exporterconfig.json"))

    If the load works then it will print the contents of the .json file. If it fails then the error message will include some cryptic-but-useful information about what went wrong.

    Friday, March 31, 2017 11:50 PM