Author: rjung Date: Sun Aug 27 14:47:48 2006 New Revision: 437464 URL: http://svn.apache.org/viewvc?rev=437464&view=rev Log: Add Apache notes with load balancer results.
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=437464&r1=437463&r2=437464&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sun Aug 27 14:47:48 2006 @@ -599,7 +599,9 @@ { lb_endpoint_t *p; int attempt = 1; + worker_record_t *prec = NULL; int num_of_workers; + int first = 1; int rc = -1; char *sessionid = NULL; @@ -648,6 +650,7 @@ int retry = 0; int retry_wait = JK_LB_MIN_RETRY_WAIT; s->jvm_route = rec->r; + prec = rec; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, @@ -821,6 +824,40 @@ jk_log(l, JK_LOG_DEBUG, "recoverable error... will try to recover on other worker"); } + if (first == 1 && s->add_log_items) { + first = 0; + const char **log_names = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT); + const char **log_values = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT); + char *buf = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT * JK_LB_MAX_SZ);; + if (log_names && log_values && buf) { + log_names[0] = JK_NOTE_LB_FIRST_NAME; + log_values[0] = prec->s->name; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->lb_value); + log_names[1] = JK_NOTE_LB_FIRST_VALUE; + log_values[1] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->elected); + log_names[2] = JK_NOTE_LB_FIRST_ACCESSED; + log_values[2] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->readed); + log_names[3] = JK_NOTE_LB_FIRST_READ; + log_values[3] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->transferred); + log_names[4] = JK_NOTE_LB_FIRST_TRANSFERRED; + log_values[4] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT32_T_FMT, prec->s->errors); + log_names[5] = JK_NOTE_LB_FIRST_ERRORS; + log_values[5] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%d", prec->s->busy); + log_names[6] = JK_NOTE_LB_FIRST_BUSY; + log_values[6] = buf; + s->add_log_items(s, log_names, log_values, JK_LB_NOTES_COUNT); + } + } } else { /* NULL record, no more workers left ... */ @@ -837,6 +874,39 @@ /* Set error to Timeout */ *is_error = JK_HTTP_SERVER_BUSY; rc = JK_FALSE; + } + if (prec && s->add_log_items) { + const char **log_names = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT); + const char **log_values = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT); + char *buf = jk_pool_alloc(s->pool, sizeof(char *) * JK_LB_NOTES_COUNT * JK_LB_MAX_SZ);; + if (log_names && log_values && buf) { + log_names[0] = JK_NOTE_LB_LAST_NAME; + log_values[0] = prec->s->name; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->lb_value); + log_names[1] = JK_NOTE_LB_LAST_VALUE; + log_values[1] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->elected); + log_names[2] = JK_NOTE_LB_LAST_ACCESSED; + log_values[2] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->readed); + log_names[3] = JK_NOTE_LB_LAST_READ; + log_values[3] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT64_T_FMT, prec->s->transferred); + log_names[4] = JK_NOTE_LB_LAST_TRANSFERRED; + log_values[4] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%" JK_UINT32_T_FMT, prec->s->errors); + log_names[5] = JK_NOTE_LB_LAST_ERRORS; + log_values[5] = buf; + buf += JK_LB_MAX_SZ; + snprintf(buf, JK_LB_MAX_SZ, "%d", prec->s->busy); + log_names[6] = JK_NOTE_LB_LAST_BUSY; + log_values[6] = buf; + s->add_log_items(s, log_names, log_values, JK_LB_NOTES_COUNT); + } } JK_TRACE_EXIT(l); Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h?rev=437464&r1=437463&r2=437464&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Sun Aug 27 14:47:48 2006 @@ -53,6 +53,23 @@ #define JK_LB_LOCK_TEXT_PESSIMISTIC ("Pessimistic") #define JK_LB_LOCK_TEXT_DEF (JK_LB_LOCK_TEXT_OPTIMISTIC) +#define JK_LB_MAX_SZ (21) +#define JK_LB_NOTES_COUNT (7) +#define JK_NOTE_LB_FIRST_NAME ("JK_LB_FIRST_NAME") +#define JK_NOTE_LB_FIRST_VALUE ("JK_LB_FIRST_VALUE") +#define JK_NOTE_LB_FIRST_ACCESSED ("JK_LB_FIRST_ACCESSED") +#define JK_NOTE_LB_FIRST_READ ("JK_LB_FIRST_READ") +#define JK_NOTE_LB_FIRST_TRANSFERRED ("JK_LB_FIRST_TRANSFERRED") +#define JK_NOTE_LB_FIRST_ERRORS ("JK_LB_FIRST_ERRORS") +#define JK_NOTE_LB_FIRST_BUSY ("JK_LB_FIRST_BUSY") +#define JK_NOTE_LB_LAST_NAME ("JK_LB_LAST_NAME") +#define JK_NOTE_LB_LAST_VALUE ("JK_LB_LAST_VALUE") +#define JK_NOTE_LB_LAST_ACCESSED ("JK_LB_LAST_ACCESSED") +#define JK_NOTE_LB_LAST_READ ("JK_LB_LAST_READ") +#define JK_NOTE_LB_LAST_TRANSFERRED ("JK_LB_LAST_TRANSFERRED") +#define JK_NOTE_LB_LAST_ERRORS ("JK_LB_LAST_ERRORS") +#define JK_NOTE_LB_LAST_BUSY ("JK_LB_LAST_BUSY") + /* Minimal time in ms to wait between get_endpoint retries for balanced workers */ #define JK_LB_MIN_RETRY_WAIT (25) /* Maximal time in ms to wait between get_endpoint retries for balanced workers */ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]