Re: [PATCH] libtracefs: Have labels in selections be synthetic fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux