cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-17 Thread hgomez
hgomez  2004/03/17 09:16:25

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Remove unused vars
  
  Revision  ChangesPath
  1.59  +1 -20 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- jk_worker_status.c16 Mar 2004 08:47:25 -  1.58
  +++ jk_worker_status.c17 Mar 2004 17:16:25 -  1.59
  @@ -137,7 +137,6 @@
   s-jkprintf(env, s, thReqStart/thth+jk/thth+end/th );
   
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  -char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
   jk_endpoint_t *ep;
   
  @@ -166,14 +165,12 @@
   static void jk2_worker_status_displayScoreboardInfo(jk_env_t *env, jk_ws_service_t 
*s,
   jk_workerEnv_t *wenv)
   {
  -jk_map_t *map=wenv-initData;
   int i;
   int j;
   int totalReq=0;
   int totalErr=0;
   unsigned long totalTime=0;
   unsigned long maxTime=0;
  -int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
   s-jkprintf(env, s, h3No Scoreboard available/h3\n); 
  @@ -228,7 +225,6 @@
   static void jk2_worker_status_displayRuntimeType(jk_env_t *env, jk_ws_service_t *s,
jk_workerEnv_t *wenv, char *type)
   {
  -jk_map_t *map=wenv-initData;
   int i;
   int needHeader=JK_TRUE;
   int typeLen=strlen( type );
  @@ -389,14 +385,8 @@
   static void jk2_worker_status_lstEndpoints(jk_env_t *env, jk_ws_service_t *s,
  jk_workerEnv_t *wenv)
   {
  -jk_map_t *map=wenv-initData;
   int i;
   int j;
  -int totalReq=0;
  -int totalErr=0;
  -unsigned long totalTime=0;
  -unsigned long maxTime=0;
  -int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
   return;
  @@ -414,7 +404,6 @@
   
   for( j=0; jslot-structCnt ; j++ ) {
   jk_stat_t *statArray=(jk_stat_t *)data;
  -jk_stat_t *stat=statArray + j;
   
   s-jkprintf(env, s, [endpoint:%s%d]\n, name, j );
   s-jkprintf(env, s, T=endpoint\n );
  @@ -441,14 +430,8 @@
   static void jk2_worker_status_dmpEndpoints(jk_env_t *env, jk_ws_service_t *s,
  jk_workerEnv_t *wenv)
   {
  -jk_map_t *map=wenv-initData;
   int i;
   int j;
  -int totalReq=0;
  -int totalErr=0;
  -unsigned long totalTime=0;
  -unsigned long maxTime=0;
  -int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
   return;
  @@ -523,7 +506,6 @@
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
   char **getAtt=mbean-getAttributeInfo;
  -char **setAtt=mbean-setAttributeInfo;
   
   /* That's a bad name, created for backward compat. It should be 
deprecated.. */
   if( strchr( name, ':' )==NULL )
  @@ -690,7 +672,6 @@
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
   char **getAtt=mbean-getAttributeInfo;
  -char **setAtt=mbean-setAttributeInfo;
   int j,k;
   
   /* That's a bad name, created for backward compat. It should be 
deprecated.. */
  @@ -898,7 +879,7 @@
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  -int res;
  +int res = 0;
   
   if( mbean==NULL ) 
   continue;
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-17 Thread hgomez
hgomez  2004/03/17 09:20:14

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Oups
  
  Revision  ChangesPath
  1.60  +1 -0  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- jk_worker_status.c17 Mar 2004 17:16:25 -  1.59
  +++ jk_worker_status.c17 Mar 2004 17:20:14 -  1.60
  @@ -506,6 +506,7 @@
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
   char **getAtt=mbean-getAttributeInfo;
  +char **setAtt=mbean-setAttributeInfo;
   
   /* That's a bad name, created for backward compat. It should be 
deprecated.. */
   if( strchr( name, ':' )==NULL )
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-16 Thread hgomez
hgomez  2004/03/16 00:47:25

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Supresses the output of the style when we are in text/plain mode

  

  Provided by Guenter Knauf
  
  Revision  ChangesPath
  1.58  +4 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- jk_worker_status.c15 Mar 2004 11:05:26 -  1.57
  +++ jk_worker_status.c16 Mar 2004 08:47:25 -  1.58
  @@ -953,7 +953,10 @@
   
   s-head(env, s );
   
  -s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
  +if( !(s-query_string != NULL 
  +strncmp( s-query_string, qry=, 4) == 0 ) ) {
  +s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
  +}
   
   /** Process the query string.
*/
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-15 Thread mturk
mturk   2004/03/15 03:05:26

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Fix the resetScoreboard loop start index. Thx. Norm
  
  Revision  ChangesPath
  1.57  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- jk_worker_status.c13 Mar 2004 10:12:24 -  1.56
  +++ jk_worker_status.c15 Mar 2004 11:05:26 -  1.57
  @@ -292,7 +292,7 @@
   return;
   }
   
  -for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
  +for( i=0; i  wenv-shm-head-lastSlot; i++ ) {
   jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
   
   if( slot==NULL ) continue;
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-15 Thread Henri Gomez
[EMAIL PROTECTED] wrote:

mturk   2004/03/15 03:05:26

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Fix the resetScoreboard loop start index. Thx. Norm
  
  Revision  ChangesPath
  1.57  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- jk_worker_status.c	13 Mar 2004 10:12:24 -	1.56
  +++ jk_worker_status.c	15 Mar 2004 11:05:26 -	1.57
  @@ -292,7 +292,7 @@
   return;
   }
   
  -for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
  +for( i=0; i  wenv-shm-head-lastSlot; i++ ) {
   jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
   
   if( slot==NULL ) continue;
You were faster, I see the commit while doing it from my side :)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-13 Thread mturk
mturk   2004/03/13 01:17:25

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Convert the times to msecs. apr_time_now return microsecods,
  so displaying that is not so user friendly.
  All the display logic and function calls should change to apr_time_t instead
  long.
  
  Revision  ChangesPath
  1.55  +13 -13jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- jk_worker_status.c12 Mar 2004 19:19:58 -  1.54
  +++ jk_worker_status.c13 Mar 2004 09:17:25 -  1.55
  @@ -61,20 +61,20 @@
   apr_ctime( ctimeBuf, stat-connectedTime );
   s-jkprintf(env, s, td%s/td\n, ctimeBuf );
   
  -s-jkprintf(env, s, td%ld/td\n, (long)stat-totalTime );
  -s-jkprintf(env, s, td%ld/td\n, (long)stat-maxTime );
  +s-jkprintf(env, s, td%ld/td\n, (long)apr_time_as_msec(stat-totalTime));
  +s-jkprintf(env, s, td%ld/td\n, (long)apr_time_as_msec(stat-maxTime));
   
   if( stat-reqCnt + stat-errCnt  0 ) 
   s-jkprintf(env, s, td%ld/td\n,
  -(long)(stat-totalTime / ( stat-reqCnt + stat-errCnt )) );
  +(long)apr_time_as_msec((stat-totalTime / ( stat-reqCnt + 
stat-errCnt ;
   else
   s-jkprintf(env, s, td-/td\n);
   
  -s-jkprintf(env, s, td%lu/td\n, (long)stat-startTime );
  +s-jkprintf(env, s, td%lu/td\n, (long)apr_time_as_msec(stat-startTime));
   s-jkprintf(env, s, td%ld/td\n,
  -(long)(stat-jkStartTime - stat-startTime) );
  +(long)apr_time_as_msec(stat-jkStartTime - stat-startTime));
   s-jkprintf(env, s, td%ld/td\n,
  -(long)(stat-endTime - stat-startTime) );
  +(long)apr_time_as_msec(stat-endTime - stat-startTime));
   
   totalTime += (long)stat-totalTime;
   if( maxTime  stat-maxTime )
  @@ -100,10 +100,10 @@
   s-jkprintf(env, s, trtd%d/td\n, totalReq );
   s-jkprintf(env, s, td%d/td\n, totalErr );
   
  -s-jkprintf(env, s, td%ld/td\n, maxTime );
  +s-jkprintf(env, s, td%ld/td\n, apr_time_as_msec(maxTime));
   
   if( totalErr + totalReq  0 ) {
  -unsigned long avg=totalTime / ( totalReq + totalErr );
  +unsigned long avg=apr_time_as_msec(totalTime / ( totalReq + totalErr));
   s-jkprintf(env, s, td%ld/td\n, avg );
   } else {
   s-jkprintf(env, s, td-/td\n );
  @@ -479,14 +479,14 @@
   apr_ctime( ctimeBuf, stat-connectedTime );
   s-jkprintf(env, s, lastConnectionTime=%s\n, ctimeBuf);
   
  -s-jkprintf(env, s, totalTime=%ld\n, (long)stat-totalTime );
  -s-jkprintf(env, s, maxTime=%ld\n, (long)stat-maxTime ); 
  +s-jkprintf(env, s, totalTime=%ld\n, 
(long)apr_time_as_msec(stat-totalTime));
  +s-jkprintf(env, s, maxTime=%ld\n, 
(long)apr_time_as_msec(stat-maxTime)); 
   
  -s-jkprintf(env, s, requestStart=%lu\n, (long)stat-startTime); 
  +s-jkprintf(env, s, requestStart=%lu\n, 
(long)apr_time_as_msec(stat-startTime)); 
   s-jkprintf(env, s, jkTime=%ld\n, 
  -(long)(stat-jkStartTime - stat-startTime) );
  +(long)apr_time_as_msec((stat-jkStartTime - 
stat-startTime)));
   s-jkprintf(env, s, requestEnd=%ld\n, 
  -(long)(stat-endTime - stat-startTime) );
  +(long)apr_time_as_msec((stat-endTime - 
stat-startTime)));
   s-jkprintf(env, s, \n); 
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-13 Thread mturk
mturk   2004/03/13 02:12:24

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Use the apr_ctime for ReqStart.
  Since this is absolute time not a time difference, there is no need to
  display secons after 1970.
  
  Revision  ChangesPath
  1.56  +2 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- jk_worker_status.c13 Mar 2004 09:17:25 -  1.55
  +++ jk_worker_status.c13 Mar 2004 10:12:24 -  1.56
  @@ -70,7 +70,8 @@
   else
   s-jkprintf(env, s, td-/td\n);
   
  -s-jkprintf(env, s, td%lu/td\n, (long)apr_time_as_msec(stat-startTime));
  +apr_ctime( ctimeBuf, stat-startTime);
  +s-jkprintf(env, s, td%s/td\n, ctimeBuf);
   s-jkprintf(env, s, td%ld/td\n,
   (long)apr_time_as_msec(stat-jkStartTime - stat-startTime));
   s-jkprintf(env, s, td%ld/td\n,
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-13 Thread ax
This account does not exist



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-12 Thread mturk
mturk   2004/03/12 11:19:58

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Change the loop for shmem.
  The shmem indexes starts with 0 now.
  
  Revision  ChangesPath
  1.54  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- jk_worker_status.c1 Mar 2004 09:38:20 -   1.53
  +++ jk_worker_status.c12 Mar 2004 19:19:58 -  1.54
  @@ -186,7 +186,7 @@
   
   s-jkprintf(env, s, table border\n);
   
  -for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
  +for( i=0; i  wenv-shm-head-lastSlot; i++ ) {
   jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
   
   if( slot==NULL ) continue;
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-12 Thread ax
This account does not exist



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-01 Thread hgomez
hgomez  2004/03/01 01:20:17

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Make sure we send non-caching headers.

  

  Provided by Guenter Knauf
  
  Revision  ChangesPath
  1.52  +6 -0  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- jk_worker_status.c29 Feb 2004 09:44:33 -  1.51
  +++ jk_worker_status.c1 Mar 2004 09:20:17 -   1.52
  @@ -944,6 +944,12 @@
   s-headers_out-put(env, s-headers_out,
   Content-Type, text/html, NULL);
   }
  +
  +s-headers_out-put(env, s-headers_out,
  +Pragma, no-cache, NULL);
  +s-headers_out-put(env, s-headers_out,
  +Cache-Control, no-cache, NULL);
  +
   s-head(env, s );
   
s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-03-01 Thread hgomez
hgomez  2004/03/01 01:38:20

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Tab policies
  
  Revision  ChangesPath
  1.53  +2 -2  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- jk_worker_status.c1 Mar 2004 09:20:17 -   1.52
  +++ jk_worker_status.c1 Mar 2004 09:38:20 -   1.53
  @@ -175,7 +175,7 @@
   int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
  - s-jkprintf(env, s, h3No Scoreboard available/h3\n); 
  +s-jkprintf(env, s, h3No Scoreboard available/h3\n); 
   return;
   }
   
  @@ -952,7 +952,7 @@
   
   s-head(env, s );
   
  - s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
  +s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
   
   /** Process the query string.
*/
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-29 Thread hgomez
hgomez  2004/02/29 01:44:33

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Only 10 chars to check, reported by NormW
  
  Revision  ChangesPath
  1.51  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- jk_worker_status.c27 Feb 2004 09:24:45 -  1.50
  +++ jk_worker_status.c29 Feb 2004 09:44:33 -  1.51
  @@ -1045,7 +1045,7 @@
   jk2_worker_status_displayScoreboardInfo(env, s, s-workerEnv );
   return JK_OK;
   }
  -if( strncmp( s-query_string, endpoints=, 11) == 0 ) {
  +if( strncmp( s-query_string, endpoints=, 10) == 0 ) {
   jk2_worker_status_displayEndpointInfo( env, s, s-workerEnv );
   return JK_OK;
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread hgomez
hgomez  2004/02/27 00:37:48

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Gunter addon (and initial stylesheet)
  
  Revision  ChangesPath
  1.49  +5 -0  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- jk_worker_status.c24 Feb 2004 08:44:40 -  1.48
  +++ jk_worker_status.c27 Feb 2004 08:37:48 -  1.49
  @@ -36,6 +36,8 @@
   
   #define JK_CHECK_NULL( str ) ( ((str)==NULL) ? null : (str) )
   
  +#define DEFAULT_CSS (BODY {COLOR: #00; FONT-STYLE: normal; FONT-FAMILY: 
\Times New Roman\, Times, serif; BACKGROUND-COLOR: #ff} H1 { COLOR: #0033cc; 
FONT-FAMILY: Arial, Helvetica, sans-serif} H2 { COLOR: #0033cc; FONT-FAMILY: Arial, 
Helvetica, sans-serif} H3 {FONT: 110% Arial, Helvetica, sans-serif; COLOR: #0033cc} B 
{FONT-WEIGHT: bold} )
  +
   /** Display info for one endpoint
*/
   static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s,
  @@ -173,6 +175,7 @@
   int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
  + s-jkprintf(env, s, h3No Scoreboard avaiable/h3\n); 
   return;
   }
   
  @@ -942,6 +945,8 @@
   Content-Type, text/html, NULL);
   }
   s-head(env, s );
  +
  + s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );
   
   /** Process the query string.
*/
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread NormW
Good evening Henri.
Can the 'avaiable' be 'available' by the time of the jk2 release?  :-)
Norm
P.S. Great work regardless of my nitpicking.
P.S.2 Gunter deliberately puts a few crumbs in his contributions so others
less gifted can contribute something.

 hgomez  2004/02/27 00:37:48

   Modified:jk/native2/common jk_worker_status.c
   Log:
   Gunter addon (and initial stylesheet)

   Revision  ChangesPath
   1.49  +5 -0
jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c

   Index: jk_worker_status.c
   ===
   RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
   retrieving revision 1.48
   retrieving revision 1.49
   diff -u -r1.48 -r1.49
   --- jk_worker_status.c 24 Feb 2004 08:44:40 - 1.48
   +++ jk_worker_status.c 27 Feb 2004 08:37:48 - 1.49
   @@ -36,6 +36,8 @@

#define JK_CHECK_NULL( str ) ( ((str)==NULL) ? null : (str) )

   +#define DEFAULT_CSS (BODY {COLOR: #00; FONT-STYLE: normal;
FONT-FAMILY: \Times New Roman\, Times, serif; BACKGROUND-COLOR: #ff}
H1 { COLOR: #0033cc; FONT-FAMILY: Arial, Helvetica, sans-serif} H2 { COLOR:
#0033cc; FONT-FAMILY: Arial, Helvetica, sans-serif} H3 {FONT: 110% Arial,
Helvetica, sans-serif; COLOR: #0033cc} B {FONT-WEIGHT: bold} )
   +
/** Display info for one endpoint
 */
static void jk2_worker_status_displayStat(jk_env_t *env,
jk_ws_service_t *s,
   @@ -173,6 +175,7 @@
int needHeader=JK_TRUE;

if( wenv-shm==NULL || wenv-shm-head==NULL) {
   + s-jkprintf(env, s, h3No Scoreboard avaiable/h3\n);
return;
}

   @@ -942,6 +945,8 @@
Content-Type, text/html, NULL);
}
s-head(env, s );
   +
   + s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS );

/** Process the query string.
 */




 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread hgomez
hgomez  2004/02/27 01:24:45

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Fix typo
  
  Revision  ChangesPath
  1.50  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- jk_worker_status.c27 Feb 2004 08:37:48 -  1.49
  +++ jk_worker_status.c27 Feb 2004 09:24:45 -  1.50
  @@ -175,7 +175,7 @@
   int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL) {
  - s-jkprintf(env, s, h3No Scoreboard avaiable/h3\n); 
  + s-jkprintf(env, s, h3No Scoreboard available/h3\n); 
   return;
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread Henri Gomez
NormW wrote:

Good evening Henri.
Can the 'avaiable' be 'available' by the time of the jk2 release?  :-)
Norm
P.S. Great work regardless of my nitpicking.
P.S.2 Gunter deliberately puts a few crumbs in his contributions so others
less gifted can contribute something.
Fixed.

I wonder how to cleanup the HTML for jkstatus, so if you're CSS 
specialist, you're more than welcome :)

BTW, don't expect release before next week ;-(

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread NormW
Good evening from Down Under.

 NormW wrote:

  Good evening Henri.
  Can the 'avaiable' be 'available' by the time of the jk2 release?  :-)
  Norm
  P.S. Great work regardless of my nitpicking.
  P.S.2 Gunter deliberately puts a few crumbs in his contributions so
others
  less gifted can contribute something.
 

 Fixed.
* Thanks. Should quieten less socially aware nitpickers...

 I wonder how to cleanup the HTML for jkstatus, so if you're CSS
 specialist, you're more than welcome :)
* Not a CSS specialist but will give it a closer look. The one thing that
did surprise was a line 353 characters long if there are tab-police out
there, this might excite some... but it will do for testing regardless.

 BTW, don't expect release before next week ;-(
* When giving birth to a baby, it's best to wait until all the bits are in
working order. Sooner one good fully-featured release than a number chase.
Norm

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread Henri Gomez
NormW wrote:

Good evening from Down Under.


NormW wrote:


Good evening Henri.
Can the 'avaiable' be 'available' by the time of the jk2 release?  :-)
Norm
P.S. Great work regardless of my nitpicking.
P.S.2 Gunter deliberately puts a few crumbs in his contributions so
others

less gifted can contribute something.

Fixed.
* Thanks. Should quieten less socially aware nitpickers...


I wonder how to cleanup the HTML for jkstatus, so if you're CSS
specialist, you're more than welcome :)
* Not a CSS specialist but will give it a closer look. The one thing that
did surprise was a line 353 characters long if there are tab-police out
there, this might excite some... but it will do for testing regardless.
Don't send cvs commit log to ASF Tab Police please ;)

BTW, don't expect release before next week ;-(
* When giving birth to a baby, it's best to wait until all the bits are in
working order. Sooner one good fully-featured release than a number chase.
Sure, we need this release as soon as possible, even if we make a 2.0.5
a little later to fix remaining problems
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-27 Thread NormW
Good evening Henri.

 NormW wrote:

  Good evening from Down Under.
 
 
 NormW wrote:
 
 
 Good evening Henri.
 Can the 'avaiable' be 'available' by the time of the jk2 release?  :-)
 Norm
 P.S. Great work regardless of my nitpicking.
 P.S.2 Gunter deliberately puts a few crumbs in his contributions so
 
  others
 
 less gifted can contribute something.
 
 
 Fixed.
 
  * Thanks. Should quieten less socially aware nitpickers...
 
 
 I wonder how to cleanup the HTML for jkstatus, so if you're CSS
 specialist, you're more than welcome :)
 
  * Not a CSS specialist but will give it a closer look. The one thing
that
  did surprise was a line 353 characters long if there are tab-police
out
  there, this might excite some... but it will do for testing regardless.

 Don't send cvs commit log to ASF Tab Police please ;)
No way my conf's use them, Apache ignores them and they take less space
to store and read.

 BTW, don't expect release before next week ;-(
 
  * When giving birth to a baby, it's best to wait until all the bits are
in
  working order. Sooner one good fully-featured release than a number
chase.

 Sure, we need this release as soon as possible, even if we make a 2.0.5
 a little later to fix remaining problems
Ahem... I thought you would be aware of the shortcomings of haste by now...
:-)

