1 Database Export 1 Database Export 2 =============== 2 =============== 3 3 4 perf tool's python scripting engine: 4 perf tool's python scripting engine: 5 5 6 tools/perf/util/scripting-engines/trac 6 tools/perf/util/scripting-engines/trace-event-python.c 7 7 8 supports scripts: 8 supports scripts: 9 9 10 tools/perf/scripts/python/export-to-sq 10 tools/perf/scripts/python/export-to-sqlite.py 11 tools/perf/scripts/python/export-to-po 11 tools/perf/scripts/python/export-to-postgresql.py 12 12 13 which export data to a SQLite3 or PostgreSQL d 13 which export data to a SQLite3 or PostgreSQL database. 14 14 15 The export process provides records with uniqu 15 The export process provides records with unique sequential ids which allows the 16 data to be imported directly to a database and 16 data to be imported directly to a database and provides the relationships 17 between tables. 17 between tables. 18 18 19 Over time it is possible to continue to expand 19 Over time it is possible to continue to expand the export while maintaining 20 backward and forward compatibility, by followi 20 backward and forward compatibility, by following some simple rules: 21 21 22 1. Because of the nature of SQL, existing tabl 22 1. Because of the nature of SQL, existing tables and columns can continue to be 23 used so long as the names and meanings (and to 23 used so long as the names and meanings (and to some extent data types) remain 24 the same. 24 the same. 25 25 26 2. New tables and columns can be added, withou 26 2. New tables and columns can be added, without affecting existing SQL queries, 27 so long as the new names are unique. 27 so long as the new names are unique. 28 28 29 3. Scripts that use a database (e.g. exported- 29 3. Scripts that use a database (e.g. exported-sql-viewer.py) can maintain 30 backward compatibility by testing for the pres 30 backward compatibility by testing for the presence of new tables and columns 31 before using them. e.g. function IsSelectable( 31 before using them. e.g. function IsSelectable() in exported-sql-viewer.py 32 32 33 4. The export scripts themselves maintain forw 33 4. The export scripts themselves maintain forward compatibility (i.e. an existing 34 script will continue to work with new versions 34 script will continue to work with new versions of perf) by accepting a variable 35 number of arguments (e.g. def call_return_tabl 35 number of arguments (e.g. def call_return_table(*x)) i.e. perf can pass more 36 arguments which old scripts will ignore. 36 arguments which old scripts will ignore. 37 37 38 5. The scripting engine tests for the existenc 38 5. The scripting engine tests for the existence of script handler functions 39 before calling them. The scripting engine can 39 before calling them. The scripting engine can also test for the support of new 40 or optional features by checking for the exist 40 or optional features by checking for the existence and value of script global 41 variables. 41 variables.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.