microsoft/microsoft-performance-toolkit-sdk

Additional features in the "Cycles Per Instruction" table

szilvaa-adsk opened this issue · 1 comments

Is your feature request an entirely new concept?
No.

Is your feature request related to an existing component?
Yes. WPA's "Cycles Per Instruction" table.

Is your feature request related to a problem? Please describe.
I'd like to discover places in my code that have poor CPI.

Describe the solution you'd like
WPA already has Cycles Per Instruction table. This table becomes available when you turn on "pmc" with the following command line:

tracelog.exe -start pmc -eflag CSWITCH -PMC TotalIssues,TotalCycles:CSWITCH -f e:\pmc.etl

Unfortunately, the CPI table lacks 2 key features:

  1. It does not actually display the CPI. It only shows the total cycles and the total instructions, but the ratio is left to the user to calculate.
  2. There's no way to turn on a "Stack" column even when the underlying ETL file has stacks for each CSWITCH. I would like to drill down on the "hot" code where the CPI is worse.

Describe alternatives you've considered

  • I could use VTune.
  • I could implement my own table.
  • I could decompile the WPA code that implements this table to add the above 2 features.

Additional context
image

Hi @szilvaa-adsk,

Thanks for the feedback. I will address both points independently:

  1. Unfortunately, proper CPI data is not something we can currently calculate with the SDK and therefore show in WPA. In fact, a proper CPI column was the catalyst of creating work item #144. If/once this work item is finished we can implement this feature. However, it is not currently on any road map.

  2. We will give your suggestion of adding a stack column to our partner team that owns the CPI table.


I am closing this thread since the features do not directly relate to the SDK. To track these feature requests, and to raise other requests for WPA, please use Feedback Hub that, once installed, can be directly opened in WPA using the icon in the top right of the window.