diff options
author | bustico | 2006-07-31 12:48:31 +0000 |
---|---|---|
committer | bustico | 2006-07-31 12:48:31 +0000 |
commit | 39820ec180f2a5051871059411f1344f4359c2db (patch) | |
tree | 165c3a5785afc8c297fc7737292a4875052359a3 /example | |
parent | bd8b50b966318cf014a177cb3e5cb9e77c6b8a20 (diff) | |
download | ivy-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-x | example/ivystat.pl | 16 |
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 { |