[Spice-devel] [spice-server v5 4/5] Change some spice_printerr() to spice_debug()
Pavel Grunt
pgrunt at redhat.com
Tue Feb 28 13:42:31 UTC 2017
On Tue, 2017-02-28 at 13:21 +0100, Christophe Fergeau wrote:
> Some debug messages were using spice_printerr(), which should be
> limited
> to actual errors.
You are right, but I miss the benefit of this patch
...
I like some of these - "agent start", the net test... It is quite
convenient to have them without turning on the whole debug. For
instance the net test can help with some basic investigation of a
"strange" behavior - you ask a report just to cat
~/.cache/libvirt/qemu/log/vm.log and it is clear (it may be clear even
for the potential reporter, so the "issue" may not be reported at all
:)). With this change we will have to explain how to turn on debugging
(not properly documented), parse the more verbose log etc.
Pavel
>
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
> server/inputs-channel.c | 4 ++--
> server/main-channel-client.c | 28 ++++++++++++++--------------
> server/main-channel.c | 10 +++++-----
> server/red-channel-client.c | 4 ++--
> server/red-client.c | 4 ++--
> server/red-qxl.c | 12 ++++++------
> server/smartcard.c | 2 +-
> server/spicevmc.c | 2 +-
> 8 files changed, 33 insertions(+), 33 deletions(-)
>
> diff --git a/server/inputs-channel.c b/server/inputs-channel.c
> index ed92e71..33520b5 100644
> --- a/server/inputs-channel.c
> +++ b/server/inputs-channel.c
> @@ -496,7 +496,7 @@ static void inputs_connect(RedChannel *channel,
> RedClient *client,
> "keyboard channel is
> insecure");
> }
>
> - spice_printerr("inputs channel client create");
> + spice_debug("inputs channel client create");
> rcc = inputs_channel_client_create(channel, client, stream,
> FALSE,
> num_common_caps,
> common_caps,
> num_caps, caps);
> @@ -693,7 +693,7 @@ int inputs_channel_has_tablet(InputsChannel
> *inputs)
>
> void inputs_channel_detach_tablet(InputsChannel *inputs,
> SpiceTabletInstance *tablet)
> {
> - spice_printerr("");
> + spice_debug(NULL);
> inputs->tablet = NULL;
> }
>
> diff --git a/server/main-channel-client.c b/server/main-channel-
> client.c
> index 6aace29..feea3ad 100644
> --- a/server/main-channel-client.c
> +++ b/server/main-channel-client.c
> @@ -445,7 +445,7 @@ void
> main_channel_client_handle_migrate_connected(MainChannelClient *mcc,
> int seamless)
> {
> RedClient *client =
> red_channel_client_get_client(RED_CHANNEL_CLIENT(mcc));
> - spice_printerr("client %p connected: %d seamless %d", client,
> success, seamless);
> + spice_debug("client %p connected: %d seamless %d", client,
> success, seamless);
> if (mcc->priv->mig_wait_connect) {
> RedChannel *channel =
> red_channel_client_get_channel(RED_CHANNEL_CLIENT(mcc));
> MainChannel *main_channel = MAIN_CHANNEL(channel);
> @@ -455,7 +455,7 @@ void
> main_channel_client_handle_migrate_connected(MainChannelClient *mcc,
> main_channel_on_migrate_connected(main_channel, success,
> seamless);
> } else {
> if (success) {
> - spice_printerr("client %p MIGRATE_CANCEL", client);
> + spice_debug("client %p MIGRATE_CANCEL", client);
> red_channel_client_pipe_add_empty_msg(RED_CHANNEL_CLIEN
> T(mcc),
> SPICE_MSG_MAIN_MI
> GRATE_CANCEL);
> }
> @@ -517,11 +517,11 @@ void
> main_channel_client_handle_pong(MainChannelClient *mcc, SpiceMsgPing
> *ping,
> mcc->priv->bitrate_per_sec = (uint64_t)(NET_TEST_BYTES * 8)
> * 1000000
> / (roundtrip - mcc->priv->latency);
> mcc->priv->net_test_stage = NET_TEST_STAGE_COMPLETE;
> - spice_printerr("net test: latency %f ms, bitrate %"PRIu64"
> bps (%f Mbps)%s",
> - (double)mcc->priv->latency / 1000,
> - mcc->priv->bitrate_per_sec,
> - (double)mcc->priv->bitrate_per_sec / 1024 /
> 1024,
> - main_channel_client_is_low_bandwidth(mcc) ?
> " LOW BANDWIDTH" : "");
> + spice_debug("net test: latency %f ms, bitrate %"PRIu64" bps
> (%f Mbps)%s",
> + (double)mcc->priv->latency / 1000,
> + mcc->priv->bitrate_per_sec,
> + (double)mcc->priv->bitrate_per_sec / 1024 /
> 1024,
> + main_channel_client_is_low_bandwidth(mcc) ? "
> LOW BANDWIDTH" : "");
> red_channel_client_start_connectivity_monitoring(RED_CHANNE
> L_CLIENT(mcc),
> CLIENT_CON
> NECTIVITY_TIMEOUT);
> break;
> @@ -588,18 +588,18 @@ gboolean
> main_channel_client_migrate_src_complete(MainChannelClient *mcc,
>
> SPICE_MAIN_CAP_SEMI_SEAMLESS_MIGRATE);
> if (semi_seamless_support && mcc->priv->mig_connect_ok) {
> if (success) {
> - spice_printerr("client %p MIGRATE_END", client);
> + spice_debug("client %p MIGRATE_END", client);
> red_channel_client_pipe_add_empty_msg(rcc,
> SPICE_MSG_MAIN_MI
> GRATE_END);
> ret = TRUE;
> } else {
> - spice_printerr("client %p MIGRATE_CANCEL", client);
> + spice_debug("client %p MIGRATE_CANCEL", client);
> red_channel_client_pipe_add_empty_msg(rcc,
> SPICE_MSG_MAIN_MI
> GRATE_CANCEL);
> }
> } else {
> if (success) {
> - spice_printerr("client %p SWITCH_HOST", client);
> + spice_debug("client %p SWITCH_HOST", client);
> red_channel_client_pipe_add_type(rcc,
> RED_PIPE_ITEM_TYPE_MAI
> N_MIGRATE_SWITCH_HOST);
> }
> @@ -615,7 +615,7 @@ static void do_ping_client(MainChannelClient
> *mcc,
> const char *opt, int has_interval, int interval)
> {
> RedChannel *channel =
> red_channel_client_get_channel(RED_CHANNEL_CLIENT(mcc));
> - spice_printerr("");
> + spice_debug(NULL);
> if (!opt) {
> main_channel_client_push_ping(mcc, 0);
> } else if (!strcmp(opt, "on")) {
> @@ -722,7 +722,7 @@ gboolean
> main_channel_client_connect_semi_seamless(MainChannelClient *mcc)
> SPICE_MAIN_CAP_SEMI_SEAM
> LESS_MIGRATE)) {
> RedClient *client = red_channel_client_get_client(rcc);
> if (red_client_during_migrate_at_target(client)) {
> - spice_printerr("client %p: wait till previous migration
> completes", client);
> + spice_debug("client %p: wait till previous migration
> completes", client);
> mcc->priv->mig_wait_prev_complete = TRUE;
> mcc->priv->mig_wait_prev_try_seamless = FALSE;
> } else {
> @@ -743,7 +743,7 @@ void
> main_channel_client_connect_seamless(MainChannelClient *mcc)
> spice_assert(red_channel_client_test_remote_cap(rcc,
> SPICE_MAIN_CAP_
> SEAMLESS_MIGRATE));
> if (red_client_during_migrate_at_target(client)) {
> - spice_printerr("client %p: wait till previous migration
> completes", client);
> + spice_debug("client %p: wait till previous migration
> completes", client);
> mcc->priv->mig_wait_prev_complete = TRUE;
> mcc->priv->mig_wait_prev_try_seamless = TRUE;
> } else {
> @@ -950,7 +950,7 @@ static void
> main_channel_marshall_migrate_switch(SpiceMarshaller *m, RedChannelC
> MainChannel *main_ch;
> const RedsMigSpice *mig_target;
>
> - spice_printerr("");
> + spice_debug(NULL);
> red_channel_client_init_send_data(rcc,
> SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST);
> main_ch = MAIN_CHANNEL(channel);
> mig_target = main_channel_get_migration_target(main_ch);
> diff --git a/server/main-channel.c b/server/main-channel.c
> index 3a6e6cd..7e4a4ec 100644
> --- a/server/main-channel.c
> +++ b/server/main-channel.c
> @@ -60,7 +60,7 @@ int main_channel_is_connected(MainChannel
> *main_chan)
> static void main_channel_client_on_disconnect(RedChannelClient
> *rcc)
> {
> RedsState *reds =
> red_channel_get_server(red_channel_client_get_channel(rcc));
> - spice_printerr("rcc=%p", rcc);
> + spice_debug("rcc=%p", rcc);
> main_dispatcher_client_disconnect(reds_get_main_dispatcher(reds
> ),
> red_channel_client_get_client
> (rcc));
> }
> @@ -84,7 +84,7 @@ static void
> main_channel_push_channels(MainChannelClient *mcc)
> RedChannelClient *rcc = RED_CHANNEL_CLIENT(mcc);
> if
> (red_client_during_migrate_at_target(red_channel_client_get_client(r
> cc))) {
> spice_printerr("warning: ignoring unexpected
> SPICE_MSGC_MAIN_ATTACH_CHANNELS"
> - "during migration");
> + "during migration");
> return;
> }
> red_channel_client_pipe_add_type(RED_CHANNEL_CLIENT(mcc),
> RED_PIPE_ITEM_TYPE_MAIN_CHANNELS_LIST);
> @@ -191,7 +191,7 @@ static int
> main_channel_handle_message(RedChannelClient *rcc, uint16_t type,
> case SPICE_MSGC_MAIN_AGENT_START: {
> SpiceMsgcMainAgentStart *tokens;
>
> - spice_printerr("agent start");
> + spice_debug("agent start");
> if (!main_chan) {
> return FALSE;
> }
> @@ -297,7 +297,7 @@ MainChannelClient *main_channel_link(MainChannel
> *channel, RedClient *client,
> // TODO - migration - I removed it from channel creation, now
> put it
> // into usage somewhere (not an issue until we return migration
> to it's
> // former glory)
> - spice_printerr("add main channel client");
> + spice_debug("add main channel client");
> mcc = main_channel_client_create(channel, client, stream,
> connection_id,
> num_common_caps, common_caps,
> num_caps, caps);
> @@ -433,7 +433,7 @@ int
> main_channel_migrate_src_complete(MainChannel *main_chan, int
> success)
> int semi_seamless_count = 0;
> RedChannelClient *rcc;
>
> - spice_printerr("");
> + spice_debug(NULL);
>
> if (!red_channel_get_clients(RED_CHANNEL(main_chan))) {
> spice_printerr("no peer connected");
> diff --git a/server/red-channel-client.c b/server/red-channel-
> client.c
> index cd4b64e..c6e2851 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -1770,8 +1770,8 @@ void
> red_channel_client_disconnect(RedChannelClient *rcc)
> return;
> }
> g_object_get(channel, "channel-type", &type, "id", &id, NULL);
> - spice_printerr("rcc=%p (channel=%p type=%d id=%d)", rcc,
> channel,
> - type, id);
> + spice_debug("rcc=%p (channel=%p type=%d id=%d)", rcc, channel,
> + type, id);
> red_channel_client_pipe_clear(rcc);
> if (rcc->priv->stream->watch) {
> core->watch_remove(core, rcc->priv->stream->watch);
> diff --git a/server/red-client.c b/server/red-client.c
> index de40acf..2918911 100644
> --- a/server/red-client.c
> +++ b/server/red-client.c
> @@ -177,7 +177,7 @@ void red_client_migrate(RedClient *client)
> RedChannelClient *rcc;
> RedChannel *channel;
>
> - spice_printerr("migrate client with #channels %d",
> g_list_length(client->channels));
> + spice_debug("migrate client with #channels %d",
> g_list_length(client->channels));
> if (!pthread_equal(pthread_self(), client->thread_id)) {
> spice_warning("client->thread_id (0x%lx) != pthread_self
> (0x%lx)."
> "If one of the threads is != io-thread && !=
> vcpu-thread,"
> @@ -197,7 +197,7 @@ void red_client_destroy(RedClient *client)
> GListIter iter;
> RedChannelClient *rcc;
>
> - spice_printerr("destroy client %p with #channels=%d", client,
> g_list_length(client->channels));
> + spice_debug("destroy client %p with #channels=%d", client,
> g_list_length(client->channels));
> if (!pthread_equal(pthread_self(), client->thread_id)) {
> spice_warning("client->thread_id (0x%lx) != pthread_self
> (0x%lx)."
> "If one of the threads is != io-thread && !=
> vcpu-thread,"
> diff --git a/server/red-qxl.c b/server/red-qxl.c
> index b6b3770..3c71075 100644
> --- a/server/red-qxl.c
> +++ b/server/red-qxl.c
> @@ -112,7 +112,7 @@ static void
> red_qxl_disconnect_display_peer(RedChannelClient *rcc)
>
> dispatcher = (Dispatcher *)g_object_get_data(G_OBJECT(channel),
> "dispatcher");
>
> - spice_printerr("");
> + spice_debug(NULL);
> payload.rcc = rcc;
>
> // TODO: we turned it to be sync, due to client_destroy .
> Should we support async? - for this we will need ref count
> @@ -134,7 +134,7 @@ static void
> red_qxl_display_migrate(RedChannelClient *rcc)
> }
> g_object_get(channel, "channel-type", &type, "id", &id, NULL);
> dispatcher = (Dispatcher *)g_object_get_data(G_OBJECT(channel),
> "dispatcher");
> - spice_printerr("channel type %u id %u", type, id);
> + spice_debug("channel type %u id %u", type, id);
> payload.rcc = rcc;
> dispatcher_send_message(dispatcher,
> RED_WORKER_MESSAGE_DISPLAY_MIGRATE,
> @@ -148,7 +148,7 @@ static void red_qxl_set_cursor_peer(RedChannel
> *channel, RedClient *client, Reds
> {
> RedWorkerMessageCursorConnect payload = {0,};
> Dispatcher *dispatcher = (Dispatcher
> *)g_object_get_data(G_OBJECT(channel), "dispatcher");
> - spice_printerr("");
> + spice_debug(NULL);
> payload.client = client;
> payload.stream = stream;
> payload.migration = migration;
> @@ -176,7 +176,7 @@ static void
> red_qxl_disconnect_cursor_peer(RedChannelClient *rcc)
> }
>
> dispatcher = (Dispatcher *)g_object_get_data(G_OBJECT(channel),
> "dispatcher");
> - spice_printerr("");
> + spice_debug(NULL);
> payload.rcc = rcc;
>
> dispatcher_send_message(dispatcher,
> @@ -196,7 +196,7 @@ static void
> red_qxl_cursor_migrate(RedChannelClient *rcc)
> }
> g_object_get(channel, "channel-type", &type, "id", &id, NULL);
> dispatcher = (Dispatcher *)g_object_get_data(G_OBJECT(channel),
> "dispatcher");
> - spice_printerr("channel type %u id %u", type, id);
> + spice_debug("channel type %u id %u", type, id);
> payload.rcc = rcc;
> dispatcher_send_message(dispatcher,
> RED_WORKER_MESSAGE_CURSOR_MIGRATE,
> @@ -652,7 +652,7 @@ static void red_qxl_loadvm_commands(QXLState
> *qxl_state,
> {
> RedWorkerMessageLoadvmCommands payload;
>
> - spice_printerr("");
> + spice_debug(NULL);
> payload.count = count;
> payload.ext = ext;
> dispatcher_send_message(qxl_state->dispatcher,
> diff --git a/server/smartcard.c b/server/smartcard.c
> index 8f12fd9..4bc1eec 100644
> --- a/server/smartcard.c
> +++ b/server/smartcard.c
> @@ -213,7 +213,7 @@ static void
> smartcard_remove_client(RedCharDevice *self, RedClient *client)
> RedCharDeviceSmartcard *dev = RED_CHAR_DEVICE_SMARTCARD(self);
> RedChannelClient *rcc = RED_CHANNEL_CLIENT(dev->priv->scc);
>
> - spice_printerr("smartcard dev %p, client %p", dev, client);
> + spice_debug("smartcard dev %p, client %p", dev, client);
> spice_assert(dev->priv->scc &&
> red_channel_client_get_client(rcc) == client);
> red_channel_client_shutdown(rcc);
> diff --git a/server/spicevmc.c b/server/spicevmc.c
> index e705bc7..cc88344 100644
> --- a/server/spicevmc.c
> +++ b/server/spicevmc.c
> @@ -433,7 +433,7 @@ static void
> spicevmc_char_dev_remove_client(RedCharDevice *self,
> RedCharDeviceSpiceVmc *vmc = RED_CHAR_DEVICE_SPICEVMC(self);
> RedVmcChannel *channel = RED_VMC_CHANNEL(vmc->channel);
>
> - spice_printerr("vmc channel %p, client %p", channel, client);
> + spice_debug("vmc channel %p, client %p", channel, client);
> spice_assert(channel->rcc &&
> red_channel_client_get_client(channel->rcc) ==
> client);
>
More information about the Spice-devel
mailing list