There was one bit I should add from this last blog:
Once you've gathered up the data, how do you use it? The biggest trouble with PerfMon in the way it gathers GPU data is, while it can do per-process data gathering, it doesn't actually capture the process you're interested in unless it's already running. While that's fine and all for observing it without logging, creating a Data Collector Set that captures the process is impossible. PerfMon uses Process IDs, or PIDs, and the game's PID will change every time its run. So you're forced in PerfMon to capture data from every process using the GPU at the start of the capture.
This presents a problem, because what you end getting is something that looks like this:
Only some of this data is actually useful, so we have to figure out which ones aren't. However in this case, there's a semi-obvious choice: the solid green line going up and down during the benchmark. If you hover over it with the mouse, it tells you what it is:
This helps narrow down the PID of the game and what you can do to filter out the results. In this case, the PID is 3892. If we filter out everything in the "Instance" column for 3892, we get:
And you can doubly check to make sure it's the game by checking GPU memory usage. Now remove every other "Instance" that isn't for PID 3892 to clean up the data. Once you're done with that, you can right click on the graph, select "Save Data As...", select "Text File (Comma Delimited)" as the file type, and save. Now you can use your favorite spreadsheet application of choice to process this data.