Norm.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-06 Thread hgomez
hgomez  2004/02/06 06:51:25

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Avoid display nameless beans.
  
  Provided by Gunter Knauf
  
  Revision  ChangesPath
  1.47  +3 -0  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- jk_worker_status.c2 Feb 2004 18:21:08 -   1.46
  +++ jk_worker_status.c6 Feb 2004 14:51:25 -   1.47
  @@ -288,6 +288,9 @@
   if( strncmp( type, mbean-type, typeLen ) != 0 )
   continue;
   
  +if( mbean-localName == NULL || (strlen(mbean-localName) == 0) )
  +continue;
  +
   if( needHeader ) {
   s-jkprintf(env, s, H3%s runtime info/H3\n, JK_CHECK_NULL(type) );
   s-jkprintf(env, s, p%s information, using getAttribute() /p\n, 
JK_CHECK_NULL(type) );
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2004-02-02 Thread mmanders
mmanders2004/02/02 10:21:08

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Fix problem dereferencing a NULL value if shared memory/scoreboard information isn't 
available.  Patch provided by Guenter Knauf and NormW.
  
  Revision  ChangesPath
  1.46  +11 -5 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- jk_worker_status.c30 Oct 2003 20:08:36 -  1.45
  +++ jk_worker_status.c2 Feb 2004 18:21:08 -   1.46
  @@ -717,7 +717,7 @@
   }
   }
   /* Create a top section - not used currently */
  -s-jkprintf(env, s, MXAgent: mod_jk\n );
  +s-jkprintf(env, s, MXAgent: mod_jk2\n );
   s-jkprintf(env, s, \n );
   
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  @@ -1004,9 +1004,12 @@
   /* Update the scoreboard's version - all other
  jk2 processes will see this and update
   */
  -if( shm!=NULL  shm-head!=NULL )
  +if( shm!=NULL  shm-head!=NULL ) {
   shm-head-lbVer++;
  -s-jkprintf(env, s, Updated config %d, shm-head-lbVer  );
  +s-jkprintf(env, s, Updated config version to %d\n, shm-head-lbVer  
);
  +} else {
  +s-jkprintf(env, s, Update detected. No scoreboard.\n );
  +}
   }
   
   
  @@ -1017,9 +1020,12 @@
   /* Update the scoreboard's version - all other
  jk2 processes will see this and update
   */
  -if( shm!=NULL  shm-head!=NULL )
  +if( shm!=NULL  shm-head!=NULL ) {
   shm-head-lbVer++;
  -s-jkprintf(env, s, Updated config version to %d\n, shm-head-lbVer  );
  +s-jkprintf(env, s, Updated config version to %d\n, shm-head-lbVer  
);
  +} else {
  +s-jkprintf(env, s, Reload requested. No scoreboard.\n );
  +}
   return JK_OK;
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-03-06 Thread costin
costin  2003/03/06 07:15:04

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Gump failure.
  
  Whoever did this: great work !!!
  
  Revision  ChangesPath
  1.40  +2 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- jk_worker_status.c4 Mar 2003 07:25:10 -   1.39
  +++ jk_worker_status.c6 Mar 2003 15:15:04 -   1.40
  @@ -771,6 +771,7 @@
   
   if( strcmp( name, cName ) == 0 
   mbean-setAttribute != NULL ) {
  +int res;
   
   jk_shm_t *shm=w-workerEnv-shm;
   
  @@ -780,7 +781,7 @@
   env-l-jkLog(env, env-l, JK_LOG_DEBUG, status.set() %s %s\n,
 cName, attName);
   
  -int res=jk2_config_setProperty(env, w-workerEnv-config,
  +res=jk2_config_setProperty(env, w-workerEnv-config,
  mbean, attName, attVal);
   
   /* Increment the version */
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-03-03 Thread costin
costin  2003/03/03 23:25:10

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Various changes and fixes.
  
  The check for a modified workers.properties is at the start of the method -
  JMX sent all the fields, one by one - and they got processed by different
  processes.
  
  This is a bit tricky - the multiprocess model may create problems. Probably
  a better fix would be to change all attributes at once.
  
  Setting the config via JMX is obviously experimental - editing the
  files remains the safest reconfig method.
  
  Revision  ChangesPath
  1.39  +148 -52   jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- jk_worker_status.c2 Mar 2003 20:48:56 -   1.38
  +++ jk_worker_status.c4 Mar 2003 07:25:10 -   1.39
  @@ -315,9 +315,9 @@
   JK_CHECK_NULL(mbean-localName));
   for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
   char *pname=mbean-getAttributeInfo[j];
  +char *res=mbean-getAttribute( env, mbean, pname);
   
  -s-jkprintf(env, s, td%s/td,
  -JK_CHECK_NULL(mbean-getAttribute( env, mbean, pname)));
  +s-jkprintf(env, s, td%s/td, JK_CHECK_NULL(res));
   }
   }
   if( ! needHeader ) {
  @@ -355,8 +355,7 @@
   #endif
   }
   }
  -}
  -
  +}
   }
   
   /** That's the 'bulk' data - everything that was configured, after substitution
  @@ -461,18 +460,20 @@
   jk_stat_t *statArray=(jk_stat_t *)data;
   jk_stat_t *stat=statArray + j;
   
  -s-jkprintf(env, s, N|endpoint|endpoint:%s%d\n, name, j );
  +s-jkprintf(env, s, [endpoint:%s%d]\n, name, j );
  +s-jkprintf(env, s, T=endpoint\n );
   
  -s-jkprintf(env, s, G|endpoint:%s%d|id\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|requests\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|errors\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|lastRequest\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|lastConnectionTime\n, name, 
j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|totalTime\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|maxTime\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|requestStart\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|jkTime\n, name, j); 
  -s-jkprintf(env, s, G|endpoint:%s%d|requestEnd\n, name, j);
  +s-jkprintf(env, s, G=id\n); 
  +s-jkprintf(env, s, G=workerId\n); 
  +s-jkprintf(env, s, G=requests\n); 
  +s-jkprintf(env, s, G=errors\n); 
  +s-jkprintf(env, s, G=lastRequest\n); 
  +s-jkprintf(env, s, G=lastConnectionTime\n); 
  +s-jkprintf(env, s, G=totalTime\n); 
  +s-jkprintf(env, s, G=maxTime\n); 
  +s-jkprintf(env, s, G=requestStart\n); 
  +s-jkprintf(env, s, G=jkTime\n); 
  +s-jkprintf(env, s, G=requestEnd\n\n);
   }
   }
   }
  @@ -510,32 +511,32 @@
   /* XXX Add info about number of slots */
   for( j=0; jslot-structCnt ; j++ ) {
   jk_stat_t *statArray=(jk_stat_t *)data;
  -jk_stat_t *stat=statArray + j;

  -s-jkprintf(env, s, G|endpoint:%s%d|id|%d\n, name, j,
  -stat-workerId); 
  -s-jkprintf(env, s, G|endpoint:%s%d|requests|%d\n, name, j,
  -stat-reqCnt);
  -s-jkprintf(env, s, G|endpoint:%s%d|errors|%d\n, name, j,
  -stat-errCnt);
  -s-jkprintf(env, s, G|endpoint:%s%d|lastRequest|%s\n, name, j,
  -JK_CHECK_NULL(stat-active)); 
  +jk_stat_t *stat=statArray + j;
  +s-jkprintf(env, s, [endpoint:%s%d]\n, name, j);
  +
  +s-jkprintf(env, s, workerId=%d\n, stat-workerId);
  +s-jkprintf(env, s, id=%d\n, stat-workerId); 
  +s-jkprintf(env, s, requests=%d\n, stat-reqCnt);
  +s-jkprintf(env, s, errors=%d\n, stat-errCnt);
  +s-jkprintf(env, s, lastRequest=%s\n, 
JK_CHECK_NULL(stat-active)); 
   #ifdef HAS_APR
   {
   char ctimeBuf[APR_CTIME_LEN];
   apr_ctime( ctimeBuf, stat-connectedTime );
  -s-jkprintf(env, s, 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-03-02 Thread costin
costin  2003/03/02 12:48:56

  Modified:jk/native2/common jk_worker_status.c
  Log:
  The entries in the scoreboard will be presented as beans. A bit hacky, but
  works without too much overhead.
  
  Revision  ChangesPath
  1.38  +156 -4jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- jk_worker_status.c1 Mar 2003 05:49:58 -   1.37
  +++ jk_worker_status.c2 Mar 2003 20:48:56 -   1.38
  @@ -77,6 +77,8 @@
   
   #define JK_CHECK_NULL( str ) ( ((str)==NULL) ? null : (str) )
   
  +/** Display info for one endpoint
  + */
   static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s,
 jk_stat_t *stat,
 int *totalReqP, int *totalErrP,
  @@ -127,6 +129,8 @@
   *totalErrP=totalErr;
   }
   
  +/** Displays the totals
  + */
   static void jk2_worker_status_displayAggregate(jk_env_t *env, jk_ws_service_t *s,
  int totalReq, int totalErr,
  unsigned long totalTime, unsigned 
long maxTime )
  @@ -150,6 +154,11 @@
   s-jkprintf(env, s, /tr/table\n);
   }
   
  +/** Information for the internal endpoints ( in this process ).
  +Duplicates info from the scoreboard. This is used for debugging and for
  +cases where scoreboard is not available. No longer included in the
  +normal display to avoid confusion.
  + */
   static void jk2_worker_status_displayEndpointInfo(jk_env_t *env, jk_ws_service_t *s,
 jk_workerEnv_t *wenv)
   {
  @@ -193,6 +202,10 @@
   totalReq, totalErr, totalTime, maxTime);
   }
   
  +/** Special case for endpoints - the info is stored in a shm segment, to be able
  + *   to access info from all other processes in a multi-process server.
  + *  For single process servers - the scoreboard is just a local char*.
  + */
   static void jk2_worker_status_displayScoreboardInfo(jk_env_t *env, jk_ws_service_t 
*s,
   jk_workerEnv_t *wenv)
   {
  @@ -416,6 +429,119 @@
   s-jkprintf( env,s , /table\n );
   }
   
  +/** List metadata for endpoints ( from scoreboard ) using the remote-jmx style
  +  */
  +static void jk2_worker_status_lstEndpoints(jk_env_t *env, jk_ws_service_t *s,
  +   jk_workerEnv_t *wenv)
  +{
  +jk_map_t *map=wenv-initData;
  +int i;
  +int j;
  +int totalReq=0;
  +int totalErr=0;
  +unsigned long totalTime=0;
  +unsigned long maxTime=0;
  +int needHeader=JK_TRUE;
  +
  +if( wenv-shm==NULL || wenv-shm-head==NULL) {
  +return;
  +}
  +
  +for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
  +jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
  +
  +if( slot==NULL ) continue;
  +
  +if( strncmp( slot-name, epStat, 6 ) == 0 ) {
  +/* This is an endpoint slot */
  +void *data=slot-data;
  +char *name=JK_CHECK_NULL(slot-name);
  +
  +for( j=0; jslot-structCnt ; j++ ) {
  +jk_stat_t *statArray=(jk_stat_t *)data;
  +jk_stat_t *stat=statArray + j;
  +
  +s-jkprintf(env, s, N|endpoint|endpoint:%s%d\n, name, j );
  +
  +s-jkprintf(env, s, G|endpoint:%s%d|id\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|requests\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|errors\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|lastRequest\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|lastConnectionTime\n, name, 
j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|totalTime\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|maxTime\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|requestStart\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|jkTime\n, name, j); 
  +s-jkprintf(env, s, G|endpoint:%s%d|requestEnd\n, name, j);
  +}
  +}
  +}
  +}
  +
  +
  +/** List values for endpoints ( from scoreboard ) using the remote-jmx style
  +  */
  +static void jk2_worker_status_dmpEndpoints(jk_env_t *env, jk_ws_service_t *s,
  +   jk_workerEnv_t *wenv)
  +{
  +jk_map_t *map=wenv-initData;
  +int i;
  +int j;
  +int totalReq=0;
  +int totalErr=0;
  +unsigned long totalTime=0;
  +unsigned long maxTime=0;
  +int needHeader=JK_TRUE;
  +
  +

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-02-28 Thread costin
costin  2003/02/28 12:36:52

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Few fixes and changes to make parsing faster. Since : is used for port and type/name 
separator.
  I use | as delimiter.
  
  Revision  ChangesPath
  1.35  +14 -12jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- jk_worker_status.c28 Feb 2003 05:02:24 -  1.34
  +++ jk_worker_status.c28 Feb 2003 20:36:52 -  1.35
  @@ -432,10 +432,11 @@
   qryLen=strlen( cName );
   }
   if( qryLen 0 ) {
  -if( cName[strlen(cName)] == '*' ) {
  +if( cName[strlen(cName)-1] == '*' ) {
   printf(Exact match off %s\n, cName );
  -cName[strlen(cName)]='\0';
  +cName[strlen(cName)-1]='\0';
   exact=0;
  +qryLen--;
   }
   }
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  @@ -449,7 +450,7 @@
   continue;
   
   /* Prefix */
  -if( ! exact   qryLen != 0  strncmp( name, cName, qryLen )!= 0 )
  +if( (! exact)   qryLen != 0  strncmp( name, cName, qryLen )!= 0 )
   continue;
   
   /* Exact */
  @@ -458,15 +459,15 @@
   
   if( mbean==NULL ) 
   continue;
  -s-jkprintf(env, s, N:%s:%s\n, mbean-type, name);
  +s-jkprintf(env, s, N|%s|%s\n, mbean-type, name);
   
   while( getAtt != NULL  *getAtt != NULL  **getAtt!='\0' ) {
  -s-jkprintf(env, s, G:%s:%s\n, name, *getAtt);
  +s-jkprintf(env, s, G|%s|%s\n, name, *getAtt);
   getAtt++;
   }
   
   while( setAtt != NULL  *setAtt != NULL  **setAtt!='\0' ) {
  -s-jkprintf(env, s, S:%s:%s\n, name, *setAtt);
  +s-jkprintf(env, s, S|%s|%s\n, name, *setAtt);
   setAtt++;
   }
   
  @@ -491,10 +492,11 @@
   qryLen=strlen( cName );
   }
   if( qryLen 0 ) {
  -if( cName[strlen(cName)] == '*' ) {
  +if( cName[strlen(cName)-1] == '*' ) {
   printf(Exact match off %s\n, cName );
  -cName[strlen(cName)]='\0';
  +cName[strlen(cName)-1]='\0';
   exact=0;
  +qryLen--;
   }
   }
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  @@ -517,12 +519,12 @@
   
   if( mbean==NULL ) 
   continue;
  -s-jkprintf(env, s, P:%s:%s:%lp\n, mbean-type, name, mbean-object );
  +s-jkprintf(env, s, P|%s|%s|%lp\n, mbean-type, name, mbean-object );
   
   while( getAtt != NULL  *getAtt != NULL  **getAtt!='\0' ) {
   char *attName=*getAtt;
   char *val=mbean-getAttribute(env, mbean, *getAtt );
  -s-jkprintf(env, s, G:%s:%s:%s\n, name, *getAtt, (val==NULL)? NULL: 
val);
  +s-jkprintf(env, s, G|%s|%s|%s\n, name, *getAtt, (val==NULL)? NULL: 
val);
   getAtt++;
   }
   }
  @@ -554,7 +556,7 @@
   if( strcmp( name, cName ) == 0 
   mbean-getAttribute != NULL ) {
   void *result=mbean-getAttribute( env, mbean, attName );
  -s-jkprintf( env, s, OK:%s:%s, cName, attName );
  +s-jkprintf( env, s, OK|%s|%s, cName, attName );
   s-jkprintf( env, s, %s, result );
   return JK_OK;
   }
  @@ -596,7 +598,7 @@
   if( strcmp( name, cName ) == 0 
   mbean-setAttribute != NULL ) {
   int res=mbean-setAttribute( env, mbean, attName, attVal );
  -s-jkprintf( env, s, OK:%s:%s:%d, cName, attName, res );
  +s-jkprintf( env, s, OK|%s|%s|%d, cName, attName, res );
   return JK_OK;
   }
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-02-28 Thread costin
costin  2003/02/28 13:55:49

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Few more fixes.
  
  Revision  ChangesPath
  1.36  +5 -5  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- jk_worker_status.c28 Feb 2003 20:36:52 -  1.35
  +++ jk_worker_status.c28 Feb 2003 21:55:49 -  1.36
  @@ -536,7 +536,7 @@
  jk_ws_service_t *s)
   {
   char *cName=s-query_string + 4;
  -char *attName=rindex(cName, ':' );
  +char *attName=rindex(cName, '|' );
   int i;
   
   if( attName == NULL ) {
  @@ -561,7 +561,7 @@
   return JK_OK;
   }
   }
  -s-jkprintf( env, s, ERROR: mbean not found %s\n, cName );
  +s-jkprintf( env, s, ERROR|mbean not found|%s\n, cName );
   return JK_OK;
   }
   
  @@ -570,7 +570,7 @@
  jk_ws_service_t *s)
   {
   char *cName=s-query_string + 4;
  -char *attVal=rindex(cName, ':' );
  +char *attVal=rindex(cName, '|' );
   char *attName;
   int i;
   
  @@ -581,7 +581,7 @@
   *attVal='\0';
   attVal++;
   
  -attName=rindex( cName, ':' );
  +attName=rindex( cName, '|' );
   if( attName == NULL ) {
   s-jkprintf( env, s, ERROR: attribute name not found\n, cName);
   return JK_OK;
  @@ -602,7 +602,7 @@
   return JK_OK;
   }
   }
  -s-jkprintf( env, s, ERROR: mbean not found %s\n, cName );
  +s-jkprintf( env, s, ERROR|not found|%s|%s|%s\n, cName, attName, attVal );
   return JK_OK;
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-02-27 Thread costin
costin  2003/02/27 21:02:24

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Few more improvements to allow easier parsing on the java side.
  
  jkstatus now supports 4 new operations:
   lst - will list all the beans ( well - C beans ) and the attributes ( get and set )
   dmp - will display all attributes for one or more beans ( using a prefix )
   get - returns exactly one attribute value
   set - set one attribute. Some attributes have side effect - so this is also used 
