#!/usr/bin/perl use lib '../lib'; use strict; use warnings; use Coro; use Coro::Event; use Devel::Size qw(size total_size); use Data::Dumper; use Continuity; my $server = new Continuity( path_session => 1, port => 18081, ); my ($handle, $count); sub main { my $request = shift; while(1) { $request->next; my $out = "
\n";
# The server itself... total size gets bigger and bigger
$out .= "Server size: " . size($server) . "\n";
$out .= "Server total size: " . total_size($server) . "\n";
# Each request has a queue. Maybe that is growing?
$out .= "Queue size: " . size($request->{queue}) . "\n";
$out .= "Total Queue size: " . total_size($request->{queue}) . "\n";
# Statistics about running sessions
my (@session_ids) = keys %{$server->{mapper}->{continuations}};
$out .= "Session count: " . (scalar @session_ids) . "\n";
# Look for event watchers
my @watchers = Event::all_watchers;
$out .= "Watchers count: " . (scalar @watchers) . "\n";
$request->print($out);
}
}
$server->loop;