@@ -407,8 +407,8 @@ <h5 class="mb-0">Cache Performance</h5>
407407 < div class ="card-body ">
408408 < div class ="mb-3 ">
409409 < label class ="form-label "> Cache Usage</ label >
410- < div class ="progress mb-2 ">
411- < div id ="cache-usage-bar " class ="progress-bar " role ="progressbar " style ="width: 0% "> </ div >
410+ < div class ="progress mb-2 " style =" height: 15px; " >
411+ < div id ="cache-usage-bar " class ="progress-bar bg-info " role ="progressbar " style ="width: 0% "> </ div >
412412 </ div >
413413 < div class ="small text-end "> < span id ="cache-used "> 0</ span > / < span id ="cache-total "> 0</ span > MB</ div >
414414 </ div >
@@ -870,19 +870,45 @@ <h3 id="avg-response-time">-- ms</h3>
870870 const data = response . data ;
871871
872872 // Update cache usage bar
873- $ ( '#cache-usage-bar' ) . css ( 'width' , data . cache_usage_percentage + '%' ) ;
873+ const usagePercentage = data . cache_usage_percentage || 0 ;
874+ $ ( '#cache-usage-bar' ) . css ( 'width' , usagePercentage + '%' ) ;
875+
876+ // Change color based on usage percentage
877+ if ( usagePercentage >= 90 ) {
878+ $ ( '#cache-usage-bar' ) . removeClass ( 'bg-info bg-warning bg-success' ) . addClass ( 'bg-danger' ) ;
879+ } else if ( usagePercentage >= 70 ) {
880+ $ ( '#cache-usage-bar' ) . removeClass ( 'bg-info bg-danger bg-success' ) . addClass ( 'bg-warning' ) ;
881+ } else if ( usagePercentage > 0 ) {
882+ $ ( '#cache-usage-bar' ) . removeClass ( 'bg-info bg-warning bg-danger' ) . addClass ( 'bg-success' ) ;
883+ } else {
884+ $ ( '#cache-usage-bar' ) . removeClass ( 'bg-success bg-warning bg-danger' ) . addClass ( 'bg-info' ) ;
885+ }
874886
875887 // Update cache size text
876- $ ( '#cache-used' ) . text ( data . cache_usage ) ;
877- $ ( '#cache-total' ) . text ( data . cache_size ) ;
888+ $ ( '#cache-used' ) . text ( data . cache_usage || 0 ) ;
889+ $ ( '#cache-total' ) . text ( data . cache_size || 0 ) ;
878890
879891 // Update hit ratio
880- $ ( '#hit-ratio' ) . text ( ( data . hit_ratio || 0 ) . toFixed ( 1 ) + '%' ) ;
892+ $ ( '#hit-ratio' ) . text ( ( ( data . hit_ratio || 0 ) . toFixed ( 1 ) ) + '%' ) ;
881893
882894 // Update average response time
883- $ ( '#avg-response-time' ) . text ( typeof data . avg_response_time === 'number'
884- ? ( data . avg_response_time * 1000 ) . toFixed ( 0 ) + ' ms'
885- : data . avg_response_time || '-- ms' ) ;
895+ if ( typeof data . avg_response_time === 'number' ) {
896+ // Convert seconds to milliseconds for display
897+ const responseTimeMs = ( data . avg_response_time * 1000 ) . toFixed ( 0 ) ;
898+ $ ( '#avg-response-time' ) . text ( responseTimeMs + ' ms' ) ;
899+
900+ // Style based on performance
901+ if ( responseTimeMs < 100 ) {
902+ $ ( '#avg-response-time' ) . removeClass ( 'text-warning text-danger' ) . addClass ( 'text-success' ) ;
903+ } else if ( responseTimeMs < 500 ) {
904+ $ ( '#avg-response-time' ) . removeClass ( 'text-success text-danger' ) . addClass ( 'text-warning' ) ;
905+ } else {
906+ $ ( '#avg-response-time' ) . removeClass ( 'text-success text-warning' ) . addClass ( 'text-danger' ) ;
907+ }
908+ } else {
909+ $ ( '#avg-response-time' ) . text ( data . avg_response_time || '-- ms' ) ;
910+ $ ( '#avg-response-time' ) . removeClass ( 'text-success text-warning text-danger' ) ;
911+ }
886912 }
887913 } )
888914 . catch ( function ( error ) {
0 commit comments