From 7762a8ba3308dfb6daa7097abd9ae1fde84c7ca5 Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 18 Jan 2022 23:11:33 +0400 Subject: [PATCH 1/7] Lint sources with pylint# --- perfd.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/perfd.py b/perfd.py index 5941350..8e1f260 100755 --- a/perfd.py +++ b/perfd.py @@ -4,20 +4,21 @@ import subprocess import db -temp_perf_file = tempfile.NamedTemporaryFile(delete= False) -#temp_perf_file.name +temp_perf_file = tempfile.NamedTemporaryFile(delete=False) +# temp_perf_file.name -os.system("perf record -e cycles:u -j any,u -a -o " + temp_perf_file.name + " -- sleep 10") -batcmd ="perf script -F ip,dso -f -i " + temp_perf_file.name +os.system("perf record -e cycles:u -j any,u -a -o " + + temp_perf_file.name + " -- sleep 10") +batcmd = "perf script -F ip,dso -f -i " + temp_perf_file.name -result = subprocess.check_output(batcmd, shell=True, text =True) +result = subprocess.check_output(batcmd, shell=True, text=True) lines = result.splitlines() samples_per_obj_file = dict() for line in lines: cols = line.split() name_parens = cols[1] - name = name_parens[1:-1] + name = name_parens[1:-1] if name in samples_per_obj_file: samples_per_obj_file[name] += 1 @@ -26,8 +27,11 @@ database = db.Database() database.table = 'database' -for name in samples_per_obj_file: - database.write(perf_name= temp_perf_file.name, name_obj_file= name, amount_of_samples= samples_per_obj_file[name]) +for name in samples_per_obj_file: + database.write( + perf_name=temp_perf_file.name, + name_obj_file=name, + amount_of_samples=samples_per_obj_file[name]) -database.commit() -print(database.read()) \ No newline at end of file +database.commit() +print(database.read()) From 68d22cfc31b26f6a3f60e24772d2663cccbf2407 Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 18 Jan 2022 23:11:33 +0400 Subject: [PATCH 2/7] Lint sources with pylint --- perfd.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/perfd.py b/perfd.py index 5941350..8e1f260 100755 --- a/perfd.py +++ b/perfd.py @@ -4,20 +4,21 @@ import subprocess import db -temp_perf_file = tempfile.NamedTemporaryFile(delete= False) -#temp_perf_file.name +temp_perf_file = tempfile.NamedTemporaryFile(delete=False) +# temp_perf_file.name -os.system("perf record -e cycles:u -j any,u -a -o " + temp_perf_file.name + " -- sleep 10") -batcmd ="perf script -F ip,dso -f -i " + temp_perf_file.name +os.system("perf record -e cycles:u -j any,u -a -o " + + temp_perf_file.name + " -- sleep 10") +batcmd = "perf script -F ip,dso -f -i " + temp_perf_file.name -result = subprocess.check_output(batcmd, shell=True, text =True) +result = subprocess.check_output(batcmd, shell=True, text=True) lines = result.splitlines() samples_per_obj_file = dict() for line in lines: cols = line.split() name_parens = cols[1] - name = name_parens[1:-1] + name = name_parens[1:-1] if name in samples_per_obj_file: samples_per_obj_file[name] += 1 @@ -26,8 +27,11 @@ database = db.Database() database.table = 'database' -for name in samples_per_obj_file: - database.write(perf_name= temp_perf_file.name, name_obj_file= name, amount_of_samples= samples_per_obj_file[name]) +for name in samples_per_obj_file: + database.write( + perf_name=temp_perf_file.name, + name_obj_file=name, + amount_of_samples=samples_per_obj_file[name]) -database.commit() -print(database.read()) \ No newline at end of file +database.commit() +print(database.read()) From cb80880764066b7c1838335eba999d705c08a076 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 19 Jan 2022 01:41:47 +0400 Subject: [PATCH 3/7] Lint sources with pylint --- db.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db.py b/db.py index 79f1a27..bff424a 100644 --- a/db.py +++ b/db.py @@ -1,6 +1,7 @@ #!/usr/bin/python3 from sql30 import db + class Database(db.Model): TABLE = 'database' DB_SCHEMA = { @@ -16,4 +17,4 @@ class Database(db.Model): } ] } - VALIDATE_WRITE = True \ No newline at end of file + VALIDATE_WRITE = True From 603f8fe8b61210e47b5831979f6f19ad35962c08 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 21 Jan 2022 01:38:40 +0400 Subject: [PATCH 4/7] found all perf files and got perf2bolt for each file --- perfd.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/perfd.py b/perfd.py index 8e1f260..a7ae275 100755 --- a/perfd.py +++ b/perfd.py @@ -35,3 +35,20 @@ database.commit() print(database.read()) + +#step4 +def prepare_fdata(objfile, first=False): + for temp_perf_file.name in os.walk(objfile): + if objfile in temp_perf_file.name: + print('{0}: {1}') + if first == True: + break + +os.system("/path/to/perf2bolt objfile -p perf_file -o perf_file.fdata") + + + + +#need_files = db +#print(need_files.find('.fdata')) +#prepare_fdata = \ No newline at end of file From 972b748340b38f8cc46452c76212d4c8845dfca1 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 21 Jan 2022 02:10:04 +0400 Subject: [PATCH 5/7] found all perf files --- perfd.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/perfd.py b/perfd.py index a7ae275..c0e24ed 100755 --- a/perfd.py +++ b/perfd.py @@ -37,18 +37,7 @@ print(database.read()) #step4 -def prepare_fdata(objfile, first=False): - for temp_perf_file.name in os.walk(objfile): - if objfile in temp_perf_file.name: - print('{0}: {1}') - if first == True: - break - -os.system("/path/to/perf2bolt objfile -p perf_file -o perf_file.fdata") - - - - -#need_files = db -#print(need_files.find('.fdata')) -#prepare_fdata = \ No newline at end of file +def prepare_fdata(objfile): + database.read(objfile) + print( database.read(objfile)) + \ No newline at end of file From d4e2819d95fafd100638895043fdb820e58e3eac Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 21 Jan 2022 03:04:50 +0400 Subject: [PATCH 6/7] found all perf files and got perf2bolt for each file --- perfd.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/perfd.py b/perfd.py index c0e24ed..a2e021b 100755 --- a/perfd.py +++ b/perfd.py @@ -38,6 +38,6 @@ #step4 def prepare_fdata(objfile): - database.read(objfile) - print( database.read(objfile)) - \ No newline at end of file + print(database.read(name_obj_file=objfile)) +perf2bolt = " /path/to/perf2bolt objfile -p perf_file -o perf_file.fdata " +merge_fdata=" /path/to/merge-fdata perf_file1.fdata perf_file2.fdata perf2bolt > tmp_fdata " \ No newline at end of file From 2de3695a3de9ae8de00313c0e36c0a69e2841d48 Mon Sep 17 00:00:00 2001 From: Maxim Date: Sat, 22 Jan 2022 02:12:15 +0400 Subject: [PATCH 7/7] Combine all fdata files which I got --- perfd.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/perfd.py b/perfd.py index a2e021b..03dd9fa 100755 --- a/perfd.py +++ b/perfd.py @@ -38,6 +38,20 @@ #step4 def prepare_fdata(objfile): - print(database.read(name_obj_file=objfile)) -perf2bolt = " /path/to/perf2bolt objfile -p perf_file -o perf_file.fdata " -merge_fdata=" /path/to/merge-fdata perf_file1.fdata perf_file2.fdata perf2bolt > tmp_fdata " \ No newline at end of file + perf_file = database.read(name_obj_file=objfile) + print(perf_file) + +perf2bolt = "/path/to/perf2bolt objfile -p perf_file -o perf_file.fdata" +merge_fdata = "/path/to/merge-fdata perf_file1.fdata perf_file2.fdata perf_file > tmp_fdata" + +temp_fdata = tempfile.NamedTemporaryFile(delete=False) +# temp_fdata.name + +tmp_fdata = "perf script -F ip,dso -f -i " + temp_fdata.name +print(tmp_fdata) + +def prepare_fdata(tmp_fdata): + return tmp_fdata + +tmp_fdata.commit() +print(tmp_fdata.commit()) \ No newline at end of file