You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2003/03/04 08:18:05 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_shm.c
costin 2003/03/03 23:18:05
Modified: jk/native2/common jk_shm.c
Log:
Added a new attribute. Setting it will reset the stats. Hacky - but I getting methods
to work from JMX is not yet done.
Revision Changes Path
1.33 +40 -3 jakarta-tomcat-connectors/jk/native2/common/jk_shm.c
Index: jk_shm.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_shm.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- jk_shm.c 4 Feb 2003 07:39:58 -0000 1.32
+++ jk_shm.c 4 Mar 2003 07:18:04 -0000 1.33
@@ -492,18 +492,54 @@
return 0;
}
+static void jk2_shm_resetEndpointStats(jk_env_t *env, struct jk_shm *shm)
+{
+ int i, j;
+
+ if( shm==NULL || shm->head==NULL) {
+ return;
+ }
+
+ for( i=1; i < shm->head->lastSlot; i++ ) {
+ jk_shm_slot_t *slot= shm->getSlot( env, shm, i );
+
+ if( slot==NULL ) continue;
+
+ if( strncmp( slot->name, "epStat", 6 ) == 0 ) {
+ /* This is an endpoint slot */
+ void *data=slot->data;
+
+ for( j=0; j<slot->structCnt ; j++ ) {
+ jk_stat_t *statArray=(jk_stat_t *)data;
+ jk_stat_t *stat=statArray + j;
+
+ stat->reqCnt=0;
+ stat->errCnt=0;
+#ifdef HAS_APR
+ stat->totalTime=0;
+ stat->maxTime=0;
+#endif
+ }
+ }
+ }
+}
+
+static char *jk2_shm_setAttributeInfo[]={"resetEndpointStats", "file", "size", NULL };
static int JK_METHOD jk2_shm_setAttribute( jk_env_t *env, jk_bean_t *mbean, char *name, void *valueP ) {
jk_shm_t *shm=(jk_shm_t *)mbean->object;
char *value=(char *)valueP;
if( strcmp( "file", name ) == 0 ) {
- shm->fname=value;
+ shm->fname=value;
} else if( strcmp( "size", name ) == 0 ) {
- shm->size=atoi(value);
+ shm->size=atoi(value);
+ } else if( strcmp( "resetEndpointStats", name ) == 0 ) {
+ if( strcmp( value, "1" )==0 )
+ jk2_shm_resetEndpointStats( env, shm );
} else {
- return JK_ERR;
+ return JK_ERR;
}
return JK_OK;
@@ -596,6 +632,7 @@
shm->slotMaxCount=DEFAULT_SLOT_COUNT;
result->setAttribute=jk2_shm_setAttribute;
+ result->setAttributeInfo=jk2_shm_setAttributeInfo;
/* result->getAttribute=jk2_shm_getAttribute; */
shm->mbean=result;
result->object=shm;
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org