7 Replies Latest reply on Apr 28, 2018 11:21 AM by oneumyvakin

    AMD uProf feature request: timechart for "--config power"

    oneumyvakin

      Hello,

       

      I'd like to request feature which provides timechart raw data for "--config power".

       

      Currently in 1.1 we can use "--config power" to get data how much power was consumed by some function per thread.

      It's really cool, but it's really hard to say which action(and how much such actions) in application raises this power consumption.

      My idea is if uProf provides raw data of timechart for --config power I can merge it with my application log for further analyze.

      It will be OK if it will just raw data in SQLite database file.

        • Re: AMD uProf feature request: timechart for "--config power"
          swarup

          We understand that you are expecting the raw data for "--config power" in some particular format. It would be great if you can elaborate in detail about the raw data format you are expecting which will help us to plan whether we can support your request in future releases of uProf. Also, it would be helpful if you can describe how you are going to utilize this raw data along with your application log analyzer.

            • Re: AMD uProf feature request: timechart for "--config power"
              oneumyvakin

              1. raw data format

               

              "Timestamp" - any format will be OK

              "Process Name"

              "Process Command line Arguments"

              "Process ID"

              "Thread ID"

              "Module"

              "Function name"

              "Energy (mJ)"

              "CPU Time (s)"

               

              As "Process Command line Arguments" looks like not very useful for other people, and may have impact on performance and file size, maybe provide ability to redefine format by user?

               

              Think for performance reasons it will OK to have "Energy (mJ)" and "CPU Time" as sum of some count of measures, but then it should be an additional column with count of measures like "Measures Count".

               

              Actually, i very like, if it possible, to have here low level hardware counters like "Core Energy" and threads "P-State" to have get all important in one test execution, right now I don't use "timechart" subcommand in uProf because I need to run test two times(for every test iteration) and it's take a lot of time for me.

               

              So, with all of details,  raw data format version "B" can looks like:

               

              "Timestamp"

              "Type" - which can be for example "Hardware", "Software" or some thing another

              "Core<N> Energy" - will be empty for "Type"="Software"

              "Thread<N> P-State" - will be empty for "Type"="Software"

              ...some other hardware counters...

              "Process Name" - will be empty for "Type"="Hardware"

              ...some other software counters...

              "Measures Count" - will be empty for "Type"="Hardware"

               

               

              2. How to utilize this raw data

               

              I can create tool to match uProf data with my app logs by "Timestamp","Process ID" and "Thread ID" and create final log in Chrome's Trace Event Format which can be viewed in Chrome's about://tracing

               

              With final log I can:

               

              a. create diff with another log(of another workload)

              b. manually check log parts with hottest functions