On Fri, Oct 18, 2019 at 11:22 AM Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > > > > > The 'agent' interface is an experimental instrumentation library for > > capturing and sharing Spice performance indicators with an external > > agent. > > > > --enable-instrumentation=[c3d-rec/agent/no] > > Enable instrumentation [default=no] > > > > Former configuration option '--enable-recorder=c3d' is transformed into > > '--enable-instrumentation=c3d-rec'. > > > > Signed-off-by: Kevin Pouget <kpouget@xxxxxxxxxx> > > "make check" is failing with agent instrumentation. > > Probably test-dummy-recorder needs updates. thanks for spotting this, I didn't know this "make check" command :# it is fixed by the patch below, that force-disables C3D-recorder and the agent interface diff --git a/tests/test-dummy-recorder.c b/tests/test-dummy-recorder.c index 4e674a9..5be4cbd 100644 --- a/tests/test-dummy-recorder.c +++ b/tests/test-dummy-recorder.c @@ -19,7 +19,8 @@ #include <config.h> #include <assert.h> -#undef ENABLE_RECORDER +#undef ENABLE_C3D_RECORDER +#undef ENABLE_AGENT_INTERFACE #include <common/recorder.h> > > --- > > common/Makefile.am | 9 ++++++++- > > common/meson.build | 8 +++++++- > > common/recorder.h | 12 ++++++++---- > > configure.ac | 2 +- > > m4/spice-deps.m4 | 23 +++++++++++++---------- > > meson.build | 7 +++++-- > > meson_options.txt | 10 +++++----- > > 7 files changed, 47 insertions(+), 24 deletions(-) > > > > diff --git a/common/Makefile.am b/common/Makefile.am > > index 9638635..fc466bd 100644 > > --- a/common/Makefile.am > > +++ b/common/Makefile.am > > @@ -56,7 +56,7 @@ libspice_common_la_SOURCES = \ > > recorder.h \ > > $(NULL) > > > > -if ENABLE_RECORDER > > +if ENABLE_C3D_RECORDER > > libspice_common_la_SOURCES += \ > > recorder/recorder.c \ > > recorder/recorder.h \ > > @@ -65,6 +65,13 @@ libspice_common_la_SOURCES += \ > > $(NULL) > > endif > > > > +if ENABLE_AGENT_INTERFACE > > +libspice_common_la_SOURCES += \ > > + agent_interface.c \ > > + agent_interface.h \ > > + $(NULL) > > +endif > > + > > # These 2 files are not build as part of spice-common > > # build system, but modules using spice-common will build > > # them with the appropriate options. We need to let automake > > diff --git a/common/meson.build b/common/meson.build > > index 9a2725f..418593e 100644 > > --- a/common/meson.build > > +++ b/common/meson.build > > @@ -41,7 +41,7 @@ spice_common_sources = [ > > 'recorder.h' > > ] > > > > -if get_option('recorder') > > +if get_option('instrumentation') == 'c3d-rec' > > spice_common_sources += [ > > 'recorder/recorder.c', > > 'recorder/recorder.h', > > @@ -49,6 +49,12 @@ if get_option('recorder') > > 'recorder/recorder_ring.h' > > ] > > endif > > +if get_option('instrumentation') == 'agent' > > + spice_common_sources += [ > > + 'agent_interface.c', > > + 'agent_interface.h' > > + ] > > +endif > > > > spice_common_lib = static_library('spice-common', spice_common_sources, > > install : false, > > diff --git a/common/recorder.h b/common/recorder.h > > index 7194ab5..f776fd3 100644 > > --- a/common/recorder.h > > +++ b/common/recorder.h > > @@ -16,7 +16,14 @@ > > */ > > /* This file include recorder library headers or if disabled provide > > * replacement declarations */ > > -#ifndef ENABLE_RECORDER > > + > > +#ifdef ENABLE_C3D_RECORDER > > +#include <common/recorder/recorder.h> > > + > > +#elif defined(ENABLE_AGENT_INTERFACE) > > +#include <common/agent_interface.h> > > + > > +#else > > > > #include <stdio.h> > > #include <stdint.h> > > @@ -69,9 +76,6 @@ static inline void > > recorder_dump_on_common_signals(unsigned add, unsigned remove) > > { > > } > > - > > -#else > > -#include <common/recorder/recorder.h> > > #endif > > > > #if !defined(ENABLE_AGENT_INTERFACE) > > diff --git a/configure.ac b/configure.ac > > index da0a687..9d10287 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -41,7 +41,7 @@ AC_ARG_ENABLE([alignment-checks], > > AS_IF([test "x$enable_alignment_checks" = "xyes"], > > [AC_DEFINE([SPICE_DEBUG_ALIGNMENT], 1, [Enable runtime checks for cast > > alignment])]) > > > > -SPICE_CHECK_RECORDER > > +SPICE_CHECK_INSTRUMENTATION > > > > # Checks for libraries > > PKG_CHECK_MODULES([PROTOCOL], [spice-protocol >= 0.12.12]) > > diff --git a/m4/spice-deps.m4 b/m4/spice-deps.m4 > > index 1214341..34f73e6 100644 > > --- a/m4/spice-deps.m4 > > +++ b/m4/spice-deps.m4 > > @@ -341,17 +341,20 @@ AC_DEFUN([SPICE_CHECK_OPENSSL], [ > > PKG_CHECK_MODULES(OPENSSL, openssl) > > ]) > > > > -# SPICE_CHECK_RECORDER > > +# SPICE_CHECK_INSTRUMENTATION > > # ----------------- > > -# Check for the availability of recorder library. > > +# Check for the availability of an instrumentation library. > > #------------------ > > -AC_DEFUN([SPICE_CHECK_RECORDER], [ > > - AC_ARG_ENABLE([recorder], > > - AS_HELP_STRING([--enable-recorder], > > - [Enable recorder instrumentation @<:@default=no@:>@]), > > +AC_DEFUN([SPICE_CHECK_INSTRUMENTATION], [ > > + AC_ARG_ENABLE([instrumentation], > > + AS_HELP_STRING([--enable-instrumentation=@<:@c3d-rec/agent/no@:>@], > > + [Enable instrumentation @<:@default=no@:>@]), > > [], > > - enable_recorder="no") > > - AS_IF([test "$enable_recorder" = "yes"], > > - AC_DEFINE([ENABLE_RECORDER], [1], [Define if recorder > > instrumentation is enabled])) > > - AM_CONDITIONAL([ENABLE_RECORDER],[test "$enable_recorder" = "yes"]) > > + enable_instrumentation="no") > > + AS_IF([test "$enable_instrumentation" = "c3d-rec"], > > + AC_DEFINE([ENABLE_C3D_RECORDER], [1], [Define if c3d recorder > > instrumentation is enabled])) > > + AS_IF([test "$enable_instrumentation" = "agent"], > > + AC_DEFINE([ENABLE_AGENT_INTERFACE], [1], [Define if the > > agent-interface instrumentation is enabled])) > > + AM_CONDITIONAL([ENABLE_C3D_RECORDER],[test "$enable_instrumentation" = > > "c3d-rec"]) > > + AM_CONDITIONAL([ENABLE_AGENT_INTERFACE],[test "$enable_instrumentation" > > = "agent"]) > > ]) > > diff --git a/meson.build b/meson.build > > index 694119d..064c56e 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -36,8 +36,11 @@ if host_machine.endian() == 'big' > > spice_common_config_data.set('WORDS_BIGENDIAN', '1') > > endif > > > > -if get_option('recorder') > > - spice_common_config_data.set('ENABLE_RECORDER', '1') > > +if get_option('instrumentation') == 'c3d-rec' > > + spice_common_config_data.set('ENABLE_C3D_RECORDER', '1') > > +endif > > +if get_option('instrumentation') == 'agent' > > + spice_common_config_data.set('ENABLE_AGENT_INTERFACE', '1') > > endif > > > > spice_common_generate_code = get_option('generate-code') > > diff --git a/meson_options.txt b/meson_options.txt > > index c982736..e94bb89 100644 > > --- a/meson_options.txt > > +++ b/meson_options.txt > > @@ -21,11 +21,11 @@ option('opus', > > yield : true, > > description: 'Enable Opus audio codec') > > > > -option('recorder', > > - type : 'boolean', > > - value : false, > > - yield : true, > > - description: 'Enable recorder instrumentation') > > +option('instrumentation', > > + type : 'combo', > > + value : 'off', > > + choices : ['c3d-rec', 'agent', 'off'], > > + description: 'Enable instrumentation') > > > > option('smartcard', > > type : 'feature', > > Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel