On Wed, 2022-06-01 at 06:26 -0400, Steven Rostedt wrote: > From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> > > The labels in the selection case are suppose to be the fields for the > created synthetic events. But for some reason they were ignored. > > For example: > > sqlhist -n wakeup_lat 'select end.next_pid as pid, end.next_comm as comm, (end.TIMESTAMP - start.TIMESTAMP) as lat > from sched_waking as start join sched_switch as end on start.pid = end.next_pid' > > Produces the synthetic event of: > > echo 'wakeup_lat pid_t next_pid; char next_comm[16]; u64 lat;' >> /sys/kernel/tracing/synthetic_events > > Where it should have used 'pid' instead of 'next_pid' and 'comm' instead > of 'next_comm' > > Fixes: 25446407 ("libtracefs: Added new API tracefs_sql()") > Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> Tested-by: Harald Seiler <hws@xxxxxxx> > --- > src/tracefs-sqlhist.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/tracefs-sqlhist.c b/src/tracefs-sqlhist.c > index 9811362..8d71800 100644 > --- a/src/tracefs-sqlhist.c > +++ b/src/tracefs-sqlhist.c > @@ -253,6 +253,7 @@ __hidden int add_selection(struct sqlhist_bison *sb, void *select, > > switch (expr->type) { > case EXPR_FIELD: > + expr->field.label = name; > break; > case EXPR_COMPARE: > expr->compare.name = name;