as invoke()
 ( like in SNMP world )
  
  Revision  ChangesPath
  1.34  +224 -107  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- jk_worker_status.c17 Feb 2003 02:09:58 -  1.33
  +++ jk_worker_status.c28 Feb 2003 05:02:24 -  1.34
  @@ -414,7 +414,196 @@
   }
   s-jkprintf( env,s , /table\n );
   }
  - 
  +
  +static int JK_METHOD jk2_worker_status_list(jk_env_t *env,
  +jk_worker_t *w, 
  +jk_ws_service_t *s)
  +{
  +char *cName=s-query_string + 4;
  +int i;
  +int qryLen=0;
  +int exact=1;
  +
  +/* Dump all attributes for the beans */
  +if( strcmp( cName, * )==0 ) {
  +*cName='\0';
  +qryLen=0;
  +} else {
  +qryLen=strlen( cName );
  +}
  +if( qryLen 0 ) {
  +if( cName[strlen(cName)] == '*' ) {
  +printf(Exact match off %s\n, cName );
  +cName[strlen(cName)]='\0';
  +exact=0;
  +}
  +}
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +char **getAtt=mbean-getAttributeInfo;
  +char **setAtt=mbean-setAttributeInfo;
  +
  +/* That's a bad name, created for backward compat. It should be 
deprecated.. */
  +if( strchr( name, ':' )==NULL )
  +continue;
  +
  +/* Prefix */
  +if( ! exact   qryLen != 0  strncmp( name, cName, qryLen )!= 0 )
  +continue;
  +
  +/* Exact */
  +if( exact  qryLen != 0  strcmp( name, cName )!= 0 )
  +continue;
  +
  +if( mbean==NULL ) 
  +continue;
  +s-jkprintf(env, s, N:%s:%s\n, mbean-type, name);
  +
  +while( getAtt != NULL  *getAtt != NULL  **getAtt!='\0' ) {
  +s-jkprintf(env, s, G:%s:%s\n, name, *getAtt);
  +getAtt++;
  +}
  +
  +while( setAtt != NULL  *setAtt != NULL  **setAtt!='\0' ) {
  +s-jkprintf(env, s, S:%s:%s\n, name, *setAtt);
  +setAtt++;
  +}
  +
  +}
  +return JK_OK;
  +}
  +
  +static int JK_METHOD jk2_worker_status_dmp(jk_env_t *env,
  +   jk_worker_t *w, 
  +   jk_ws_service_t *s)
  +{
  +char *cName=s-query_string + 4;
  +int i;
  +int qryLen=0;
  +int exact=1;
  +
  +/* Dump all attributes for the beans */
  +if( strcmp( cName, * )==0 ) {
  +*cName='\0';
  +qryLen=0;
  +} else {
  +qryLen=strlen( cName );
  +}
  +if( qryLen 0 ) {
  +if( cName[strlen(cName)] == '*' ) {
  +printf(Exact match off %s\n, cName );
  +cName[strlen(cName)]='\0';
  +exact=0;
  +}
  +}
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +char **getAtt=mbean-getAttributeInfo;
  +char **setAtt=mbean-setAttributeInfo;
  +
  +/* That's a bad name, created for backward compat. It should be 
deprecated.. */
  +if( strchr( name, ':' )==NULL )
  +continue;
  +
  +/* Prefix */
  +if( ! exact   qryLen != 0  strncmp( name, cName, qryLen )!= 0 )
  +continue;
  +
  +/* Exact */
  +if( exact  qryLen != 0  strcmp( name, cName )!= 0 )
  +continue;
  +
  +if( mbean==NULL ) 
  +continue;
  +s-jkprintf(env, s, P:%s:%s:%lp\n, mbean-type, name, mbean-object );
  +
  +while( getAtt != NULL  *getAtt != NULL  **getAtt!='\0' ) {
  +char *attName=*getAtt;
  +char *val=mbean-getAttribute(env, mbean, *getAtt );
  +s-jkprintf(env, s, G:%s:%s:%s\n, name, *getAtt, (val==NULL)? NULL: 
val);
  +  

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2003-02-16 Thread costin
costin  2003/02/16 18:09:59

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Added few simple requests to get/set/list mbeans in the web server.
  
  Needs to be proxied by a java mbean.
  
  Revision  ChangesPath
  1.33  +114 -1jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- jk_worker_status.c4 Feb 2003 07:39:58 -   1.32
  +++ jk_worker_status.c17 Feb 2003 02:09:58 -  1.33
  @@ -436,11 +436,124 @@
   /** Process the query string.
*/
   if( s-query_string == NULL ) {
  -s-query_string=get=*;
  +s-query_string=all;
   }
   
   if( strcmp( s-query_string, scoreboard.reset ) == 0 ) {
   jk2_worker_status_resetScoreboard(env, s, s-workerEnv );
  +}
  +
  +if( strncmp( s-query_string, get=, 4) == 0 ) {
  +/* Get a jmx-like attribute. Very inefficient ( only one attribute per req 
) - but it doesn't
  +   happen too often. We should do a POST */
  +char *cName=s-query_string + 4;
  +char *attName=rindex(cName, ':' );
  +int i;
  +
  +if( attName == NULL ) {
  +s-jkprintf( env, s, ERROR: no attribute found %s\n, cName);
  +return JK_OK;
  +}
  +*attName='\0';
  +attName++;
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +
  +if( mbean==NULL ) 
  +continue;
  +
  +if( strcmp( name, cName ) == 0 
  +mbean-getAttribute != NULL ) {
  +char *value=mbean-getAttribute( env, mbean, attName );
  +if( value!=NULL  (*value != '\0') ) {
  +s-jkprintf( env, s, %s, value );
  +} else {
  +s-jkprintf( env, s, NULL );
  +}
  +return JK_OK;
  +}
  +}
  +s-jkprintf( env, s, ERROR: attribute not found %s %s, cName, attName );
  +return JK_OK;
  +}
  +if( strncmp( s-query_string, qry=, 4) == 0 ) {
  +char *cName=s-query_string + 4;
  +int i,j;
  +
  +if( *cName== '\0' ) {
  +/* No string - list all components */
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +char **getAtt=mbean-getAttributeInfo;
  +char **setAtt=mbean-setAttributeInfo;
  +
  +if( mbean==NULL ) 
  +continue;
  +
  +s-jkprintf(env, s, %s %s\n, name, mbean-type );
  +} 
  +} else {
  +/* List all attributes of an object */
  +
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +char **getAtt=mbean-getAttributeInfo;
  +char **setAtt=mbean-setAttributeInfo;
  +
  +if( mbean==NULL || getAtt==NULL ) 
  +continue;
  + 
  +if( strcmp( name, cName ) == 0 ) {
  +while( getAtt != NULL  *getAtt != NULL  **getAtt!='\0' ) {
  +char *attName=*getAtt;
  +char *val=mbean-getAttribute(env, mbean, *getAtt );
  +s-jkprintf(env, s, %s %s %s\n, name, *getAtt, 
(val==NULL)? NULL: val);
  +getAtt++;
  +}
  +}
  +} 
  +}
  +return JK_OK;  
  +}
  +if( strncmp( s-query_string, set=, 4) == 0 ) {
  +char *cName=s-query_string + 4;
  +char *attVal=rindex(cName, ':' );
  +char *attName;
  +int i;
  +
  +if( attVal == NULL ) {
  +s-jkprintf( env, s, ERROR: no attribute value found %s\n, cName);
  +return JK_OK;
  +}
  +*attVal='\0';
  +attVal++;
  +
  +attName=rindex( cName, ':' );
  +if( attName == NULL ) {
  +s-jkprintf( env, s, ERROR: attribute name not found\n, cName);
  +return JK_OK;
  +}
  +*attName='\0';
  +attName++;
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +   

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c jk_shm.c jk_channel_apr_socket.c

2002-09-27 Thread mturk

mturk   2002/09/27 06:07:28

  Modified:jk/native2/common jk_worker_status.c jk_shm.c
jk_channel_apr_socket.c
  Log:
  Fix the compiler warnings about 64-32 bits.
  
  Revision  ChangesPath
  1.31  +2 -2  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- jk_worker_status.c8 Jul 2002 13:32:49 -   1.30
  +++ jk_worker_status.c27 Sep 2002 13:07:28 -  1.31
  @@ -114,9 +114,9 @@
   s-jkprintf(env, s, td%ld/td\n,
   (long)(stat-endTime - stat-startTime) );
   
  -totalTime += stat-totalTime;
  +totalTime += (long)stat-totalTime;
   if( maxTime  stat-maxTime )
  -maxTime=stat-maxTime;
  +maxTime = (long)stat-maxTime;
   }
   #endif
   s-jkprintf(env, s, /tr\n);
  
  
  
  1.30  +2 -2  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.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- jk_shm.c  24 Sep 2002 22:41:48 -  1.29
  +++ jk_shm.c  27 Sep 2002 13:07:28 -  1.30
  @@ -162,7 +162,7 @@
   
   if( finfo.size  shm-size ) {
   char bytes[1024];
  -apr_size_t toWrite=shm-size-finfo.size;
  +apr_size_t toWrite = (apr_size_t)(shm-size-finfo.size);
   apr_off_t off=0;
   
   memset( bytes, 0, 1024 );
  @@ -190,7 +190,7 @@
   /* Now mmap it
*/
   rc=apr_mmap_create( aprMmap,  file, (apr_off_t)0,
  -finfo.size, APR_MMAP_READ | APR_MMAP_WRITE,
  +(apr_size_t)finfo.size, APR_MMAP_READ | APR_MMAP_WRITE,
   globalShmPool );
   if( rc!=JK_OK ) {
   char error[256];
  
  
  
  1.25  +1 -1  
jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c
  
  Index: jk_channel_apr_socket.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- jk_channel_apr_socket.c   8 Jul 2002 13:42:03 -   1.24
  +++ jk_channel_apr_socket.c   27 Sep 2002 13:07:28 -  1.25
  @@ -218,7 +218,7 @@
   
   apr_socket_t *sock=endpoint-channelData;
   apr_status_t ret;
  -apr_int32_t timeout = socketInfo-timeout * APR_USEC_PER_SEC;
  +apr_int32_t timeout = (apr_int32_t)(socketInfo-timeout * APR_USEC_PER_SEC);
   char msg[128];
   
   if (apr_socket_create(sock, remote_sa-family, SOCK_STREAM,
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-07-08 Thread mturk

mturk   2002/07/08 06:32:49

  Modified:jk/native2/common jk_worker_status.c
  Log:
  no message
  
  Revision  ChangesPath
  1.30  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- jk_worker_status.c10 Jun 2002 21:55:06 -  1.29
  +++ jk_worker_status.c8 Jul 2002 13:32:49 -   1.30
  @@ -423,7 +423,7 @@
   int didUpdate;
   
   if( w-mbean-debug  0 ) 
  -env-l-jkLog(env, env-l, JK_LOG_INFO, status.service() %s %s\n,
  +env-l-jkLog(env, env-l, JK_LOG_DEBUG, status.service() %s %s\n,
 JK_CHECK_NULL(uri), JK_CHECK_NULL(s-query_string));
   
   /* Generate the header */
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-29 Thread costin

costin  02/05/29 16:18:59

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Added checks for NULL, printf() doesn't like null params.
  
  I love Java :-)
  
  Revision  ChangesPath
  1.26  +20 -16jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- jk_worker_status.c29 May 2002 17:51:23 -  1.25
  +++ jk_worker_status.c29 May 2002 23:18:59 -  1.26
  @@ -75,6 +75,8 @@
   #include jk_registry.h
   #include jk_endpoint.h
   
  +#define JK_CHECK_NULL( str ) ( ((str)==NULL) ? null : (str) )
  +
   static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s,
 jk_stat_t *stat,
 int *totalReqP, int *totalErrP,
  @@ -87,7 +89,7 @@
   
   s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%d/td\n,
   stat-workerId, stat-reqCnt, stat-errCnt );
  -s-jkprintf(env, s, td%s/td\n,  stat-active );
  +s-jkprintf(env, s, td%s/td\n,  JK_CHECK_NULL(stat-active) );
   
   totalReq+=stat-reqCnt;
   totalErr+=stat-errCnt;
  @@ -223,7 +225,7 @@
   /* This is an endpoint slot */
   void *data=slot-data;
   
  -s-jkprintf(env, s, trth colspan='4'%s/th\n, slot-name );
  +s-jkprintf(env, s, trth colspan='4'%s/th\n, 
JK_CHECK_NULL(slot-name) );
   s-jkprintf(env, s, thCnt=%d/ththsize=%d/th\n,
   slot-structCnt, slot-structSize );
   
  @@ -281,8 +283,8 @@
   continue;
   
   if( needHeader ) {
  -s-jkprintf(env, s, H3%s runtime info/H3\n, type);
  -s-jkprintf(env, s, p%s information, using getAttribute() /p\n, 
type);
  +s-jkprintf(env, s, H3%s runtime info/H3\n, JK_CHECK_NULL(type) );
  +s-jkprintf(env, s, p%s information, using getAttribute() /p\n, 
JK_CHECK_NULL(type) );
   
   s-jkprintf(env, s, table border\n);
   s-jkprintf(env, s, trthid/th\n);
  @@ -290,17 +292,18 @@
   for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
   char *pname=mbean-getAttributeInfo[j];
   
  -s-jkprintf(env, s, th%s/th, pname );
  +s-jkprintf(env, s, th%s/th, JK_CHECK_NULL(pname) );
   }
   needHeader = JK_FALSE;
   } 
   
  -s-jkprintf(env, s, /trtrtd%d/tdtd%s/td\n, mbean-id, 
mbean-localName);
  +s-jkprintf(env, s, /trtrtd%d/tdtd%s/td\n, mbean-id,
  +JK_CHECK_NULL(mbean-localName));
   for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
   char *pname=mbean-getAttributeInfo[j];
   
   s-jkprintf(env, s, td%s/td,
  -mbean-getAttribute( env, mbean, pname));
  +JK_CHECK_NULL(mbean-getAttribute( env, mbean, pname)));
   }
   }
   if( ! needHeader ) {
  @@ -337,7 +340,7 @@
   stat-maxTime=0;
   #endif
   env-l-jkLog(env, env-l, JK_LOG_INFO, reset() %s %p %p %p %d %d 
%d %d\n,
  -  slot-name, data, statArray, stat, i, j, 
stat-reqCnt, stat-errCnt );
  +  JK_CHECK_NULL(slot-name), data, statArray, stat, i, 
j, stat-reqCnt, stat-errCnt );
   }
   }
   }
  @@ -360,8 +363,8 @@
   for( i=0; i map-size( env, map ) ; i++ ) {
   char *name=map-nameAt( env, map, i );
   char *value=(char *)map-valueAt( env, map,i );
  -s-jkprintf(env, s, trtd%s/tdtd%s/td/tr, name,
  -value);
  +s-jkprintf(env, s, trtd%s/tdtd%s/td/tr, JK_CHECK_NULL(name),
  +JK_CHECK_NULL(value));
   }
   s-jkprintf(env, s, /table\n);
   }
  @@ -394,18 +397,19 @@
   propCount=mbean-settings-size( env, mbean-settings );
   
   if( propCount==0 ) {
  -s-jkprintf(env, s, trth%s/thtd/td/tr, mbean-name );
  +s-jkprintf(env, s, trth%s/thtd/td/tr, 
JK_CHECK_NULL(mbean-name) );
   } else {
   s-jkprintf(env, s, trth 
rowspan='%d'%s/thtd%s/tdtd%s/td/tr,
  -propCount, mbean-name,
  -mbean-settings-nameAt( env, mbean-settings, 0),
  -mbean-settings-valueAt( env, mbean-settings, 0));
  +propCount, JK_CHECK_NULL(mbean-name),
  +JK_CHECK_NULL(mbean-settings-nameAt( env, 
mbean-settings, 0)),
  +JK_CHECK_NULL(mbean-settings-valueAt( env, 
mbean-settings, 0)));
   for( j=1; j  propCount ; j++ ) {

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-19 Thread nacho

nacho   02/05/19 14:40:09

  Modified:jk/native2/common jk_worker_status.c
  Log:
  * Do not try to do print stats if stats object is null
  
  Revision  ChangesPath
  1.24  +4 -2  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- jk_worker_status.c16 May 2002 23:48:27 -  1.23
  +++ jk_worker_status.c19 May 2002 21:40:09 -  1.24
  @@ -180,8 +180,10 @@
   continue;
   
   ep=mbean-object;
  -jk2_worker_status_displayStat( env, s, ep-stats,
  -   totalReq, totalErr, totalTime, maxTime);
  +if( ep-stats != NULL ){
  +jk2_worker_status_displayStat( env, s, ep-stats,
  +   totalReq, totalErr, totalTime, 
maxTime);
  +}
   }
   s-jkprintf(env, s, /table\n);
   
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-16 Thread costin

