mbox series

[0/2] trace: make the 'log' backend timestamp configurable

Message ID 20210125113507.224287-1-stefanha@redhat.com
Headers show
Series trace: make the 'log' backend timestamp configurable | expand

Message

Stefan Hajnoczi Jan. 25, 2021, 11:35 a.m. UTC
Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
be unwanted in some cases. It's easier to look at trace output without them and
in some cases parsing is also more convenient with them.

Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.

Stefan Hajnoczi (2):
  error: rename error_with_timestamp to message_with_timestamp
  trace: make the 'log' backend timestamp configurable

 docs/devel/tracing.txt           |  3 +++
 include/qemu/error-report.h      |  2 +-
 softmmu/vl.c                     |  2 +-
 util/qemu-error.c                |  4 ++--
 scripts/tracetool/backend/log.py | 19 +++++++++++++------
 5 files changed, 20 insertions(+), 10 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 25, 2021, 2:06 p.m. UTC | #1
Hi Stefan,

On 1/25/21 12:35 PM, Stefan Hajnoczi wrote:
> Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
> be unwanted in some cases. It's easier to look at trace output without them and
> in some cases parsing is also more convenient with them.
> 
> Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.
> 
> Stefan Hajnoczi (2):
>   error: rename error_with_timestamp to message_with_timestamp
>   trace: make the 'log' backend timestamp configurable
> 
>  docs/devel/tracing.txt           |  3 +++
>  include/qemu/error-report.h      |  2 +-
>  softmmu/vl.c                     |  2 +-
>  util/qemu-error.c                |  4 ++--
>  scripts/tracetool/backend/log.py | 19 +++++++++++++------
>  5 files changed, 20 insertions(+), 10 deletions(-)

I applied your series, rebuilt, but nothing changed.

Apparently there is some buildsys rule missing, the
trace files weren't regenerated.

After full tree 'make clean' I could successfully test:
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Ignoring the buildsys issue:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Regards,

Phil.
Stefan Hajnoczi Jan. 25, 2021, 4:19 p.m. UTC | #2
On Mon, Jan 25, 2021 at 03:06:30PM +0100, Philippe Mathieu-Daudé wrote:
> Hi Stefan,
> 
> On 1/25/21 12:35 PM, Stefan Hajnoczi wrote:
> > Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
> > be unwanted in some cases. It's easier to look at trace output without them and
> > in some cases parsing is also more convenient with them.
> > 
> > Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.
> > 
> > Stefan Hajnoczi (2):
> >   error: rename error_with_timestamp to message_with_timestamp
> >   trace: make the 'log' backend timestamp configurable
> > 
> >  docs/devel/tracing.txt           |  3 +++
> >  include/qemu/error-report.h      |  2 +-
> >  softmmu/vl.c                     |  2 +-
> >  util/qemu-error.c                |  4 ++--
> >  scripts/tracetool/backend/log.py | 19 +++++++++++++------
> >  5 files changed, 20 insertions(+), 10 deletions(-)
> 
> I applied your series, rebuilt, but nothing changed.
> 
> Apparently there is some buildsys rule missing, the
> trace files weren't regenerated.

I sent a separate patch that adds tracetool dependencies to meson.build:
"[PATCH] trace: add meson custom_target() depend_files for tracetool"

That will fix the issue.

Stefan
BALATON Zoltan Jan. 25, 2021, 7:50 p.m. UTC | #3
On Mon, 25 Jan 2021, Stefan Hajnoczi wrote:
> Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
> be unwanted in some cases. It's easier to look at trace output without them and
> in some cases parsing is also more convenient with them.
>
> Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.

Thank you, this works for me

Tested-by: BALATON Zoltan <balaton@eik.bme.hu>

but I had to remove build dir and rerun configure to get it omit 
timestamps. Just running make (which reruns configure) or make distclean 
and running configure does not seem to be enough to pick up some changes 
since the meson conversion. (I had similar problem with gtk being detected 
and used despite having --disable-gtk on configure before the gtk test was 
moved to meson; so I think there's some problem detecting changes in 
configure options somewhere. That was also fixed by rerunning configure 
after starting from clean build dir but did not work when keeping old 
build dir or make distclean. This is probably not a problem for someone 
downloading the sources and compiling it once, only annoying for 
developers who build it all the time.)

Regards,
BALATON Zoltan

> Stefan Hajnoczi (2):
>  error: rename error_with_timestamp to message_with_timestamp
>  trace: make the 'log' backend timestamp configurable
>
> docs/devel/tracing.txt           |  3 +++
> include/qemu/error-report.h      |  2 +-
> softmmu/vl.c                     |  2 +-
> util/qemu-error.c                |  4 ++--
> scripts/tracetool/backend/log.py | 19 +++++++++++++------
> 5 files changed, 20 insertions(+), 10 deletions(-)
Stefan Hajnoczi Jan. 26, 2021, 2:01 p.m. UTC | #4
On Mon, Jan 25, 2021 at 08:50:23PM +0100, BALATON Zoltan wrote:
> On Mon, 25 Jan 2021, Stefan Hajnoczi wrote:
> > Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
> > be unwanted in some cases. It's easier to look at trace output without them and
> > in some cases parsing is also more convenient with them.
> > 
> > Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.
> 
> Thank you, this works for me
> 
> Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
> 
> but I had to remove build dir and rerun configure to get it omit timestamps.
> Just running make (which reruns configure) or make distclean and running
> configure does not seem to be enough to pick up some changes since the meson
> conversion. (I had similar problem with gtk being detected and used despite
> having --disable-gtk on configure before the gtk test was moved to meson; so
> I think there's some problem detecting changes in configure options
> somewhere. That was also fixed by rerunning configure after starting from
> clean build dir but did not work when keeping old build dir or make
> distclean. This is probably not a problem for someone downloading the
> sources and compiling it once, only annoying for developers who build it all
> the time.)

Thanks! The following meson.build fix in the tracing queue:

  [PATCH] trace: add meson custom_target() depend_files for tracetool

It solves this issue.

Stefan
Stefan Hajnoczi Jan. 26, 2021, 4:21 p.m. UTC | #5
On Mon, Jan 25, 2021 at 11:35:05AM +0000, Stefan Hajnoczi wrote:
> Zoltan reminded me that the 'log' backend prints tids/timestamps and this can
> be unwanted in some cases. It's easier to look at trace output without them and
> in some cases parsing is also more convenient with them.
> 
> Extend -msg timestamp=on|off to control the 'log' backend's tid/timestamp output.
> 
> Stefan Hajnoczi (2):
>   error: rename error_with_timestamp to message_with_timestamp
>   trace: make the 'log' backend timestamp configurable
> 
>  docs/devel/tracing.txt           |  3 +++
>  include/qemu/error-report.h      |  2 +-
>  softmmu/vl.c                     |  2 +-
>  util/qemu-error.c                |  4 ++--
>  scripts/tracetool/backend/log.py | 19 +++++++++++++------
>  5 files changed, 20 insertions(+), 10 deletions(-)
> 
> -- 
> 2.29.2
> 

Thanks, applied to my master tree:
https://gitlab.com/stefanha/qemu/commits/master

Stefan