From 6a84237a95de1b3e046f7cda2520301355f5864a Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Thu, 12 Jun 2025 16:29:22 +0200 Subject: [PATCH] broker/WebSocketShim: Add calls to Telemetry hooks WebSocket clients with Broker do not use the normal Broker backend, so we need to add the telemetry invocations explicitly. --- src/broker/WebSocketShim.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/broker/WebSocketShim.cc b/src/broker/WebSocketShim.cc index 552edb749f..dc9c8ba43d 100644 --- a/src/broker/WebSocketShim.cc +++ b/src/broker/WebSocketShim.cc @@ -118,6 +118,9 @@ bool WebSocketShim::DoPublishEvent(const std::string& topic, zeek::cluster::deta return false; } + size_t size = r->as_data().shared_envelope()->raw_bytes().second; + Telemetry().OnOutgoingEvent(topic, r->name(), cluster::detail::SerializationInfo{size}); + auto msg = broker::data_envelope::make(broker::topic(topic), r->as_data()); state->hub.publish(std::move(msg)); return true; @@ -176,6 +179,9 @@ void WebSocketShim::ProcessMessage(std::string_view topic, broker::zeek::Event& return; } + size_t size = ev.as_data().shared_envelope()->raw_bytes().second; + Telemetry().OnIncomingEvent(topic, r->HandlerName(), cluster::detail::SerializationInfo{size}); + ProcessEvent(topic, std::move(*r)); } void WebSocketShim::ProcessMessage(std::string_view topic, broker::zeek::Invalid& invalid) {