Add sample flags to the SQLite database definition and export.
Showing the changes to tools/perf/scripts/python (1 of 1 file). Show all
Unified · Split
| @@ -223,7 +223,8 @@ if branches: · 222 unmodified lines | ||
| 223 | 223 | 'in_tx boolean,' |
| 224 | 224 | 'call_path_id bigint,' |
| 225 | 225 | 'insn_count bigint,' |
| 226 | − 'cyc_count bigint)') | |
| 226 | + 'cyc_count bigint,' | |
| 227 | + 'flags integer)') | |
| 227 | 228 | else: |
| 228 | 229 | do_query(query, 'CREATE TABLE samples (' |
| 229 | 230 | 'id integer NOT NULL PRIMARY KEY,' |
| @@ -249,7 +250,8 @@ else: · 19 unmodified lines | ||
| 249 | 250 | 'in_tx boolean,' |
| 250 | 251 | 'call_path_id bigint,' |
| 251 | 252 | 'insn_count bigint,' |
| 252 | − 'cyc_count bigint)') | |
| 253 | + 'cyc_count bigint,' | |
| 254 | + 'flags integer)') | |
| 253 | 255 | |
| 254 | 256 | if perf_db_export_calls or perf_db_export_callchains: |
| 255 | 257 | do_query(query, 'CREATE TABLE call_paths (' |
| @@ -442,7 +444,8 @@ do_query(query, 'CREATE VIEW samples_view AS ' · 186 unmodified lines | ||
| 442 | 444 | 'in_tx,' |
| 443 | 445 | 'insn_count,' |
| 444 | 446 | 'cyc_count,' |
| 445 | − 'CASE WHEN cyc_count=0 THEN CAST(0 AS FLOAT) ELSE ROUND(CAST(insn_count AS FLOAT) / cyc_count, 2) END AS IPC' | |
| 447 | + 'CASE WHEN cyc_count=0 THEN CAST(0 AS FLOAT) ELSE ROUND(CAST(insn_count AS FLOAT) / cyc_count, 2) END AS IPC,' | |
| 448 | + 'flags' | |
| 446 | 449 | ' FROM samples') |
| 447 | 450 | |
| 448 | 451 | do_query(query, 'CREATE VIEW ptwrite_view AS ' |
| @@ -584,9 +587,9 @@ branch_type_query = QSqlQuery(db) · 135 unmodified lines | ||
| 584 | 587 | branch_type_query.prepare("INSERT INTO branch_types VALUES (?, ?)") |
| 585 | 588 | sample_query = QSqlQuery(db) |
| 586 | 589 | if branches: |
| 587 | − sample_query.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") | |
| 590 | + sample_query.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") | |
| 588 | 591 | else: |
| 589 | − sample_query.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") | |
| 592 | + sample_query.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") | |
| 590 | 593 | if perf_db_export_calls or perf_db_export_callchains: |
| 591 | 594 | call_path_query = QSqlQuery(db) |
| 592 | 595 | call_path_query.prepare("INSERT INTO call_paths VALUES (?, ?, ?, ?)") |
| @@ -618,7 +621,7 @@ def trace_begin(): · 25 unmodified lines | ||
| 618 | 621 | comm_table(0, "unknown", 0, 0, 0) |
| 619 | 622 | dso_table(0, 0, "unknown", "unknown", "") |
| 620 | 623 | symbol_table(0, 0, 0, 0, 0, "unknown") |
| 621 | − sample_table(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) | |
| 624 | + sample_table(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) | |
| 622 | 625 | if perf_db_export_calls or perf_db_export_callchains: |
| 623 | 626 | call_path_table(0, 0, 0, 0) |
| 624 | 627 | call_return_table(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) |
| @@ -703,11 +706,11 @@ def sample_table(*x): · 78 unmodified lines | ||
| 703 | 706 | if branches: |
| 704 | 707 | for xx in x[0:15]: |
| 705 | 708 | sample_query.addBindValue(str(xx)) |
| 706 | − for xx in x[19:24]: | |
| 709 | + for xx in x[19:25]: | |
| 707 | 710 | sample_query.addBindValue(str(xx)) |
| 708 | 711 | do_query_(sample_query) |
| 709 | 712 | else: |
| 710 | − bind_exec(sample_query, 24, x) | |
| 713 | + bind_exec(sample_query, 25, x) | |
| 711 | 714 | |
| 712 | 715 | def call_path_table(*x): |
| 713 | 716 | bind_exec(call_path_query, 4, x) |