From e71e1930d722d955aa4731051f9608152e4ed527 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 4 Jul 2025 22:07:03 +0200 Subject: [PATCH] DPL: rename log stream to check sockets activity --- Framework/Core/src/DataProcessingDevice.cxx | 30 +++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/Framework/Core/src/DataProcessingDevice.cxx b/Framework/Core/src/DataProcessingDevice.cxx index ba3fc2cd1bedd..a902ed9326e07 100644 --- a/Framework/Core/src/DataProcessingDevice.cxx +++ b/Framework/Core/src/DataProcessingDevice.cxx @@ -86,6 +86,8 @@ struct formatter : ostream_format // A log to use for general device logging O2_DECLARE_DYNAMIC_LOG(device); +// A log to use for general device logging +O2_DECLARE_DYNAMIC_LOG(sockets); // Special log to keep track of the lifetime of the parts O2_DECLARE_DYNAMIC_LOG(parts); // Stream which keeps track of the calibration lifetime logic @@ -339,21 +341,21 @@ void on_socket_polled(uv_poll_t* poller, int status, int events) { auto* context = (PollerContext*)poller->data; assert(context); - O2_SIGNPOST_ID_FROM_POINTER(sid, device, poller); + O2_SIGNPOST_ID_FROM_POINTER(sid, sockets, poller); context->state->loopReason |= DeviceState::DATA_SOCKET_POLLED; switch (events) { case UV_READABLE: { - O2_SIGNPOST_EVENT_EMIT(device, sid, "socket_state", "Data pending on socket for channel %{public}s", context->name); + O2_SIGNPOST_EVENT_EMIT(sockets, sid, "socket_state", "Data pending on socket for channel %{public}s", context->name); context->state->loopReason |= DeviceState::DATA_INCOMING; } break; case UV_WRITABLE: { - O2_SIGNPOST_END(device, sid, "socket_state", "Socket connected for channel %{public}s", context->name); + O2_SIGNPOST_END(sockets, sid, "socket_state", "Socket connected for channel %{public}s", context->name); if (context->read) { - O2_SIGNPOST_START(device, sid, "socket_state", "Socket connected for read in context %{public}s", context->name); + O2_SIGNPOST_START(sockets, sid, "socket_state", "Socket connected for read in context %{public}s", context->name); uv_poll_start(poller, UV_READABLE | UV_DISCONNECT | UV_PRIORITIZED, &on_socket_polled); context->state->loopReason |= DeviceState::DATA_CONNECTED; } else { - O2_SIGNPOST_START(device, sid, "socket_state", "Socket connected for write for channel %{public}s", context->name); + O2_SIGNPOST_START(sockets, sid, "socket_state", "Socket connected for write for channel %{public}s", context->name); context->state->loopReason |= DeviceState::DATA_OUTGOING; // If the socket is writable, fairmq will handle the rest, so we can stop polling and // just wait for the disconnect. @@ -362,10 +364,10 @@ void on_socket_polled(uv_poll_t* poller, int status, int events) context->pollerState = PollerContext::PollerState::Connected; } break; case UV_DISCONNECT: { - O2_SIGNPOST_END(device, sid, "socket_state", "Socket disconnected in context %{public}s", context->name); + O2_SIGNPOST_END(sockets, sid, "socket_state", "Socket disconnected in context %{public}s", context->name); } break; case UV_PRIORITIZED: { - O2_SIGNPOST_EVENT_EMIT(device, sid, "socket_state", "Socket prioritized for context %{public}s", context->name); + O2_SIGNPOST_EVENT_EMIT(sockets, sid, "socket_state", "Socket prioritized for context %{public}s", context->name); } break; } // We do nothing, all the logic for now stays in DataProcessingDevice::doRun() @@ -373,7 +375,7 @@ void on_socket_polled(uv_poll_t* poller, int status, int events) void on_out_of_band_polled(uv_poll_t* poller, int status, int events) { - O2_SIGNPOST_ID_FROM_POINTER(sid, device, poller); + O2_SIGNPOST_ID_FROM_POINTER(sid, sockets, poller); auto* context = (PollerContext*)poller->data; context->state->loopReason |= DeviceState::OOB_ACTIVITY; if (status < 0) { @@ -382,27 +384,27 @@ void on_out_of_band_polled(uv_poll_t* poller, int status, int events) } switch (events) { case UV_READABLE: { - O2_SIGNPOST_EVENT_EMIT(device, sid, "socket_state", "Data pending on socket for channel %{public}s", context->name); + O2_SIGNPOST_EVENT_EMIT(sockets, sid, "socket_state", "Data pending on socket for channel %{public}s", context->name); context->state->loopReason |= DeviceState::DATA_INCOMING; assert(context->channelInfo); context->channelInfo->readPolled = true; } break; case UV_WRITABLE: { - O2_SIGNPOST_END(device, sid, "socket_state", "OOB socket connected for channel %{public}s", context->name); + O2_SIGNPOST_END(sockets, sid, "socket_state", "OOB socket connected for channel %{public}s", context->name); if (context->read) { - O2_SIGNPOST_START(device, sid, "socket_state", "OOB socket connected for read in context %{public}s", context->name); + O2_SIGNPOST_START(sockets, sid, "socket_state", "OOB socket connected for read in context %{public}s", context->name); uv_poll_start(poller, UV_READABLE | UV_DISCONNECT | UV_PRIORITIZED, &on_out_of_band_polled); } else { - O2_SIGNPOST_START(device, sid, "socket_state", "OOB socket connected for write for channel %{public}s", context->name); + O2_SIGNPOST_START(sockets, sid, "socket_state", "OOB socket connected for write for channel %{public}s", context->name); context->state->loopReason |= DeviceState::DATA_OUTGOING; } } break; case UV_DISCONNECT: { - O2_SIGNPOST_END(device, sid, "socket_state", "OOB socket disconnected in context %{public}s", context->name); + O2_SIGNPOST_END(sockets, sid, "socket_state", "OOB socket disconnected in context %{public}s", context->name); uv_poll_start(poller, UV_WRITABLE, &on_out_of_band_polled); } break; case UV_PRIORITIZED: { - O2_SIGNPOST_EVENT_EMIT(device, sid, "socket_state", "OOB socket prioritized for context %{public}s", context->name); + O2_SIGNPOST_EVENT_EMIT(sockets, sid, "socket_state", "OOB socket prioritized for context %{public}s", context->name); } break; } // We do nothing, all the logic for now stays in DataProcessingDevice::doRun()