Changeset 2821
Legend:
- Unmodified
- Added
- Removed
-
trunk/globals.h
r2820 r2821 883 883 ushort idx; 884 884 ulong prid; 885 int n_readers; 885 886 int reader[CS_MAXREADER]; 886 887 int cidx; // client index -
trunk/module-stat.c
r2808 r2821 223 223 } 224 224 225 cs_debug_mask(D_TRACE, "adding stat for reader %s (%d): rc %d caid %04hX prid %06lX srvid %04hX time %dms usagelevel %d",226 reader[ridx].label, ridx, rc, caid, prid, srvid, ecm_time, reader[ridx].lb_usagelevel);225 //cs_debug_mask(D_TRACE, "adding stat for reader %s (%d): rc %d caid %04hX prid %06lX srvid %04hX time %dms usagelevel %d", 226 // reader[ridx].label, ridx, rc, caid, prid, srvid, ecm_time, reader[ridx].lb_usagelevel); 227 227 228 228 //debug only: … … 246 246 void reset_stat(ushort caid, ulong prid, ushort srvid) 247 247 { 248 cs_debug_mask(D_TRACE, "loadbalance: resetting ecm count");248 //cs_debug_mask(D_TRACE, "loadbalance: resetting ecm count"); 249 249 int i; 250 250 for (i = 0; i < CS_MAXREADER; i++) { … … 289 289 stat = get_stat(i, grs->caid, grs->prid, grs->srvid); 290 290 if (!stat) { 291 cs_debug_mask(D_TRACE, "loadbalance: starting statistics for reader %s", reader[i].label);291 //cs_debug_mask(D_TRACE, "loadbalance: starting statistics for reader %s", reader[i].label); 292 292 add_stat(i, grs->caid, grs->prid, grs->srvid, 1, -1); 293 293 result[i] = 1; //no statistics, this reader is active (now) but we need statistics first! … … 296 296 297 297 if (stat->ecm_count > MAX_ECM_COUNT && stat->time_avg > (int)cfg->ftimeout) { 298 cs_debug_mask(D_TRACE, "loadbalance: max ecms (%d) reached by reader %s, resetting statistics", MAX_ECM_COUNT, reader[i].label);298 //cs_debug_mask(D_TRACE, "loadbalance: max ecms (%d) reached by reader %s, resetting statistics", MAX_ECM_COUNT, reader[i].label); 299 299 reset_stat(grs->caid, grs->prid, grs->srvid); 300 300 result[i] = 1;//max ecm reached, get new statistics … … 303 303 304 304 if (stat->rc == 0 && stat->ecm_count < MIN_ECM_COUNT) { 305 cs_debug_mask(D_TRACE, "loadbalance: reader %s needs more statistics", reader[i].label);305 //cs_debug_mask(D_TRACE, "loadbalance: reader %s needs more statistics", reader[i].label); 306 306 result[i] = 1; //need more statistics! 307 307 continue; … … 315 315 default: 316 316 case LB_NONE: 317 cs_debug_mask(D_TRACE, "loadbalance disabled");317 //cs_debug_mask(D_TRACE, "loadbalance disabled"); 318 318 result[i] = 1; 319 319 break; 320 320 case LB_FASTEST_READER_FIRST: 321 321 current = stat->time_avg * 100 / weight; 322 #ifdef WEBIF323 reader[i].lbvalue = current;324 #endif325 322 break; 326 323 case LB_OLDEST_READER_FIRST: … … 331 328 break; 332 329 } 333 334 cs_debug_mask(D_TRACE, "loadbalance reader %s value %d", reader[i].label, current); 330 #ifdef WEBIF 331 reader[i].lbvalue = current; 332 #endif 333 334 //cs_debug_mask(D_TRACE, "loadbalance reader %s value %d", reader[i].label, current); 335 335 if (best_ridx==-1 || current < best) { 336 336 if (!reader[i].ph.c_available … … 353 353 best_ridx = best_ridx2; 354 354 if (best_ridx >= 0) { 355 cs_debug_mask(D_TRACE, "-->loadbalance best reader %s (%d) best value %d", reader[best_ridx].label, best_ridx, best2);355 //cs_debug_mask(D_TRACE, "-->loadbalance best reader %s (%d) best value %d", reader[best_ridx].label, best_ridx, best2); 356 356 result[best_ridx] = 1; 357 357 } 358 358 else 359 cs_debug_mask(D_TRACE, "-->loadbalance no best reader!");359 //cs_debug_mask(D_TRACE, "-->loadbalance no best reader!"); 360 360 361 361 //setting all other readers as fallbacks: … … 363 363 if (grs->reader_avail[i] && !result[i]) 364 364 result[i] = 2; 365 cs_debug_mask(D_TRACE, "readers: %d%d%d%d%d%d%d%d", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7]);365 //cs_debug_mask(D_TRACE, "readers: %d%d%d%d%d%d%d%d", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7]); 366 366 367 367 add_send_cache(grs->caid, grs->ecmd5, result, best_ridx); //add to cache -
trunk/oscam.c
r2819 r2821 1815 1815 send_reader_stat(er->reader[0], er, er->rc); 1816 1816 1817 char nre[20]; 1818 if (er->n_readers > 1) 1819 sprintf(nre, " of %d", er->n_readers); 1820 else 1821 nre[0] = 0; 1822 1817 1823 if(cfg->mon_appendchaninfo) 1818 cs_log("%s (%04X&%06X/%04X/%02X:%04X): %s (%d ms)%s - %s",1824 cs_log("%s (%04X&%06X/%04X/%02X:%04X): %s (%d ms)%s%s - %s", 1819 1825 uname, er->caid, er->prid, er->srvid, er->l, lc, 1820 er->rcEx?erEx:stxt[er->rc], client[cs_idx].cwlastresptime, sby, get_servicename(er->srvid, er->caid));1826 er->rcEx?erEx:stxt[er->rc], client[cs_idx].cwlastresptime, sby, nre, get_servicename(er->srvid, er->caid)); 1821 1827 else 1822 cs_log("%s (%04X&%06X/%04X/%02X:%04X): %s (%d ms)%s ",1828 cs_log("%s (%04X&%06X/%04X/%02X:%04X): %s (%d ms)%s%s", 1823 1829 uname, er->caid, er->prid, er->srvid, er->l, lc, 1824 er->rcEx?erEx:stxt[er->rc], client[cs_idx].cwlastresptime, sby );1830 er->rcEx?erEx:stxt[er->rc], client[cs_idx].cwlastresptime, sby, nre); 1825 1831 #ifdef WEBIF 1826 1832 if(er->rc == 0) … … 2387 2393 recv_best_reader(er, reader_avail); 2388 2394 2395 er->n_readers = 0; //for logging/found-messages 2389 2396 for (i = m = 0; i < CS_MAXREADER; i++) { 2390 2397 if (reader_avail[i]) { 2391 2398 m|=er->reader[i] = reader_avail[i]; 2399 if (reader_avail[i] == 1) //count only stage 1 2400 er->n_readers++; 2392 2401 } 2393 2402 }
Note:
See TracChangeset
for help on using the changeset viewer.