summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-03-19 21:02:47 +0800
committerkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-03-19 21:02:47 +0800
commit60b3015900838f0afbf3377fc3a75351be510cbe (patch)
tree4488111bc74655ed46406290bd982fa68c38a8d1 /util
parent5fdde9d65d7664bcff62833304144a26b2f74e30 (diff)
downloadpttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar.gz
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar.bz2
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar.lz
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar.xz
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.tar.zst
pttbbs-60b3015900838f0afbf3377fc3a75351be510cbe.zip
statistic
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2651 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'util')
-rw-r--r--util/shmctl.c44
1 files changed, 43 insertions, 1 deletions
diff --git a/util/shmctl.c b/util/shmctl.c
index cdd1ef56..411562d2 100644
--- a/util/shmctl.c
+++ b/util/shmctl.c
@@ -900,9 +900,50 @@ int testgap(int argc, char *argv[])
return 0;
}
+int showstat(int argc, char *argv[])
+{
+ int i;
+ int flag_clear=0;
+ char *stat_desc[]={
+ "STAT_LOGIN",
+ "STAT_SHELLLOGIN",
+ "STAT_VEDIT",
+ "STAT_TALKREQUEST",
+ "STAT_WRITEREQUEST",
+ "STAT_MORE",
+ "STAT_SYSWRITESOCKET",
+ "STAT_SYSSELECT",
+ "STAT_SYSREADSOCKET",
+ "STAT_DOSEND",
+ "STAT_SEARCHUSER",
+ "STAT_THREAD",
+ "STAT_SELECTREAD",
+ "STAT_QUERY",
+ "STAT_DOTALK",
+ "STAT_FRIENDDESC",
+ "STAT_FRIENDDESC_FILE",
+ "STAT_PICKMYFRIEND",
+ "STAT_PICKBFRIEND",
+ "STAT_GAMBLE",
+ "STAT_DOPOST",
+ "STAT_READPOST",
+ "STAT_RECOMMEND",
+ };
+
+ if(argv[1] && strcmp(argv[1],"-c")==0)
+ flag_clear=1;
+ for(i=0; i<STAT_NUM; i++) {
+ char *desc= i*sizeof(char*)<sizeof(stat_desc)?stat_desc[i]:"?";
+ printf("%s:\t%s\n", desc, SHM->statistic[i]);
+ }
+ if(flag_clear)
+ memset(SHM->statistic, 0, sizeof(SHM->statistic));
+ return 0;
+}
+
int dummy(int argc, char *argv[])
{
- return 0;
+ return 0;
}
struct {
@@ -933,6 +974,7 @@ struct {
{listbrd, "listbrd", "list board info in SHM"},
{hotboard, "hotboard", "list boards of most bfriends"},
{usermode, "usermode", "list #users in the same mode"},
+ {showstat, "showstat", "show statistics"},
{testgap, "testgap", "test SHM->gap zeroness"},
{dummy, "\b\b\b\bMisc:", ""},