@@ -103,16 +103,20 @@ def generate_record_command(self, pid, output, frequency=None):
103103 cmd += ["--freq" , "{}" .format (frequency )]
104104 return cmd
105105
106- def generate_report_command (self , input , dso = None ):
106+ def generate_report_command (self , tid , input , dso , percentage_mode ):
107107 cmd = [self .perf , "report" ]
108108 if dso is not None :
109109 cmd += ["--dso" , dso ]
110110 cmd += [
111111 "--header" ,
112+ "--tid" ,
113+ "{}" .format (tid ),
112114 "--no-children" ,
113115 "--stdio" ,
114116 "-g" ,
115117 "none,1.0,caller,function" ,
118+ "--percentage" ,
119+ percentage_mode ,
116120 "--input" ,
117121 input ,
118122 ]
@@ -293,12 +297,13 @@ def generate_outputs(self, use_case, **kwargs):
293297 if artifact_result is True :
294298 outputs ["perf output" ] = os .path .abspath (self .output )
295299
300+ tid = self .pid
296301 # generate perf report --stdio report
297302 logging .info ("Generating perf report text outputs" )
298303 perf_report_output = self .output + ".perf-report.top-cpu.txt"
299304
300305 artifact_result , perf_report_artifact = self .run_perf_report (
301- perf_report_output , None
306+ tid , perf_report_output , None , "absolute"
302307 )
303308
304309 if artifact_result is True :
@@ -312,7 +317,7 @@ def generate_outputs(self, use_case, **kwargs):
312317 perf_report_output_dso = self .output + ".perf-report.top-cpu.dso.txt"
313318
314319 artifact_result , perf_report_artifact = self .run_perf_report (
315- perf_report_output_dso , binary
320+ tid , perf_report_output_dso , binary , "relative"
316321 )
317322
318323 if artifact_result is True :
@@ -406,14 +411,10 @@ def generate_flame_graph(self, title="Flame Graph", subtitle="", filename=None):
406411 def get_collapsed_stacks (self ):
407412 return self .collapsed_stacks
408413
409- def run_perf_report (
410- self ,
411- output ,
412- dso ,
413- ):
414+ def run_perf_report (self , tid , output , dso , percentage_mode ):
414415 status = False
415416 result_artifact = None
416- args = self .generate_report_command (self .output , dso )
417+ args = self .generate_report_command (tid , self .output , dso , percentage_mode )
417418 logging .info ("Running {} report with args {}" .format (self .perf , args ))
418419 try :
419420 stdout , _ = subprocess .Popen (
0 commit comments