costin  02/05/16 14:00:05

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Make worker_status work for both shm-based and single process
  servers.
  
  If the server is single process there's no need for shm, we can
  read the data from the process.
  
  If the server is multi-process we do need shm.
  
  Revision  ChangesPath
  1.22  +128 -58   jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- jk_worker_status.c15 May 2002 19:42:56 -  1.21
  +++ jk_worker_status.c16 May 2002 21:00:04 -  1.22
  @@ -75,6 +75,120 @@
   #include jk_registry.h
   #include jk_endpoint.h
   
  +static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s,
  +  jk_stat_t *stat,
  +  int *totalReqP, int *totalErrP,
  +  unsigned long *totalTimeP, unsigned long 
*maxTimeP )
  +{
  +int totalReq=*totalReqP;
  +int totalErr=*totalErrP;
  +unsigned long totalTime=*totalTimeP;
  +unsigned long maxTime=*maxTimeP;
  +
  +s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%d/td\n,
  +stat-workerId, stat-reqCnt, stat-errCnt );
  +s-jkprintf(env, s, td%s/td\n,  stat-active );
  +
  +totalReq+=stat-reqCnt;
  +totalErr+=stat-errCnt;
  +#ifdef HAS_APR
  +{
  +char ctimeBuf[APR_CTIME_LEN];
  +apr_ctime( ctimeBuf, stat-connectedTime );
  +s-jkprintf(env, s, td%s/td\n, ctimeBuf );
  +
  +s-jkprintf(env, s, td%ld/td\n, stat-totalTime );
  +s-jkprintf(env, s, td%ld/td\n, stat-maxTime );
  +
  +if( stat-reqCnt + stat-errCnt  0 ) 
  +s-jkprintf(env, s, td%ld/td\n,
  +(stat-totalTime / ( stat-reqCnt + stat-errCnt )) );
  +else
  +s-jkprintf(env, s, td-/td\n);
  +
  +s-jkprintf(env, s, td%lu/td\n, stat-startTime );
  +s-jkprintf(env, s, td%ld/td\n,
  +stat-jkStartTime - stat-startTime );
  +s-jkprintf(env, s, td%ld/td\n,
  +stat-endTime - stat-startTime );
  +
  +totalTime += stat-totalTime;
  +if( maxTime  stat-maxTime )
  +maxTime=stat-maxTime;
  +}
  +#endif
  +s-jkprintf(env, s, /tr\n);
  +
  +*maxTimeP=maxTime;
  +*totalTimeP=totalTime;
  +*totalReqP=totalReq;
  +*totalErrP=totalErr;
  +}
  +
  +static void jk2_worker_status_displayAggregate(jk_env_t *env, jk_ws_service_t *s,
  +   int totalReq, int totalErr,
  +   unsigned long totalTime, unsigned 
long maxTime )
  +{
  +s-jkprintf(env, s, Totals:\n);
  +
  +s-jkprintf(env, s, table 
bordertrthReq/ththErr/ththMax/ththAvg/th/tr);
  +
  +s-jkprintf(env, s, trtd%d/td\n, totalReq );
  +s-jkprintf(env, s, td%d/td\n, totalErr );
  +
  +s-jkprintf(env, s, td%ld/td\n, maxTime );
  +
  +if( totalErr + totalReq  0 ) {
  +unsigned long avg=totalTime / ( totalReq + totalErr );
  +s-jkprintf(env, s, td%ld/td\n, avg );
  +} else {
  +s-jkprintf(env, s, td-/td\n );
  +}
  +
  +s-jkprintf(env, s, /tr/table\n);
  +}
  +
  +static void jk2_worker_status_displayEndpointInfo(jk_env_t *env, jk_ws_service_t *s,
  +  jk_workerEnv_t *wenv)
  +{
  +int i;
  +int totalReq=0;
  +int totalErr=0;
  +unsigned long totalTime=0;
  +unsigned long maxTime=0;
  +
  +s-jkprintf(env, s, h2Endpoint info ( no shm )/h2\n);
  +
  +s-jkprintf(env, s, table border\n);
  +
  +s-jkprintf(env, s, trthWorker/ththReq/ththErr/th);
  +s-jkprintf(env, s,thLastReq/th\n );
  +
  +#ifdef HAS_APR
  +s-jkprintf(env, s, 
thConnectionTime/ththTotalTime/ththMaxTime/ththAvgTime/th );
  +s-jkprintf(env, s, thReqStart/thth+jk/thth+end/th );
  +#endif
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +jk_endpoint_t *ep;
  +int j;
  +
  +if( mbean==NULL ) 
  +continue;
  +
  +if( strncmp( endpoint, mbean-type, 8 ) != 0 )
  +continue;
  +
  +ep=mbean-object;
  +jk2_worker_status_displayStat( env, s, ep-stats,
  +   totalReq, totalErr, totalTime, maxTime);
  +}
  +s-jkprintf(env, s, /table\n);
  +
  +jk2_worker_status_displayAggregate( env, s, 
  + 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-15 Thread costin

costin  02/05/15 12:42:56

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Display the stat info and totals.
  
  Revision  ChangesPath
  1.21  +71 -12jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- jk_worker_status.c14 May 2002 20:42:14 -  1.20
  +++ jk_worker_status.c15 May 2002 19:42:56 -  1.21
  @@ -75,24 +75,27 @@
   #include jk_registry.h
   #include jk_endpoint.h
   
  +
   static void jk2_worker_status_displayScoreboardInfo(jk_env_t *env, jk_ws_service_t 
*s,
   jk_workerEnv_t *wenv)
   {
   jk_map_t *map=wenv-initData;
   int i;
   int j;
  +int totalReq=0;
  +int totalErr=0;
  +long totalTime=0;
  +long maxTime=0;
   int needHeader=JK_TRUE;
   
   if( wenv-shm==NULL || wenv-shm-head==NULL)
   return;
   
  -s-jkprintf(env, s, h2Scoreboard info/h2\n);
  -
  +s-jkprintf(env, s, h2Scoreboard info (ver=%d slots=%d)/h2\n, 
  +wenv-shm-head-lbVer, wenv-shm-head-lastSlot );
  +
   s-jkprintf(env, s, table border\n);
   
  -s-jkprintf(env, s, trtdVersion/tdtd%d/td/tr\n, 
wenv-shm-head-lbVer );
  -s-jkprintf(env, s, trtdSlots/tdtd%d/td/tr\n, 
wenv-shm-head-lastSlot );
  -
   for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
   jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
   
  @@ -102,21 +105,77 @@
   /* This is an endpoint slot */
   void *data=slot-data;
   
  -s-jkprintf(env, s, trth colspan='2'%s/th/tr\n, slot-name );
  -s-jkprintf(env, s, trtdStructCnt/tdtd%d/td\n, 
slot-structCnt );
  -s-jkprintf(env, s, trtdStructSize/tdtd%d/td\n, 
slot-structSize );
  -s-jkprintf(env, s, trthRequests/ththErrors/th\n );
  +s-jkprintf(env, s, trth colspan='4'%s/th\n, slot-name );
  +s-jkprintf(env, s, thCnt=%d/ththsize=%d/th\n,
  +slot-structCnt, slot-structSize );
  +
  +s-jkprintf(env, s, trthReq/ththErr/th);
  +s-jkprintf(env, s,thLastReq/th\n );
  +
  +#ifdef HAVE_APR
  +s-jkprintf(env, s, 
thConnectionTime/ththTotalTime/ththMaxTime/ththAvgTime/th );
  +s-jkprintf(env, s, thReqStart/thth+jk/thth+end/th );
  +#endif
   
   /* XXX Add info about number of slots */
   for( j=0; jslot-structCnt ; j++ ) {
   jk_stat_t *stat=(jk_stat_t *) ( data + j * sizeof( jk_stat_t ));
   
  -s-jkprintf(env, s, trtd%d/tdtd%d/td/tr\n, 
stat-reqCnt, stat-errCnt );
  +s-jkprintf(env, s, trtd%d/tdtd%d/td\n, stat-reqCnt, 
stat-errCnt );
  +s-jkprintf(env, s, td%s/td\n,  stat-active );
  +
  +totalReq+=stat-reqCnt;
  +totalErr+=stat-errCnt;
  +#ifdef HAVE_APR
  +{
  +char ctimeBuf[APR_CTIME_LEN];
  +apr_ctime( ctimeBuf, stat-connectedTime );
  +s-jkprintf(env, s, td%s/td\n, ctimeBuf );
  +
  +s-jkprintf(env, s, td%ld/td\n, stat-totalTime );
  +s-jkprintf(env, s, td%ld/td\n, stat-maxTime );
  +
  +if( stat-reqCnt + stat-errCnt  0 ) 
  +s-jkprintf(env, s, td%ld/td\n,
  +(stat-totalTime / ( stat-reqCnt + 
stat-errCnt )) );
  +else
  +s-jkprintf(env, s, td-/td\n);
  +
  +s-jkprintf(env, s, td%ld/td\n, stat-startTime );
  +s-jkprintf(env, s, td%ld/td\n,
  +stat-jkStartTime - stat-startTime );
  +s-jkprintf(env, s, td%ld/td\n,
  +stat-endTime - stat-startTime );
  +
  +totalTime += stat-totalTime;
  +if( maxTime  stat-maxTime )
  +maxTime=stat-maxTime;
  +}
  +#endif
  +s-jkprintf(env, s, /tr\n);
   }
   
   }
   }
   s-jkprintf(env, s, /table\n);
  +
  +s-jkprintf(env, s, Totals:\n);
  +
  +s-jkprintf(env, s, table 
bordertrthReq/ththErr/ththMax/ththAvg/th/tr);
  +
  +s-jkprintf(env, s, trtd%d/td\n, totalReq );
  +s-jkprintf(env, s, td%d/td\n, totalErr );
  +
  +s-jkprintf(env, s, td%ld/td\n, maxTime );
  +
  +if( totalErr + totalReq  0 ) {
  +long avg=totalTime / ( totalReq + totalErr );
  +s-jkprintf(env, s, td%ld/td\n, avg );
  +} else {
  +s-jkprintf(env, s, td-/td\n );
  +

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-14 Thread costin

costin  02/05/14 10:25:24

  Modified:jk/native2/common jk_worker_status.c
  Log:
  - fix the display of object properties ( html )
  
  - the status page will also check for config updates.
  
  It is very easy to separate the 2, and to add more 'control' functionality,
  but for now that should be enough.
  
  Revision  ChangesPath
  1.19  +19 -4 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- jk_worker_status.c9 May 2002 21:09:41 -   1.18
  +++ jk_worker_status.c14 May 2002 17:25:24 -  1.19
  @@ -182,8 +182,11 @@
   if( propCount==0 ) {
   s-jkprintf(env, s, trth%s/thtd/td/tr, mbean-name );
   } else {
  -s-jkprintf(env, s, trth rowspan='%d'%s/th/tr, propCount, 
mbean-name );
  -for( j=0; j  propCount ; j++ ) {
  +s-jkprintf(env, s, trth 
rowspan='%d'%s/thtd%s/tdtd%s/td/tr,
  +propCount, mbean-name,
  +mbean-settings-nameAt( env, mbean-settings, 0),
  +mbean-settings-valueAt( env, mbean-settings, 0));
  +for( j=1; j  propCount ; j++ ) {
   char *pname=mbean-settings-nameAt( env, mbean-settings, j);
   /* Don't save redundant information */
   if( strcmp( pname, name ) != 0 ) {
  @@ -202,6 +205,8 @@
   {
   char *uri=s-req_uri;
   jk_map_t *queryMap;
  +int status;
  +int didUpdate;
   
   if( w-mbean-debug  0 ) 
   env-l-jkLog(env, env-l, JK_LOG_INFO, status.service() %s %s\n,
  @@ -219,6 +224,18 @@
   if( s-query_string == NULL ) {
   s-query_string=get=*;
   }
  +
  +w-workerEnv-config-update( env, w-workerEnv-config, didUpdate );
  +if( didUpdate ) {
  +jk_shm_t *shm=w-workerEnv-shm;
  +
  +/* Update the scoreboard's version - all other
  +   jk2 processes will see this and update
  +*/
  +if( shm!=NULL  shm-head!=NULL )
  +shm-head-lbVer++;
  +}
  +
   
   /* Body */
   jk2_worker_status_displayRuntimeType(env, s, s-workerEnv, ajp13 );
  @@ -245,8 +262,6 @@
 status_worker.factory() OutOfMemoryException\n);
   return JK_ERR;
   }
  -
  -_this-pool   = pool;
   
   _this-service= jk2_worker_status_service;
   
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-14 Thread costin

costin  02/05/14 13:42:14

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Starting to add support for displaying info from shm.
  
  This brakes the encapsulation and is not extensible, but it's a start :-)
  
  Revision  ChangesPath
  1.20  +47 -0 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- jk_worker_status.c14 May 2002 17:25:24 -  1.19
  +++ jk_worker_status.c14 May 2002 20:42:14 -  1.20
  @@ -73,6 +73,51 @@
   #include jk_env.h
   #include jk_requtil.h
   #include jk_registry.h
  +#include jk_endpoint.h
  +
  +static void jk2_worker_status_displayScoreboardInfo(jk_env_t *env, jk_ws_service_t 
*s,
  +jk_workerEnv_t *wenv)
  +{
  +jk_map_t *map=wenv-initData;
  +int i;
  +int j;
  +int needHeader=JK_TRUE;
  +
  +if( wenv-shm==NULL || wenv-shm-head==NULL)
  +return;
  +
  +s-jkprintf(env, s, h2Scoreboard info/h2\n);
  +
  +s-jkprintf(env, s, table border\n);
  +
  +s-jkprintf(env, s, trtdVersion/tdtd%d/td/tr\n, 
wenv-shm-head-lbVer );
  +s-jkprintf(env, s, trtdSlots/tdtd%d/td/tr\n, 
wenv-shm-head-lastSlot );
  +
  +for( i=1; i  wenv-shm-head-lastSlot; i++ ) {
  +jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i );
  +
  +if( slot==NULL ) continue;
  +
  +if( strncmp( slot-name, epStat, 6 ) == 0 ) {
  +/* This is an endpoint slot */
  +void *data=slot-data;
  +
  +s-jkprintf(env, s, trth colspan='2'%s/th/tr\n, slot-name );
  +s-jkprintf(env, s, trtdStructCnt/tdtd%d/td\n, 
slot-structCnt );
  +s-jkprintf(env, s, trtdStructSize/tdtd%d/td\n, 
slot-structSize );
  +s-jkprintf(env, s, trthRequests/ththErrors/th\n );
  +
  +/* XXX Add info about number of slots */
  +for( j=0; jslot-structCnt ; j++ ) {
  +jk_stat_t *stat=(jk_stat_t *) ( data + j * sizeof( jk_stat_t ));
  +
  +s-jkprintf(env, s, trtd%d/tdtd%d/td/tr\n, 
stat-reqCnt, stat-errCnt );
  +}
  +
  +}
  +}
  +s-jkprintf(env, s, /table\n);
  +}
   
   /** Use 'introspection' data to find what getters an type support,
*  and display the information in a table
  @@ -236,11 +281,13 @@
   shm-head-lbVer++;
   }
   
  +s-jkprintf(env, s, Status information for child %d, s-workerEnv-childId  );
   
   /* Body */
   jk2_worker_status_displayRuntimeType(env, s, s-workerEnv, ajp13 );
   jk2_worker_status_displayRuntimeType(env, s, s-workerEnv, endpoint );
   jk2_worker_status_displayRuntimeType(env, s, s-workerEnv, uri );
  +jk2_worker_status_displayScoreboardInfo(env, s, s-workerEnv );
   jk2_worker_status_displayConfigProperties(env, s, s-workerEnv );
   jk2_worker_status_displayActiveProperties(env, s, s-workerEnv );
   
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-09 Thread costin

costin  02/05/09 14:09:41

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Much cleaner and easier to read report, remove duplicated code and
  generalize a bit.
  
  We'll display a table for each object type ( that we care about ):
  - ajp workers
  - uris
  - endpoints
  
  For each object we display all we can get via 'getters' ( if you want more
  info, just add a new attribute for getAttribute ).
  
  The workers are the important piece - the state and counters.
  
  Note that at this moment we display only the info in the apache instance
  that is active. It'll change to use the shmem scoreboard.
  
  Revision  ChangesPath
  1.18  +37 -114   jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- jk_worker_status.c3 May 2002 18:10:58 -   1.17
  +++ jk_worker_status.c9 May 2002 21:09:41 -   1.18
  @@ -74,38 +74,16 @@
   #include jk_requtil.h
   #include jk_registry.h
   
  -static void jk2_worker_status_displayActiveProperties(jk_env_t *env, 
jk_ws_service_t *s,
  -  jk_workerEnv_t *wenv)
  -{
  -jk_map_t *map=wenv-initData;
  -int i;
  -
  -s-jkprintf(env, s, H3Processed config/H3\n);
  -s-jkprintf(env, s, pAll settings ( automatic and configured ), after 
substitution/p\n);
  -
  -s-jkprintf(env, s, table border\n);
  -s-jkprintf(env, s, trthName/ththValue/td/tr\n);
  -for( i=0; i map-size( env, map ) ; i++ ) {
  -char *name=map-nameAt( env, map, i );
  -char *value=(char *)map-valueAt( env, map,i );
  -s-jkprintf(env, s, trtd%s/tdtd%s/td/tr, name,
  -value);
  -}
  -s-jkprintf(env, s, /table\n);
  -
  -}
  -
  -static void jk2_worker_status_displayRuntimeWorkers(jk_env_t *env, jk_ws_service_t 
*s,
  -   jk_workerEnv_t *wenv)
  +/** Use 'introspection' data to find what getters an type support,
  + *  and display the information in a table
  + */
  +static void jk2_worker_status_displayRuntimeType(jk_env_t *env, jk_ws_service_t *s,
  + jk_workerEnv_t *wenv, char *type)
   {
   jk_map_t *map=wenv-initData;
   int i;
   int needHeader=JK_TRUE;
   
  -s-jkprintf(env, s, H3Worker runtime info/H3\n);
  -s-jkprintf(env, s, pWorker information, using getAttribute() /p\n);
  -
  -s-jkprintf(env, s, table border\n);
   for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  @@ -122,10 +100,14 @@
   if( mbean-getAttribute == NULL )
   continue;
   
  -if( strncmp( ajp13, mbean-type, 5 ) != 0 )
  +if( strncmp( type, mbean-type, 5 ) != 0 )
   continue;
   
   if( needHeader ) {
  +s-jkprintf(env, s, H3%s runtime info/H3\n, type);
  +s-jkprintf(env, s, p%s information, using getAttribute() /p\n, 
type);
  +
  +s-jkprintf(env, s, table border\n);
   s-jkprintf(env, s, trthname/th\n);
   for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
   char *pname=mbean-getAttributeInfo[j];
  @@ -143,95 +125,35 @@
   mbean-getAttribute( env, mbean, pname));
   }
   }
  -s-jkprintf( env,s , /table\n );
  -}
  -
  -static void jk2_worker_status_displayRuntimeUris(jk_env_t *env, jk_ws_service_t *s,
  -   jk_workerEnv_t *wenv)
  -{
  -jk_map_t *map=wenv-initData;
  -int i;
  -
  -s-jkprintf(env, s, H3URI info/H3\n);
  -s-jkprintf(env, s, pInformation about uri mappings. 
  -Will include some statistics ( for the active process )/p\n);
  -s-jkprintf(env, s, table border\n);
  -s-jkprintf(env, s, trthName/ththValue/td/tr\n);
  -for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  -char *name=env-_objects-nameAt( env, env-_objects, i );
  -jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  -int j;
  -int propCount;
  -
  -/* Don't display aliases */
  -if( strchr(name, ':')==NULL )
  -continue;
  -
  -if( mbean==NULL || mbean-getAttributeInfo==NULL ) 
  -continue;
  -
  -if( mbean-getAttribute == NULL )
  -continue;
  -
  -if( strncmp( uri, mbean-type, 3 ) != 0 )
  -continue;
  -
  -for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
  -char 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-05-03 Thread costin

costin  02/05/03 10:37:35

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Better organization, make the worker status the first on the page.
  
  See also the changes in jk_worker_ajp, now informations about lb status
  and number of requests/err will be easy accessible.
  
  Revision  ChangesPath
  1.16  +101 -1jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- jk_worker_status.c2 May 2002 03:13:05 -   1.15
  +++ jk_worker_status.c3 May 2002 17:37:35 -   1.16
  @@ -95,6 +95,99 @@
   
   }
   
  +static void jk2_worker_status_displayRuntimeWorkers(jk_env_t *env, jk_ws_service_t 
*s,
  +   jk_workerEnv_t *wenv)
  +{
  +jk_map_t *map=wenv-initData;
  +int i;
  +int needHeader=JK_TRUE;
  +
  +s-jkprintf(env, s, H3Worker runtime info/H3\n);
  +s-jkprintf(env, s, pWorker information, using getAttribute() /p\n);
  +
  +s-jkprintf(env, s, table border\n);
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +int j;
  +int propCount;
  +
  +/* Don't display aliases */
  +if( strchr(name, ':')==NULL )
  +continue;
  +
  +if( mbean==NULL || mbean-getAttributeInfo==NULL ) 
  +continue;
  +
  +if( mbean-getAttribute == NULL )
  +continue;
  +
  +if( strncmp( ajp13, mbean-type, 5 ) != 0 )
  +continue;
  +
  +if( needHeader ) {
  +s-jkprintf(env, s, trthname/th\n);
  +for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
  +char *pname=mbean-getAttributeInfo[j];
  +
  +s-jkprintf(env, s, th%s/th, pname );
  +}
  +needHeader = JK_FALSE;
  +} 
  +
  +s-jkprintf(env, s, /trtrtd%s/td\n, mbean-localName);
  +for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
  +char *pname=mbean-getAttributeInfo[j];
  +
  +s-jkprintf(env, s, td%s/td,
  +mbean-getAttribute( env, mbean, pname));
  +}
  +}
  +s-jkprintf( env,s , /table\n );
  +}
  +
  +static void jk2_worker_status_displayRuntimeUris(jk_env_t *env, jk_ws_service_t *s,
  +   jk_workerEnv_t *wenv)
  +{
  +jk_map_t *map=wenv-initData;
  +int i;
  +
  +s-jkprintf(env, s, H3URI info/H3\n);
  +s-jkprintf(env, s, pInformation about uri mappings. 
  +Will include some statistics ( for the active process )/p\n);
  +s-jkprintf(env, s, table border\n);
  +s-jkprintf(env, s, trthName/ththValue/td/tr\n);
  +for( i=0; i  env-_objects-size( env, env-_objects ); i++ ) {
  +char *name=env-_objects-nameAt( env, env-_objects, i );
  +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
  +int j;
  +int propCount;
  +
  +/* Don't display aliases */
  +if( strchr(name, ':')==NULL )
  +continue;
  +
  +if( mbean==NULL || mbean-getAttributeInfo==NULL ) 
  +continue;
  +
  +if( mbean-getAttribute == NULL )
  +continue;
  +
  +if( strncmp( uri, mbean-type, 3 ) != 0 )
  +continue;
  +
  +for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
  +char *pname=mbean-getAttributeInfo[j];
  +
  +
  +s-jkprintf(env, s, trtd%s/tdtd%s/tdtd%s/td/tr,
  +mbean-localName, pname,
  +mbean-getAttribute( env, mbean, pname));
  +}
  +}
  +s-jkprintf( env,s , /table\n );
  +}
  +
   static void jk2_worker_status_displayRuntimeProperties(jk_env_t *env, 
jk_ws_service_t *s,
  jk_workerEnv_t *wenv)
   {
  @@ -122,6 +215,11 @@
   if( mbean-getAttribute == NULL )
   continue;
   
  +if( strncmp( uri, mbean-type, 3 ) == 0  ||
  +strncmp( ajp13, mbean-type, 5 ) == 0 ) {
  +continue;
  +}
  +
   for( j=0; mbean-getAttributeInfo[j] != NULL; j++ ) {
   char *pname=mbean-getAttributeInfo[j];
   
  @@ -200,9 +298,11 @@
   }
   
   /* Body */
  +jk2_worker_status_displayRuntimeWorkers(env, s, s-workerEnv );
  +jk2_worker_status_displayRuntimeUris(env, s, s-workerEnv );
   

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-03-25 Thread costin

costin  02/03/25 19:04:10

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Cleaner and more accurate display of configured and processed properties.
  
  Revision  ChangesPath
  1.12  +18 -10jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- jk_worker_status.c24 Mar 2002 19:24:26 -  1.11
  +++ jk_worker_status.c26 Mar 2002 03:04:10 -  1.12
  @@ -163,22 +163,30 @@
   char *name=env-_objects-nameAt( env, env-_objects, i );
   jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i );
   int j;
  +int propCount;
  +
  +/* Don't display aliases */
  +if( strchr(name, ':')==NULL )
  +continue;
   
   if( mbean==NULL || mbean-settings==NULL ) 
   continue;
   
  -s-jkprintf(env, s, trtd%s/td, mbean-name );
  -
  -for( j=0; j  mbean-settings-size( env, mbean-settings ); j++ ) {
  -char *pname=mbean-settings-nameAt( env, mbean-settings, j);
  -/* Don't save redundant information */
  -if( strcmp( pname, name ) != NULL ) {
  -s-jkprintf( env, s, td%s/tdtd%s/td\n,
  - pname,
  - mbean-settings-valueAt( env, mbean-settings, j));
  +propCount=mbean-settings-size( env, mbean-settings );
  +
  +if( propCount==0 ) {
  +s-jkprintf(env, s, trtd%s/td/tr, mbean-name );
  +} else {
  +for( j=0; j  propCount ; j++ ) {
  +char *pname=mbean-settings-nameAt( env, mbean-settings, j);
  +/* Don't save redundant information */
  +if( strcmp( pname, name ) != 0 ) {
  +s-jkprintf(env, s, 
trtd%s/tdtd%s/tdtd%s/td/tr,
  +name, pname,
  +mbean-settings-valueAt( env, mbean-settings, j));
  +}
   }
   }
  -s-jkprintf( env,s , /tr\n );
   }
   s-jkprintf( env,s , /table\n );
   
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-02-28 Thread costin

costin  02/02/28 15:07:22

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Display all mappings, few other updates.
  
  Revision  ChangesPath
  1.6   +20 -15jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- jk_worker_status.c21 Feb 2002 11:13:59 -  1.5
  +++ jk_worker_status.c28 Feb 2002 23:07:22 -  1.6
  @@ -95,7 +95,7 @@
   
   va_start(vargs,fmt);
   buf-pos=0; /* Temp - we don't buffer */
  -ret=apr_vsnprintf(buf-buf + buf-pos, buf-size - buf-pos, fmt, vargs);
  +ret=vsnprintf(buf-buf + buf-pos, buf-size - buf-pos, fmt, vargs);
   va_end(vargs);
   
   buf-s-write( env, buf-s, buf-buf, strlen(buf-buf) );
  @@ -153,7 +153,7 @@
   static void jk2_worker_status_displayWorkerEnv(jk_env_t *env, jk_buff_t *buf,
  jk_workerEnv_t *wenv)
   {
  -jk_map_t *map=wenv-init_data;
  +jk_map_t *map=wenv-initData;
   int i;
   
   jk2_printf(env, buf, H2Worker Env Info/H2\n);
  @@ -180,30 +180,35 @@
   
   }
   
  -static void jk2_worker_status_displayWebapps(jk_env_t *env, jk_buff_t *buf,
  +static void jk2_worker_status_displayMappings(jk_env_t *env, jk_buff_t *buf,
jk_workerEnv_t *wenv)
   {
  -jk_map_t *map=wenv-webapps;
  +jk_uriEnv_t **maps=wenv-uriMap-maps;
  +int size=wenv-uriMap-size;
   int i;
   
  -jk2_printf(env, buf, H2Webapps/H2\n);
  +jk2_printf(env, buf, H2Mappings/H2\n);
   
  -if( map==NULL ) {
  +if( maps==NULL ) {
   jk2_printf(env, buf, None\n);
   return;
   }
   
  -jk2_printf(env, buf, table border\n);
  +jk2_printf(env, buf, table class='mappings' border\n);
   
  -jk2_printf(env, buf, trthName/ththDocBase/th
  -  thMappings/th/tr);
  +jk2_printf(env, buf, trthHost/ththUri/th
  +  thWorker/th/tr);
   
  -for( i=0; i map-size( env, map ) ; i++ ) {
  -char *name=map-nameAt( env, map, i );
  -jk_webapp_t *webapp=(jk_webapp_t *)map-valueAt( env, map,i );
  +for( i=0; i size ; i++ ) {
  +jk_uriEnv_t *uriEnv=maps[i];
   
  -jk2_printf(env, buf, tr id='webapp.%s', name );
  -jk2_printf(env, buf, td class='name'%s/td, name );
  +jk2_printf(env, buf, tr );
  +jk2_printf(env, buf, td class='host'%s/td,
  +   (uriEnv-virtual==NULL) ? * : uriEnv-virtual );
  +jk2_printf(env, buf, td class='uri'%s/td,
  +   uriEnv-uri);
  +jk2_printf(env, buf, td class='worker'%s/td,
  +   (uriEnv-workerName==NULL) ? DEFAULT : uriEnv-workerName );
   jk2_printf(env, buf, /tr );
   }
   
  @@ -260,7 +265,7 @@
   /* Body */
   jk2_worker_status_displayWorkerEnv(env, buff, s-workerEnv );
   jk2_worker_status_displayWorkers(env, buff, s-workerEnv );
  -jk2_worker_status_displayWebapps(env, buff, s-workerEnv );
  +jk2_worker_status_displayMappings(env, buff, s-workerEnv );
   jk2_worker_status_displayConnections(env, buff, s-workerEnv );
   
   s-afterRequest( env, s);
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-02-06 Thread costin

costin  02/02/06 11:16:56

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Small update, remove debug statement.
  
  Revision  ChangesPath
  1.4   +24 -13jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_worker_status.c26 Jan 2002 06:58:50 -  1.3
  +++ jk_worker_status.c6 Feb 2002 19:16:56 -   1.4
  @@ -99,7 +99,7 @@
   va_end(vargs);
   
   buf-s-write( env, buf-s, buf-buf, strlen(buf-buf) );
  -fprintf(stderr, Writing %d %s \n, ret, buf-buf);
  +/*fprintf(stderr, Writing %d %s \n, ret, buf-buf); */
   }
   
   static void jk_worker_status_displayWorkers( jk_env_t *env, jk_buff_t *buf,
  @@ -107,25 +107,39 @@
   {
   jk_map_t *map=wenv-worker_map;
   int i;
  +int count=map-size( env, map );
   
  -jk_printf(env, buf, H2Workers/H2\n );
  +jk_printf(env, buf, H2Active workers/H2\n );
   jk_printf(env, buf, table border\n);
   
  -jk_printf(env, buf, trthName/ththRetries/th
  -  thErr/ththRecovery/th/tr);
  +jk_printf(env, buf, trthName/ththType/th
  +  thChannel/ththRoute/th
  +  thError state/ththRecovery/th
  +  thEndpoint cache/th/tr);
   
  -for( i=0; i map-size( env, map ) ; i++ ) {
  +for( i=0; i count ; i++ ) {
   char *name=map-nameAt( env, map, i );
   jk_worker_t *worker=(jk_worker_t *)map-valueAt( env, map,i );
   
  -jk_printf(env, buf, tr id='worker.%s', name );
  -jk_printf(env, buf, td class='name'%s/td, name );
  -jk_printf(env, buf, td class='connect_retry'%d/td,
  -  worker-connect_retry_attempts );
  +jk_printf(env, buf, trtd%s/td, name );
  +jk_printf(env, buf, td%s/td, worker-type );
  +if( worker-channel != NULL ) {
  +jk_printf(env, buf, td%s/td,worker-channel-name );
  +} else {
  +jk_printf(env, buf, tdnbsp;/td );
  +}
  +if( worker-route != NULL ) {
  +jk_printf(env, buf, td%s/td,worker-route );
  +} else {
  +jk_printf(env, buf, tdnbsp;/td );
  +}
   jk_printf(env, buf, td class='in_error'%d/td,
 worker-in_error_state );
  -jk_printf(env, buf, td class='in_error'%d/td,
  +jk_printf(env, buf, td class='in_recovering'%d/td,
 worker-in_recovering );
  +jk_printf(env, buf, td class='epCount'%d/td,
  +  ( worker-endpointCache == NULL ? 0 :
  +worker-endpointCache-count ));
   
   /* Endpoint cache ? */
   
  @@ -145,9 +159,6 @@
   jk_printf(env, buf, H2Worker Env Info/H2\n);
   
   jk_printf(env, buf, table border\n);
  -jk_printf(env, buf, trthnum_workers/th
  -  td id='workersCount'%d/td/tr\n,
  -  wenv-num_of_workers);
   /* Could be modified dynamically */
   jk_printf(env, buf, trthLogLevel/th
 td id='logLevel'%d/td/tr\n,
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-01-25 Thread costin

costin  02/01/25 22:58:50

  Modified:jk/native2/common jk_worker_status.c
  Log:
  Removed all the endpoint stuff. This workers will display various info for debugging,
  but it needs the info :-)
  
  Revision  ChangesPath
  1.3   +12 -102   jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- jk_worker_status.c12 Jan 2002 05:20:17 -  1.2
  +++ jk_worker_status.c26 Jan 2002 06:58:50 -  1.3
  @@ -213,7 +213,7 @@
   
   }
   
  -static jk_buff_t *jk_worker_status_createBuffer(jk_env_t *env, jk_endpoint_t *e,
  +static jk_buff_t *jk_worker_status_createBuffer(jk_env_t *env, 
   jk_ws_service_t *s)
   {
   jk_buff_t *buff;
  @@ -229,13 +229,13 @@
   return buff;
   }
   
  -static int JK_METHOD service(jk_env_t *env, jk_endpoint_t *e, 
  - jk_ws_service_t *s,
  - int *is_recoverable_error)
  +static int JK_METHOD service(jk_env_t *env,
  + jk_worker_t *w, 
  + jk_ws_service_t *s)
   {
  -jk_buff_t *buff=jk_worker_status_createBuffer(env, e, s );
  +jk_buff_t *buff=jk_worker_status_createBuffer(env, s );
   
  -env-l-jkLog(env, env-l, JK_LOG_INFO, status.service() %p\n, e);
  +env-l-jkLog(env, env-l, JK_LOG_INFO, status.service()\n);
   
   /* Generate the header */
   s-status=200;
  @@ -255,98 +255,6 @@
   s-afterRequest( env, s);
   fprintf(stderr, After req %s \n, buff);
   return JK_TRUE;
  -
  -}
  -
  -static int JK_METHOD done(jk_env_t *env, jk_endpoint_t *e)
  -{
  -return JK_TRUE;
  -}
  -
  -static int JK_METHOD validate(jk_env_t *env, jk_worker_t *_this,
  -  jk_map_t *props, jk_workerEnv_t *we)
  -{
  -return JK_TRUE;
  -}
  -
  -static int JK_METHOD init(jk_env_t *env, jk_worker_t *_this,
  -  jk_map_t *props, jk_workerEnv_t *we)
  -{
  -return JK_TRUE;
  -}
  -
  -static int JK_METHOD get_endpoint(jk_env_t *env, jk_worker_t *_this,
  -  jk_endpoint_t **pend)
  -{
  -jk_endpoint_t *e;
  -jk_pool_t *endpointPool;
  -
  -if (_this-endpointCache != NULL ) {
  -e=_this-endpointCache-get( env, _this-endpointCache );
  -if (e!=NULL) {
  -env-l-jkLog(env, env-l, JK_LOG_INFO,
  - status.getEndpoint(): Reusing endpoint\n);
  -*pend = e;
  -return JK_TRUE;
  -}
  -}
  -
  -endpointPool=_this-pool-create( env, _this-pool, HUGE_POOL_SIZE);
  -
  -e = (jk_endpoint_t *)endpointPool-calloc(env, endpointPool,
  -  sizeof(jk_endpoint_t));
  -if(e==NULL) {
  -env-l-jkLog(env, env-l, JK_LOG_ERROR, 
  -  status_worker.getEndpoint() OutOfMemoryException\n);
  -return JK_FALSE;
  -}
  -
  -e-pool = endpointPool;
  -e-cPool=endpointPool-create( env,endpointPool, HUGE_POOL_SIZE );
  -e-worker = _this;
  -e-service = service;
  -e-done = done;
  -e-channelData = NULL;
  -*pend = e;
  -
  -env-l-jkLog(env, env-l, JK_LOG_INFO, status_worker.getEndpoint() %p\n, e);
  -return JK_TRUE;
  -}
  -
  -
  -static int JK_METHOD destroy(jk_env_t *env, jk_worker_t *w)
  -{
  -int i = 0;
  -
  -if(w==NULL ) {
  -env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  status_worker.destroy() NullPointerException\n);
  -return JK_FALSE;
  -}
  -
  -if( w-endpointCache != NULL ) {
  -for( i=0; i w-endpointCache-ep_cache_sz; i++ ) {
  -jk_endpoint_t *e;
  -
  -e= w-endpointCache-get( env, w-endpointCache );
  -if( e==NULL ) {
  -// we finished all endpoints in the cache
  -break;
  -}
  -
  -/* Nothing else to clean up ? */
  -e-cPool-close( env, e-cPool );
  -e-pool-close( env, e-pool );
  -}
  -w-endpointCache-destroy( env, w-endpointCache );
  -
  -env-l-jkLog(env, env-l, JK_LOG_DEBUG,
  -  status.destroy() closed %d cached endpoints\n,i);
  -}
  -
  -w-pool-close(env, w-pool);
  -
  -return JK_TRUE;
   }
   
   
  @@ -376,11 +284,13 @@
   _this-lb_workers = NULL;
   _this-num_of_workers = 0;
   _this-worker_private = NULL;
  -_this-validate   = validate;
  -_this-init   = init;
  -_this-get_endpoint   = get_endpoint;
  -_this-destroy= destroy;
   
  +_this-validate   = NULL;
  +

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c

2002-01-11 Thread costin

costin  02/01/11 21:20:18

  Modified:jk/native2/common jk_worker_status.c
  Log:
  More code to display status information on the jni worker. Very good for
  debugging ( especially lb ).
  
  Revision  ChangesPath
  1.2   +162 -30   jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_worker_status.c31 Dec 2001 20:37:01 -  1.1
  +++ jk_worker_status.c12 Jan 2002 05:20:17 -  1.2
  @@ -76,21 +76,167 @@
   
   #define JK_BUF_SIZE 4096
   
  -typedef struct  {
  +typedef struct jk_buff {
   int pos;
   int size;
   
   char *buf;
  +
  +jk_ws_service_t *s;
  +
  +void (*jkprintf)( jk_env_t *env, struct jk_buff *buf, char *frm,... );
  +void (*flush)( jk_env_t *env );
   } jk_buff_t;
   
  +static void jk_printf( jk_env_t *env, jk_buff_t *buf, char *fmt,... )
  +{
  +va_list vargs;
  +int ret=0;
  +
  +va_start(vargs,fmt);
  +buf-pos=0; /* Temp - we don't buffer */
  +ret=apr_vsnprintf(buf-buf + buf-pos, buf-size - buf-pos, fmt, vargs);
  +va_end(vargs);
  +
  +buf-s-write( env, buf-s, buf-buf, strlen(buf-buf) );
  +fprintf(stderr, Writing %d %s \n, ret, buf-buf);
  +}
  +
  +static void jk_worker_status_displayWorkers( jk_env_t *env, jk_buff_t *buf,
  + jk_workerEnv_t *wenv )
  +{
  +jk_map_t *map=wenv-worker_map;
  +int i;
  +
  +jk_printf(env, buf, H2Workers/H2\n );
  +jk_printf(env, buf, table border\n);
  +
  +jk_printf(env, buf, trthName/ththRetries/th
  +  thErr/ththRecovery/th/tr);
  +
  +for( i=0; i map-size( env, map ) ; i++ ) {
  +char *name=map-nameAt( env, map, i );
  +jk_worker_t *worker=(jk_worker_t *)map-valueAt( env, map,i );
  +
  +jk_printf(env, buf, tr id='worker.%s', name );
  +jk_printf(env, buf, td class='name'%s/td, name );
  +jk_printf(env, buf, td class='connect_retry'%d/td,
  +  worker-connect_retry_attempts );
  +jk_printf(env, buf, td class='in_error'%d/td,
  +  worker-in_error_state );
  +jk_printf(env, buf, td class='in_error'%d/td,
  +  worker-in_recovering );
  +
  +/* Endpoint cache ? */
  +
  +/* special case for status worker */
  +
  +jk_printf(env, buf, /tr );
  +}
  +jk_printf(env, buf, /table\n);
  +}
  +
  +static void jk_worker_status_displayWorkerEnv( jk_env_t *env, jk_buff_t *buf,
  +   jk_workerEnv_t *wenv )
  +{
  +jk_map_t *map=wenv-init_data;
  +int i;
  +
  +jk_printf(env, buf, H2Worker Env Info/H2\n);
  +
  +jk_printf(env, buf, table border\n);
  +jk_printf(env, buf, trthnum_workers/th
  +  td id='workersCount'%d/td/tr\n,
  +  wenv-num_of_workers);
  +/* Could be modified dynamically */
  +jk_printf(env, buf, trthLogLevel/th
  +  td id='logLevel'%d/td/tr\n,
  +  wenv-log_level);
  +
  +jk_printf(env, buf, /table\n);
  +
  +jk_printf(env, buf, H3Properties/H3\n);
  +jk_printf(env, buf, table border\n);
  +jk_printf(env, buf, trthName/ththValue/td/tr\n);
  +for( i=0; i map-size( env, map ) ; i++ ) {
  +char *name=map-nameAt( env, map, i );
  +char *value=(char *)map-valueAt( env, map,i );
  +
  +jk_printf(env, buf, trtd%s/tdtd%s/td/tr, name,
  +  value);
  +}
  +jk_printf(env, buf, /table\n);
  +
  +}
  +
  +static void jk_worker_status_displayWebapps( jk_env_t *env, jk_buff_t *buf,
  + jk_workerEnv_t *wenv )
  +{
  +jk_map_t *map=wenv-webapps;
  +int i;
  +
  +jk_printf(env, buf, H2Webapps/H2\n);
  +
  +if( map==NULL ) {
  +jk_printf(env, buf, None\n);
  +return;
  +}
  +
  +jk_printf(env, buf, table border\n);
  +
  +jk_printf(env, buf, trthName/ththDocBase/th
  +  thMappings/th/tr);
  +
  +for( i=0; i map-size( env, map ) ; i++ ) {
  +char *name=map-nameAt( env, map, i );
  +jk_webapp_t *webapp=(jk_webapp_t *)map-valueAt( env, map,i );
  +
  +jk_printf(env, buf, tr id='webapp.%s', name );
  +jk_printf(env, buf, td class='name'%s/td, name );
  +jk_printf(env, buf, /tr );
  +}
  +
  +
  +jk_printf(env, buf, /table\n);
  +}
  +
  +/* Channels and connections, including 'pooled' ones
  + */
  +static void jk_worker_status_displayConnections( jk_env_t *env, jk_buff_t *buf,
  + jk_workerEnv_t *wenv )
  +{
  +jk_printf(env, buf, H2Active 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c jk_registry.c jk_registry.h

2001-12-31 Thread costin

costin  01/12/31 12:37:01

  Modified:jk/native2/common jk_registry.c jk_registry.h
  Added:   jk/native2/common jk_worker_status.c
  Log:
  Last thing for this year, initial ( skeleton ) for the status worker,
  to display informations like mod_status. Usefull for debugging and
  monitoring.
  
  Revision  ChangesPath
  1.7   +2 -1  jakarta-tomcat-connectors/jk/native2/common/jk_registry.c
  
  Index: jk_registry.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- jk_registry.c 13 Dec 2001 18:48:13 -  1.6
  +++ jk_registry.c 31 Dec 2001 20:37:01 -  1.7
  @@ -63,7 +63,7 @@
   #include jk_registry.h
   /***
* Description: Worker list*
  - * Version: $Revision: 1.6 $   *
  + * Version: $Revision: 1.7 $   *
***/
   
   /** Static declarations for all 'hardcoded' modules. This is a hack, 
  @@ -111,6 +111,7 @@
 env-registerFactory( env, worker, ajp13, jk_worker_ajp14_factory );
 env-registerFactory( env, worker, ajp14, jk_worker_ajp14_factory );
 env-registerFactory( env, worker, lb,jk_worker_lb_factory );
  +  env-registerFactory( env, worker, status, jk_worker_status_factory );
 env-registerFactory( env, channel, socket, jk_channel_socket_factory );
 env-registerFactory( env, handler, response, jk_handler_response_factory );
 env-registerFactory( env, handler, logon,   jk_handler_logon_factory );
  
  
  
  1.2   +5 -1  jakarta-tomcat-connectors/jk/native2/common/jk_registry.h
  
  Index: jk_registry.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_registry.h 13 Dec 2001 18:48:13 -  1.1
  +++ jk_registry.h 31 Dec 2001 20:37:01 -  1.2
  @@ -62,7 +62,7 @@
   
   /***
* Description: Worker list*
  - * Version: $Revision: 1.1 $   *
  + * Version: $Revision: 1.2 $   *
***/
   
   /** Static declarations for all 'hardcoded' modules. This is a hack, 
  @@ -97,6 +97,10 @@
   int JK_METHOD jk_worker_jni_factory(jk_env_t *env, jk_pool_t *pool,
   void **result,
   const char *type, const char *name);
  +
  +int JK_METHOD jk_worker_status_factory(jk_env_t *env, jk_pool_t *pool,
  +   void **result,
  +   const char *type, const char *name);
   
   int JK_METHOD jk_worker_ajp12_factory(jk_env_t *env, jk_pool_t *pool,
 void **result,
  
  
  
  1.1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c
  
  Index: jk_worker_status.c
  ===
  /* = *
   *   *
   * The Apache Software License,  Version 1.1 *
   *   *
   *  Copyright (c) 1999-2001 The Apache Software Foundation.  *
   *   All rights reserved.*
   *   *
   * = *
   *   *
   * Redistribution and use in source and binary forms,  with or without modi- *
   * fication, are permitted provided that the following conditions are met:   *
   *   *
   * 1. Redistributions of source code  must retain the above copyright notice *
   *notice, this list of conditions and the following disclaimer.  *
   *   *
   * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
   *notice,  this list of conditions  and the following  disclaimer in the *
   *documentation and/or