Homepage › Clovertech Forums › Read Only Archives › Cloverleaf › Cloverleaf › Message traffic monitor
- This topic has 13 replies, 9 voices, and was last updated 11 years, 2 months ago by
Kevin Crist.
-
CreatorTopic
-
December 11, 2007 at 10:05 pm #49693
Rentian Huang
ParticipantGreetings Cloverleafers!!! Anyone know a utility that can be used to monitor message traffic in Cloverleaf? For example, to find out how many messages at 1am, 4pm or 10:20am, etc.
So far I don’t see any tool in the Engine that do that.
Thanks in advance!
Sam 8)
-
CreatorTopic
-
AuthorReplies
-
-
December 13, 2007 at 3:49 pm #63136
Rentian Huang
ParticipantCan anyone help?? -
December 13, 2007 at 4:19 pm #63137
Jim Kosloskey
ParticipantRentian, If you cycle your SMAT files, you can write something to report on the number of records in the
.idx file(s). If all you want to do is find out your peak demand period, that is the way I would go. It is fairly quick and is very specific.
You will need to organize these to associate threads appropriately.
Or you could write something dumping out the appropriate value from msi.
I am not aware of anything that is included with Cloverleaf(R) to do the statistics reporting you desire. You will need to write your own.
The approach I took was to have a module which dumps the msi stats to a delimited file which then could be imported into whatever analysis tool (Excel, Access, stats program, etc.) one wants to analyze the data.
However, the effort is not in collecting the data, but rather analyzing it. I do not know that anyone who has received the module I wrote (including my employers) has ever made the effort to actually analyze the data.
I can tell you that it is only the beginning to start counting messages. Next there will be a need to know how many Admits, and/or Micro Orders or Results, and/or distribution among departments, and/or etc. One wants to see bar charts, one wants pie charts, the next just need tabular data, the next wants trends, and on and on…
I think you get the picture – the thirst for statistics seems to never be slaked. Once you start down that road it can quickly become a full time occupation – but not a known project.
My philosophy – better I give the ones who want the statistics the raw data and a tool they can use and let them exhaust themselves playing with the numbers, while I go on to try and take care of the crazy integrations.
Well that’s my .02 worth.
Jim Kosloskey
email: jim.kosloskey@jim-kosloskey.com
-
December 14, 2007 at 3:37 pm #63138
Rick Pritchett
Participantcould i get a copy of your stats module -
December 14, 2007 at 4:50 pm #63139
Rentian Huang
ParticipantJim, Thanks so much for the suggestion and sorry for the late reply, I was super busy these days. I think you depicted the picture very well, we here just want to analyse the data, using Excel to build chart base on them…
Any chance that you can share your module with me or Rickey?
Good day,
Sam
-
December 14, 2007 at 5:47 pm #63140
Huy Tran
ParticipantThe below link works for me, posted by Brad Dorr. I run this script at 11:30 pm to collect stats for my site. This script creates .csv file with tons of information. I modified it fit management needs: sitename, threadname, message_in, message_out, etc… The boss likes it 😀
Thanks Brad.
-
December 14, 2007 at 6:28 pm #63141
James Cobane
ParticipantRentian, Attached is a perl script that you can run against a SMAT file to produce a histogram of the transaction counts for the specified time interval. It’s a nice little script that was posted some time ago by another Clovertecher (Brian Urch).
Usage is: histsmat.p SMATFILE.idx minutes
where SMATFILE is the name of the saved message file to run against and minutes is the time interval (i.e. every xx minutes).
(change the extension of the attached file from .txt to .p)
Jim Cobane
Henry Ford Health
-
December 17, 2007 at 2:46 pm #63142
Bob Richardson
ParticipantGreetings, James, the attachment/download feature of the Clovertech Forum does not work: it appears that all white space is scrubbed out and the file contents are compressed. Well, in trying to run the script on AIX Unix (after converting the embedded OD OA to OA) there are errors like unmatched braces, etc. I suspect that critical white space is now missing.
In a call to Quovadx tech support, the attachment feature is broken and not planned to be repaired at this time.
Would you please do a cut and paste of the perl script to an email in this forum? Crude but effective.
And, thanks in advance!
-
December 17, 2007 at 4:30 pm #63143
Rentian Huang
ParticipantHi all, Among these solutions, I found James’ script meets my need pretty beautifully. It’s very handy and the nice thing is it gives a histogram.
I am attaching the code here since some of you could not open the attachment. You need to change the first line to reflect your environment thou. AND YES, Microsoft adds those craps at the end of all lines if you open or save it in a Window Env.
You all have my thanks!!!
Sam
8) Code:#!/qvdx/qdx5.4.1/integrator/bin/perl
########################################################################
#
# Program: histSmat.p
#
# Author: Brian Urch
# Helix Health
# Baltimore, Md
#
# Description: Display a histogram that represents the number of
# transactions over a specified time period.
#
# Usage: histSmat.p filename.idx minutes
#
########################################################################if ( $#ARGV != 1 || $ARGV[0] !~ /.idx$/ )
{
printUsage();
}$file = $ARGV[0];
$minutes = $ARGV[1];open( FH, “< $file" ) || die "cannot open $file: $!n"; %countAry = (); # # {TIME 885359015} # while (
)
{
if ( /{TIME ([0-9]*)/ )
{
$curTime = $1;
}if ( /{LENGTH ([0-9]*)/ )
{
$length = $1;if ( $length > 3 )
{
( $min, $hour ) = ( localtime( $curTime ))[1..2];
$curMinutes = ( $hour * 60 ) + $min;$minIndex = ( $curMinutes + $minutes – 1 );
$minIndex -= ( $minIndex % $minutes );$countAry{ $minIndex }++;
}
}
}#
# Get the largest count and the first and last time.
#
$firstTime = -1;
$largest = 0;foreach $key ( sort {$a <=> $b} ( keys( %countAry)))
{
if ( $firstTime == -1 )
{
$firstTime = $key;
}if ( $countAry{ $key } > $largest )
{
$largest = $countAry{ $key };
}$lastTime = $key;
}
#print “first <$firstTime> last <$lastTime> largest <$largest>n”;#
# Print the histogram.
#
$total = 0;while ( $firstTime <= $lastTime ) { $hour = $firstTime / 60; $min = $firstTime % 60; if ( defined $countAry{ $firstTime } ) { $total += $countAry{ $firstTime }; $hist = ( $countAry{ $firstTime } / $largest ) * 65; printf "%.2d:%.2d %5d ", $hour, $min, $countAry{ $firstTime }; print "#" x $hist, "n"; } else { printf "%.2d:%.2d 0n", $hour, $min; } $firstTime += $minutes; } print "----- -----n"; printf "Total %5dn", $total; sub printUsage { ( $program = $0 ) =~ s,.*/,,; print "Usage: $program smat_file.idx minutesn"; exit 200; }
-
December 17, 2007 at 7:09 pm #63144
Max Drown (Infor)
ModeratorCould you paste some example output? All I’m getting is something like this … Code:[hci@QDXTEST:bn10]> /hci/bin/histsmat.pl tmp.idx 1440
24:00 5895 #################################################################
—– —–
Total 5895
[hci@QDXTEST:bn10]>-- Max Drown (Infor)
-
December 17, 2007 at 8:10 pm #63145
Scott Lee
ParticipantYour output looks correct. -
December 17, 2007 at 8:18 pm #63146
Max Drown (Infor)
ModeratorGroovy. Code:[hci@cloverleaf:bn10]> /hci/bin/histsmat.pl bn10ms4_in.tin.idx 60
01:00 111 #######
02:00 60 ####
03:00 61 ####
04:00 21 #
05:00 59 ###
06:00 100 ######
07:00 194 #############
08:00 468 ###############################
09:00 686 #############################################
10:00 884 ###########################################################
11:00 970 #################################################################
12:00 710 ###############################################
13:00 604 ########################################
14:00 901 ############################################################
15:00 210 ##############
—– —–
Total 6039-- Max Drown (Infor)
-
December 17, 2007 at 9:06 pm #63147
Rentian Huang
ParticipantThat was exactly what I got, adjust the minutes to see different level of details. -
September 11, 2012 at 5:58 pm #63148
Kevin Crist
ParticipantMy apologies for using an old post but i have been trying to get this script to work but not sure what i’m doing wrong? Why i keep getting an error. This isn’t my strong suit so any help is cool.
Thanks.
-
-
AuthorReplies
- The forum ‘Cloverleaf’ is closed to new topics and replies.