Author: spadkins
Date: Thu Dec 20 09:00:40 2007
New Revision: 10444
Modified:
p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm
p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm
Log:
added some POE tracing code, to get us stats about what is so slow
Modified: p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm
==============================================================================
---
p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm (original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm Thu
Dec 20 09:00:40 2007
@[EMAIL PROTECTED]
-12,6 +12,8 @[EMAIL PROTECTED]
@[EMAIL PROTECTED]
= ( "App::Context::POE::Server" );
use Date::Format;
+#sub POE::Kernel::TRACE_STATISTICS () { 1 }
+#sub POE::Kernel::TRACE_PROFILE () { 1 }
use POE;
use strict;
Modified: p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm (original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm Thu Dec 20
09:00:40 2007
@[EMAIL PROTECTED]
-15,6 +15,8 @[EMAIL PROTECTED]
use Date::Format;
+#sub POE::Kernel::TRACE_STATISTICS () { 1 }
+#sub POE::Kernel::TRACE_PROFILE () { 1 }
use POE;
use POE::Component::IKC::Client;
use POE::Component::IKC::Responder;
Modified: p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm (original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm Thu Dec 20
09:00:40 2007
@[EMAIL PROTECTED]
-19,13 +19,11 @[EMAIL PROTECTED]
use Date::Parse;
use Time::HiRes qw(gettimeofday tv_interval);
+#sub POE::Kernel::TRACE_STATISTICS () { 1 }
+#sub POE::Kernel::TRACE_PROFILE () { 1 }
use POE;
use POE::Component::Server::SimpleHTTP;
use POE::Component::IKC::Server;
-### This doesn't help us much, and is a pain with
-### a lot of CPAN dependencies, so commenting it out
-#use POE::API::Peek;
-#App->use("POE::API::Peek");
use HTTP::Status qw/RC_OK/;
use Socket qw(INADDR_ANY);
use Data::Dumper;
@[EMAIL PROTECTED]
-347,7 +345,7 @[EMAIL PROTECTED]
}
sub _state_poe {
- my $self = @[EMAIL PROTECTED]
my ($self) = @[EMAIL PROTECTED]
my $state = "";
### POE state dumping - Currently commented out because it doesn't
gain us much
@[EMAIL PROTECTED]
-948,6 +946,14 @[EMAIL PROTECTED]
my $sec_until_next_event = $time_of_next_event - $time;
$self->{alarm_id} = $kernel->delay_set("poe_alarm",
$sec_until_next_event);
+ ### call some POE profile dump functions, only happens when ENV
variables
+ ### POE_TRACE_PROFILE=1 POE_TRACE_STATISTICS=1
+ my %data = $kernel->stat_getdata();
+ for my $key (sort keys %data) {
+ $self->log("POE: poe_alarm : poe_statistics [" . sprintf("%20s :
%s", $key, $data{$key}) . "]\n");
+ }
+ $kernel->stat_show_profile();
+
$self->log("POE: poe_alarm exit : events_occurred[$events_occurred]
sec_until_next_event[$sec_until_next_event]\n") if
$self->{options}{poe_trace};
&App::sub_exit() if ($App::trace);
}


|