diff -wurNbB squid-2.3.STABLE3PR5/src/delay_pools.c squid-2.3.STABLE3PR6/src/delay_pools.c --- squid-2.3.STABLE3PR5/src/delay_pools.c Wed May 17 09:56:43 2000 +++ squid-2.3.STABLE3PR6/src/delay_pools.c Wed May 17 10:32:15 2000 @@ -33,6 +33,12 @@ * */ +#define HTML_FONT_RED "" +#define HTML_FONT_YELLOW "" +#define HTML_FONT_END "" +#define HTML_BOLD "" +#define HTML_BOLD_END "" + #include "config.h" #if DELAY_POOLS @@ -694,6 +700,14 @@ storeAppendPrintf(sentry, "\tAggregate:\n"); storeAppendPrintf(sentry, "\t\tMax: %d\n", rate->aggregate.max_bytes); storeAppendPrintf(sentry, "\t\tRestore: %d\n", rate->aggregate.restore_bps); + if( ag < rate->aggregate.max_bytes ) + if( ag < (rate->aggregate.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, "\t\tCurrent: " HTML_FONT_RED HTML_BOLD + "%d" HTML_BOLD_END HTML_FONT_END "\n\n", ag); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, "\t\tCurrent: " HTML_FONT_YELLOW HTML_BOLD + "%d" HTML_BOLD_END HTML_FONT_END "\n\n", ag); + else /* 100% */ storeAppendPrintf(sentry, "\t\tCurrent: %d\n\n", ag); } @@ -734,15 +748,30 @@ if( class2->individual[i] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", class2->individual_map[i] ); else - storeAppendPrintf(sentry, "%d:%d ", class2->individual_map[i], - class2->individual[i]); + if( class2->individual[i] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class2->individual_map[i], class2->individual[i]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class2->individual_map[i], class2->individual[i]); shown = 1; } if (class2->individual_255_used) { if ( class2->individual[255] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", 255 ); - else - storeAppendPrintf(sentry, "%d:%d ", 255, class2->individual[255]); + else { + i = 255; + if( class2->individual[i] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class2->individual_map[i], class2->individual[i]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class2->individual_map[i], class2->individual[i]); + } shown = 1; } if (!shown) @@ -776,15 +805,30 @@ if( class3->network[i] == rate->network.max_bytes ) storeAppendPrintf(sentry, "%d ", class3->network_map[i] ); else - storeAppendPrintf(sentry, "%d:%d ", class3->network_map[i], - class3->network[i]); + if( class3->network[i] < ( rate->network.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->network_map[i], class3->network[i]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->network_map[i], class3->network[i]); shown = 1; } if (class3->network_255_used) { if ( class3->network[255] == rate->network.max_bytes ) storeAppendPrintf(sentry, "%d ", 255); - else - storeAppendPrintf(sentry, "%d:%d ", 255, class3->network[255]); + else { + i = 255; + if( class3->network[i] < ( rate->network.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->network_map[i], class3->network[i]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->network_map[i], class3->network[i]); + } shown = 1; } if (!shown) @@ -810,14 +854,29 @@ if( class3->individual[(i << 8) | j] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", class3->individual_map[i][j] ); else - storeAppendPrintf(sentry, "%d:%d ", class3->individual_map[i][j], - class3->individual[(i << 8) | j]); + if( class3->individual[(i << 8) | j] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); } if (class3->individual_255_used[i / 8] & (1 << (i % 8))) { if( class3->individual[(i << 8) | 255] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", 255); - else - storeAppendPrintf(sentry, "%d:%d ", 255, class3->individual[(i << 8) | 255]); + else { + j = 255; + if( class3->individual[(i << 8) | j] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + } } storeAppendPrintf(sentry, "\n"); } @@ -829,15 +888,32 @@ break; if( class3->individual[(255 << 8) | j] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", class3->individual_map[255][j]); - else - storeAppendPrintf(sentry, "%d:%d ", class3->individual_map[255][j], - class3->individual[(255 << 8) | j]); + else { + i = 255; + if( class3->individual[(i << 8) | j] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + } } if (class3->individual_255_used[255 / 8] & (1 << (255 % 8))) { if( class3->individual[(255 << 8) | 255] == rate->individual.max_bytes ) storeAppendPrintf(sentry, "%d ", 255); - else - storeAppendPrintf(sentry, "%d:%d ", 255, class3->individual[(255 << 8) | 255]); + else { + i = j = 255; + if( class3->individual[(i << 8) | j] < ( rate->individual.max_bytes >> 1) ) /* 0% ... 50% */ + storeAppendPrintf(sentry, HTML_FONT_RED HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + else /* 50% ... 100% */ + storeAppendPrintf(sentry, HTML_FONT_YELLOW HTML_BOLD "%d:%d " + HTML_BOLD_END HTML_FONT_END, + class3->individual_map[i][j], class3->individual[(i << 8) | j]); + } } storeAppendPrintf(sentry, "\n"); }