From 19e129a0cee26673b1aa9198ae52582a7307e15a Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 11 Nov 2023 19:06:22 +0100 Subject: [PATCH] Log delay in the Slack WebSocket API. --- bin/ws.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/ws.pl b/bin/ws.pl index 79394f3..0cf8e7b 100644 --- a/bin/ws.pl +++ b/bin/ws.pl @@ -69,10 +69,16 @@ sub ws_cb { $connection->on(each_message => sub { my ($conn, $message) = @_; + my $now = [Time::HiRes::gettimeofday]; print STDERR "Message: $message->{'body'}\n"; my $json = JSON::XS::decode_json($message->{'body'}); eval { if (exists($json->{'payload'}{'event'})) { + if (exists($json->{'payload'}{'event'}{'event_ts'}) && + $json->{'payload'}{'event'}{'event_ts'} =~ /(\d+)\.(\d+)/) { + my $elapsed = Time::HiRes::tv_interval([$1, $2], $now); + printf STDERR "Message used %.1f ms to reach us.\n", 1e3 * $elapsed; + } handle_event($json->{'payload'}{'event'}); } }; -- 2.39.2