Configuration of complex ftrace histograms could be hard, using the existing ftrace interface. The "--sql" option is implemented to simplify this task. It uses a sql-like syntax to define the histograms and generates necessary ftrace syntetic events and triggers. Each ftrace event represents a sql tible, while the fields of this event are rows in the table. [ v2 changes: - Removed patches for trace-cmd reset sub command from this patch set, as they are not directly related to the SQL-like syntax implementation. - Fixed the use case with more than one "--sql" argument. Added logic to clean up the parser state before parsing a new string. - Implemented API for freeing all resources, allocated by the parser. - Fixed the use case with ftrace instances. ] Tzvetomir Stoyanov (VMware) (2): trace-cmd: Add new libtracefs API tracefs_instance_file_append() trace-cmd: Add "--sql" option to trace-cmd start and record sub commands Documentation/trace-cmd-record.1.txt | 37 + Makefile | 1 + include/tracefs/tracefs.h | 2 + lib/tracefs/tracefs-instance.c | 40 +- tracecmd/Makefile | 12 +- tracecmd/include/trace-local.h | 4 + tracecmd/sqlparser/Makefile | 52 + tracecmd/sqlparser/sqlhist-api.h | 29 + tracecmd/sqlparser/sqlhist-parse.c | 1539 ++++++++++++++++++++++++++ tracecmd/sqlparser/sqlhist.h | 34 + tracecmd/sqlparser/sqlhist.l | 59 + tracecmd/sqlparser/sqlhist.y | 175 +++ tracecmd/trace-record.c | 121 +- tracecmd/trace-usage.c | 2 + 14 files changed, 2100 insertions(+), 7 deletions(-) create mode 100644 tracecmd/sqlparser/Makefile create mode 100644 tracecmd/sqlparser/sqlhist-api.h create mode 100644 tracecmd/sqlparser/sqlhist-parse.c create mode 100644 tracecmd/sqlparser/sqlhist.h create mode 100644 tracecmd/sqlparser/sqlhist.l create mode 100644 tracecmd/sqlparser/sqlhist.y -- 2.24.1