]> git.sesse.net Git - skvidarsync/commitdiff
Log delay in the Slack WebSocket API.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 11 Nov 2023 18:06:22 +0000 (19:06 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 11 Nov 2023 18:06:22 +0000 (19:06 +0100)
bin/ws.pl

index 79394f3f5a8b16ca36ece86f0d41e28c977f303a..0cf8e7b883bef8cdebf80d7c8f9f933570351816 100644 (file)
--- 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'});
                        }
                };