summaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorbustico2006-07-31 12:48:31 +0000
committerbustico2006-07-31 12:48:31 +0000
commit39820ec180f2a5051871059411f1344f4359c2db (patch)
tree165c3a5785afc8c297fc7737292a4875052359a3 /example
parentbd8b50b966318cf014a177cb3e5cb9e77c6b8a20 (diff)
downloadivy-perl-39820ec180f2a5051871059411f1344f4359c2db.zip
ivy-perl-39820ec180f2a5051871059411f1344f4359c2db.tar.gz
ivy-perl-39820ec180f2a5051871059411f1344f4359c2db.tar.bz2
ivy-perl-39820ec180f2a5051871059411f1344f4359c2db.tar.xz
ajout des stats sur le nombre global de regexp, et les nombre d'agents qui s'abonnent
à des regexps identiques, de manière à savoir si ça vaut le coups de changer les structures de données dans les libs ivy : à l'heure actuelle on a des liste de regexp par agent, si il y a beaucoup de regexp communes à differents agents ça serait plus optimisé d'avoir une table de hash regexp ->[ liste d'appli abonnées] pour que sur un sendmessage les regexp ne soient parsé qu'une fois.
Diffstat (limited to 'example')
-rwxr-xr-xexample/ivystat.pl16
1 files changed, 15 insertions, 1 deletions
diff --git a/example/ivystat.pl b/example/ivystat.pl
index 681bb01..933ad7c 100755
--- a/example/ivystat.pl
+++ b/example/ivystat.pl
@@ -234,7 +234,8 @@ sub writeLogs ()
# total : nb octets envoyés, nb mess envoyés, nb octets reçus, nb mess reçus
# pour chaque agents en receptions :
# nb octets envoyés, nb mess envoyés,
- my (@sortedApp, $appf, $appn, $appt);
+ my (@sortedApp, $appf, $appn, $appt, $regx, $numRegx);
+ my %regxByNumOccur;
# il faut que le filehandle LOG soit valide
return unless fileno LOG;
@@ -247,6 +248,19 @@ sub writeLogs ()
print "active:$nbActiveAgent, disconnected:$nbDeconnecteedAgent, " .
"messages:$totalMess, bytes:$totalBytes\n\n";
+ foreach $regx (keys %appByRegexp) {
+ $numRegx ++;
+ $regxByNumOccur{scalar (keys %{$appByRegexp{$regx}->[0]})}++;
+ }
+
+ print "total of $numRegx regexps binded as following :\n";
+ foreach (sort keys %regxByNumOccur) {
+ printf "%d regexp%s binded %d time%s\n", $regxByNumOccur{$_},
+ $regxByNumOccur{$_} > 1 ? 's' : '',
+ $_,
+ $_ > 1 ? 's' : '';
+ }
+ print "\n";
goto "EXIT_writeLogs" unless scalar (%appNameByhostAndPort);
@sortedApp = reverse sort {