Changeset 10000
- Timestamp:
- 11/14/14 20:51:05 (9 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-webif-lib.c
r9699 r10000 13 13 #if defined(__linux__) 14 14 #include <sys/sysinfo.h> 15 #elif defined(__APPLE__) 16 #include <sys/sysctl.h> 15 17 #endif 16 18 … … 588 590 } 589 591 592 /* 593 * returns uptime in sec on success, -1 on error 594 */ 595 int32_t oscam_get_uptime(void) 596 { 597 #if defined(__linux__) 598 struct sysinfo uptime; 599 if(!sysinfo(&uptime)){ 600 return (int32_t)uptime.uptime; 601 } 602 else{ 603 return -1; 604 } 605 #elif defined(__APPLE__) 606 struct timeval boottime; 607 size_t len = sizeof(boottime); 608 int mib[2] = { CTL_KERN, KERN_BOOTTIME }; 609 if(sysctl(mib, 2, &boottime, &len, NULL, 0) < 0 ){ 610 return -1; 611 } 612 time_t bsec = boottime.tv_sec, csec = time(NULL); 613 614 return difftime(csec, bsec); 615 #else 616 return -1; 617 #endif 618 } 619 590 620 #if defined(__linux__) 591 621 /* … … 649 679 } 650 680 681 // read cached from /proc/meminfo 682 uint64_t meminfo_cached = 0; 683 FILE *fd = fopen("/proc/meminfo", "r"); 684 if (fd ) { 685 char line[256]; 686 while(fgets(line, sizeof(line), fd)) { 687 if(sscanf(line, "Cached: %" PRId64" \n kB", &meminfo_cached) == 1){ 688 break; 689 } 690 } 691 } 692 fclose(fd); 693 651 694 // read cpu/meminfo from sysinfo() 652 695 struct sysinfo info; 653 696 float shiftfloat = (float)(1 << SI_LOAD_SHIFT); 654 697 if (!sysinfo(&info)) { 698 // processes 699 result->info_procs = info.procs; 655 700 // cpu load 656 701 result->cpu_avg[0] = (float) info.loads[0] / shiftfloat; … … 660 705 result->mem_total = info.totalram * info.mem_unit; 661 706 result->mem_free = info.freeram * info.mem_unit; 662 result->mem_used = (info.totalram * info.mem_unit) - (info.freeram * info.mem_unit);707 result->mem_used = result->mem_total - result->mem_free; 663 708 result->mem_buff = info.bufferram * info.mem_unit; 709 result->mem_cached = meminfo_cached * 1024; 710 result->mem_freem = result->mem_free + result->mem_buff + result->mem_cached; 711 result->mem_share = info.sharedram * info.mem_unit; 712 result->mem_total_swap = info.totalswap * info.mem_unit; 713 result->mem_free_swap = info.freeswap * info.mem_unit; 714 result->mem_used_swap = result->mem_total_swap - result->mem_free_swap; 664 715 } 665 716 … … 682 733 if(cur_usage->gone_refresh < 1){ 683 734 //set to N/A since result may provide wrong results (/proc not updated) 684 cur_usage->check_available |= (1 << 8);685 735 cur_usage->check_available |= (1 << 9); 686 736 cur_usage->check_available |= (1 << 10); 737 cur_usage->check_available |= (1 << 11); 687 738 } 688 739 else{ … … 690 741 int64_t last_ticks = last_usage->utime_ticks + last_usage->cutime_ticks; 691 742 //reset flags if set bevore 692 cur_usage->check_available &= ~(1 << 8);693 743 cur_usage->check_available &= ~(1 << 9); 694 cur_usage->check_available &= ~(1 << 10); 744 cur_usage->check_available &= ~(1 << 10); 745 cur_usage->check_available &= ~(1 << 11); 695 746 696 747 cur_usage->cpu_usage_user = 100.0 * abs(cur_ticks - last_ticks) / total_time_diff; -
trunk/module-webif-lib.h
r9632 r10000 59 59 //should be filled with informations for stats block 60 60 struct pstat { 61 uint32_t info_procs; // running procs 61 62 int64_t utime_ticks; 62 63 int64_t cutime_ticks; … … 70 71 uint64_t mem_used; // Used Memory in bytes 71 72 uint64_t mem_buff; // Buffered Memory in bytes 73 uint64_t mem_cached; // Cached Memory in bytes 74 uint64_t mem_freem; // Buffered Memory in bytes 75 uint64_t mem_share; // Shared Memory in bytes 76 uint64_t mem_total_swap; // Total Swap Memory in bytes 77 uint64_t mem_free_swap; // Free Swap Memory in bytes 78 uint64_t mem_used_swap; // Used Swap Memory in bytes 72 79 float cpu_avg[3]; //CPU load from "load average" 73 80 struct timeb time_started; //needed for calculating time between function call … … 95 102 extern void parseParams(struct uriparams *params, char *pch); 96 103 extern char *getParam(struct uriparams *params, char *name); 104 extern int32_t oscam_get_uptime(void); 97 105 extern int8_t get_stats_linux(const pid_t pid, struct pstat* result); 98 106 extern void calc_cpu_usage_pct(struct pstat* cur_usage, struct pstat* last_usage); -
trunk/module-webif.c
r9997 r10000 121 121 * Creates vars Memory/CPU/OSCAM info in for status_page 122 122 * if check_available == 0 N/A will be displayed 123 * Bit mapping 124 * mem 0 total, 1 used & free, 2 buff, cached & free incl. buff, 3 share 125 * swap 4 total, 5 used & free, 126 * proc 6 count 127 * cpu 7 load 128 * oscam 8 vsize & rssize, 9 cpu user, 10 cpu sys, 11 cpu sum, 12 cpu refreshtime 129 * unused 13 - 15 123 130 */ 124 131 static void set_status_info(struct templatevars *vars, struct pstat stats){ 125 132 set_status_info_var(vars, "MEM_CUR_TOTAL", stats.check_available & (1 << 0), "%'.2f MB" , (double)stats.mem_total/(1024.0*1024.0)); 126 133 set_status_info_var(vars, "MEM_CUR_FREE", stats.check_available & (1 << 1), "%'.2f MB" , (double)stats.mem_free/(1024.0*1024.0)); 127 set_status_info_var(vars, "MEM_CUR_USED", stats.check_available & (1 << 2), "%'.2f MB" , (double)stats.mem_used/(1024.0*1024.0)); 128 set_status_info_var(vars, "MEM_CUR_BUFF", stats.check_available & (1 << 3), "%'.2f MB" , (double)stats.mem_buff/(1024.0*1024.0)); 129 130 set_status_info_var(vars, "CPU_LOAD_0", stats.check_available & (1 << 3), "%.2f" , stats.cpu_avg[0]); 131 set_status_info_var(vars, "CPU_LOAD_1", stats.check_available & (1 << 4), "%.2f" , stats.cpu_avg[1]); 132 set_status_info_var(vars, "CPU_LOAD_2", stats.check_available & (1 << 5), "%.2f" , stats.cpu_avg[2]); 133 134 set_status_info_var(vars, "OSCAM_VMSIZE", stats.check_available & (1 << 6), "%'.2f MB" , (double)stats.vsize/(1024.0*1024.0)); 135 set_status_info_var(vars, "OSCAM_RSSSIZE", stats.check_available & (1 << 7), "%'.2f MB" , (double)stats.rss/(1024.0*1024.0)); 136 set_status_info_var(vars, "OSCAM_CPU_USER", stats.check_available & (1 << 8), "%.2f %%" , stats.cpu_usage_user); 137 set_status_info_var(vars, "OSCAM_CPU_SYS", stats.check_available & (1 << 9), "%.2f %%" , stats.cpu_usage_sys); 138 134 set_status_info_var(vars, "MEM_CUR_USED", stats.check_available & (1 << 1), "%'.2f MB" , (double)stats.mem_used/(1024.0*1024.0)); 135 set_status_info_var(vars, "MEM_CUR_BUFF", stats.check_available & (1 << 2), "%'.2f MB" , (double)stats.mem_buff/(1024.0*1024.0)); 136 set_status_info_var(vars, "MEM_CUR_CACHED", stats.check_available & (1 << 2), "%'.2f MB" , (double)stats.mem_cached/(1024.0*1024.0)); 137 set_status_info_var(vars, "MEM_CUR_FREEM", stats.check_available & (1 << 2), "%'.2f MB" , (double)stats.mem_freem/(1024.0*1024.0)); 138 set_status_info_var(vars, "MEM_CUR_SHARE", stats.check_available & (1 << 3), "%'.2f MB" , (double)stats.mem_share/(1024.0*1024.0)); 139 set_status_info_var(vars, "MEM_CUR_TOTSW", stats.check_available & (1 << 4), "%'.2f MB" , (double)stats.mem_total_swap/(1024.0*1024.0)); 140 set_status_info_var(vars, "MEM_CUR_FRESW", stats.check_available & (1 << 5), "%'.2f MB" , (double)stats.mem_free_swap/(1024.0*1024.0)); 141 set_status_info_var(vars, "MEM_CUR_USESW", stats.check_available & (1 << 5), "%'.2f MB" , (double)stats.mem_used_swap/(1024.0*1024.0)); 142 143 set_status_info_var(vars, "SERVER_PROCS", stats.check_available & (1 << 6), "%'.0f" , stats.info_procs); 144 145 set_status_info_var(vars, "CPU_LOAD_0", stats.check_available & (1 << 7), "%.2f" , stats.cpu_avg[0]); 146 set_status_info_var(vars, "CPU_LOAD_1", stats.check_available & (1 << 7), "%.2f" , stats.cpu_avg[1]); 147 set_status_info_var(vars, "CPU_LOAD_2", stats.check_available & (1 << 7), "%.2f" , stats.cpu_avg[2]); 148 149 set_status_info_var(vars, "OSCAM_VMSIZE", stats.check_available & (1 << 8), "%'.2f MB" , (double)stats.vsize/(1024.0*1024.0)); 150 set_status_info_var(vars, "OSCAM_RSSSIZE", stats.check_available & (1 << 8), "%'.2f MB" , (double)stats.rss/(1024.0*1024.0)); 151 set_status_info_var(vars, "OSCAM_CPU_USER", stats.check_available & (1 << 9), "%.2f %%" , stats.cpu_usage_user); 152 set_status_info_var(vars, "OSCAM_CPU_SYS", stats.check_available & (1 << 10), "%.2f %%" , stats.cpu_usage_sys); 139 153 double sum_cpu = stats.cpu_usage_sys + stats.cpu_usage_user; 140 set_status_info_var(vars, "OSCAM_CPU_SUM", stats.check_available & (1 << 1 0), "%.2f %%", sum_cpu);141 142 if (stats.check_available & (1 << 1 1)) {154 set_status_info_var(vars, "OSCAM_CPU_SUM", stats.check_available & (1 << 11), "%.2f %%" , sum_cpu); 155 156 if (stats.check_available & (1 << 12)) { 143 157 tpl_addVar(vars, TPLADD, "OSCAM_REFRESH" , "N/A"); 144 158 } else { … … 4582 4596 if(strstr(cl->lastreader, " (cache)")) 4583 4597 { 4584 char lastreader_new[strlen(cl->lastreader)-8]; 4585 strncpy(lastreader_new, cl->lastreader, strlen(cl->lastreader)-8); 4586 tpl_addVar(vars, TPLADD, "LBLVALUEENC", urlencode(vars, lastreader_new)); 4598 char lastreader_tmp[strlen(cl->lastreader)-8]; 4599 tpl_addVar(vars, TPLADD, "CLIENTLBVALUE", tpl_getVar(vars, "LBLRPSTRVALUE")); 4600 strncpy(lastreader_tmp, cl->lastreader, strlen(cl->lastreader)-8); 4601 tpl_addVar(vars, TPLADD, "LBLVALUEENC", urlencode(vars, lastreader_tmp)); 4602 tpl_addVar(vars, TPLADD, "LBLVALUETITLE", xml_encode(vars, lastreader_tmp)); 4587 4603 } 4588 4604 else 4589 4605 { 4590 4606 tpl_addVar(vars, TPLADD, "LBLVALUEENC", urlencode(vars, cl->lastreader)); 4607 tpl_addVar(vars, TPLADD, "LBLVALUETITLE", xml_encode(vars, cl->lastreader)); 4591 4608 } 4592 4609 tpl_addVar(vars, TPLAPPEND, "CLIENTLBVALUE", tpl_getTpl(vars, "CLIENTLBLVALUEBIT")); … … 5047 5064 p_stat_old = p_stat_cur; 5048 5065 5066 /* 5067 * check_available Bit mapping 5068 * mem 0 total, 1 used & free, 2 buff, cached & free incl. buff, 3 share 5069 * swap 4 total, 5 used & free, 5070 * proc 6 count 5071 * cpu 7 load 5072 * oscam 8 vsize & rssize, 9 cpu user, 10 cpu sys, 11 cpu sum, 12 cpu refreshtime 5073 * unused 13 - 15 5074 */ 5049 5075 //Memory-CPU Info for linux based systems 5050 5076 #if defined(__linux__) … … 7322 7348 tpl_addVar(vars, TPLADD, "REFRESH", tpl_getTpl(vars, "REFRESH")); 7323 7349 } 7324 #ifdef WEBIF_JQUERY 7350 #ifdef WEBIF_JQUERY 7325 7351 tpl_printf(vars, TPLADD, "SRCJQUERY", "jquery.js?v=%s", CS_SVN_VERSION); 7326 7352 #else … … 7352 7378 strftime(tbuffer, 30, "%Y-%m-%dT%H:%M:%S%z", &st); 7353 7379 tpl_addVar(vars, TPLADD, "APISTARTTIME", tbuffer); 7354 tpl_printf(vars, TPLADD, "API UPTIME", "%ld", now - first_client->login);7380 tpl_printf(vars, TPLADD, "APIRUNTIME", "%ld", now - first_client->login); 7355 7381 tpl_printf(vars, TPLADD, "APIREADONLY", "%d", cfg.http_readonly); 7356 7382 if(strcmp(getParam(¶ms, "callback"), "")) … … 7367 7393 // language code in helplink 7368 7394 tpl_addVar(vars, TPLADD, "LANGUAGE", cfg.http_help_lang); 7369 tpl_addVar(vars, TPLADD, "UPTIME", sec2timeformat(vars, (now - first_client->login))); 7395 tpl_addVar(vars, TPLADD, "RUNTIME", sec2timeformat(vars, (now - first_client->login))); 7396 time_t uptime = oscam_get_uptime(); 7397 if(uptime > 0){ 7398 tpl_addVar(vars, TPLADD, "UPTIMETXT", "Up Time: "); 7399 tpl_addVar(vars, TPLADD, "UPTIME", sec2timeformat(vars, uptime)); 7400 } 7370 7401 tpl_addVar(vars, TPLADD, "CURIP", cs_inet_ntoa(addr)); 7371 7402 if(cfg.http_readonly) … … 7374 7405 i = ll_count(cfg.v_list); 7375 7406 if(i > 0) { tpl_printf(vars, TPLADD, "FAILBANNOTIFIER", "<SPAN CLASS=\"span_notifier\">%d</SPAN>", i); } 7407 tpl_printf(vars, TPLADD, "FAILBANNOTIFIERPOLL", "%d", i); 7376 7408 7377 7409 char *result = NULL; -
trunk/webif/api.json/header.json
r9817 r10000 4 4 "revision": "##CS_SVN_VERSION##", 5 5 "starttime": "##APISTARTTIME##", 6 "uptime": "##APIUPTIME##", 7 "uptimefmt": "##UPTIME##", 6 "apiruntime": "##APIRUNTIME##", 7 "runtime": "##RUNTIME##", 8 "uptime":"##UPTIME##", 8 9 "curdate": "##CURDATE##", 9 10 "curtime": "##CURTIME##", 10 11 "readonly": "##APIREADONLY##", 11 12 "piconenabled":"##PICONENABLED##", 12 "lbdefined":"##LBISDEFINED##", 13 "lbdefined":"##LBISDEFINED##", 14 "failbannotifier":"##FAILBANNOTIFIERPOLL##", 13 15 "sysinfo":{ 14 16 "mem_cur_total":"##MEM_CUR_TOTAL##", … … 16 18 "mem_cur_used":"##MEM_CUR_USED##", 17 19 "mem_cur_buff":"##MEM_CUR_BUFF##", 20 "mem_cur_cached":"##MEM_CUR_CACHED##", 21 "mem_cur_freem":"##MEM_CUR_FREEM##", 22 "mem_cur_totalsw":"##MEM_CUR_TOTSW##", 23 "mem_cur_freesw":"##MEM_CUR_FRESW##", 24 "mem_cur_usedsw":"##MEM_CUR_USESW##", 25 "mem_cur_shared":"##MEM_CUR_SHARE##", 18 26 "oscam_vmsize":"##OSCAM_VMSIZE##", 19 27 "oscam_rsssize":"##OSCAM_RSSSIZE##", 28 "server_procs":"##SERVER_PROCS##", 20 29 "cpu_load_0":"##CPU_LOAD_0##", 21 30 "cpu_load_1":"##CPU_LOAD_1##", -
trunk/webif/api.xml/header.xml
r8418 r10000 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 <oscam version="##CS_VERSION## build r##CS_SVN_VERSION##" revision="##CS_SVN_VERSION##" starttime="##APISTARTTIME##" uptime="##API UPTIME##" readonly="##APIREADONLY##">2 <oscam version="##CS_VERSION## build r##CS_SVN_VERSION##" revision="##CS_SVN_VERSION##" starttime="##APISTARTTIME##" uptime="##APIRUNTIME##" readonly="##APIREADONLY##"> -
trunk/webif/graph/graph.svg
r9974 r10000 1 1 <?xml-stylesheet type="text/css" href="site.css" ?> 2 <svg xml:space='preserve' xmlns='http://www.w3.org/2000/svg' 3 xmlns:xlink='http://www.w3.org/1999/xlink' 4 width='100%' height='100%' 2 <svg 3 xmlns='http://www.w3.org/2000/svg' 4 width='100%' 5 height='100%' 5 6 viewBox='0 0 800 400' 6 7 preserveAspectRatio='YMid' 7 8 onload='init(evt)' 8 style='background-color:#F0F0F0' 9 > 10 <g id='graph' style='font-family: Verdana, Arial; '> 11 <rect id='g' class='graph_bg' x1='0' y1='0' width='800' height='400' style='fill:#F0F0F0;' /> 9 class='graph' > 10 <g id='graph' > 11 <rect id='g' class='graph_bg' x1='0' y1='0' width='800' height='400' /> 12 12 <text id='graph_error' class='graph_error' x='400' y='125' visibility='hidden'>Error occured!</text> 13 13 <path id='graph_grid' class='graph_grid' d='M 2 105 L 798 105 M 2 180 L 798 180 M 2 255 L 798 255 M 2 330 L 798 330'/> 14 14 15 <rect id='graph_grid_button_back' style='fill:#A9D0F5;' cursor='pointer' x='425' y='5' rx='5' ry='5' width='40' height='20'/>16 <text id='graph_grid_button_text' style='font-size:8px; fill:black;' cursor='pointer' class='graph_grid_txt' x='460' y='17'>Change</text>17 <text id='graph_grid_interval' style='font-size:8px; fill:black;' class='graph_grid_txt' x='420' y='17'>-</text>15 <rect id='graph_grid_button_back' class='graph_button' cursor='pointer' x='425' y='5' rx='5' ry='5' width='40' height='20'/> 16 <text id='graph_grid_button_text' cursor='pointer' class='graph_top_txt' x='460' y='17'>Change</text> 17 <text id='graph_grid_interval' class='graph_top_txt' x='420' y='17'>-</text> 18 18 <rect id='graph_grid_button' style='opacity:0;' cursor='pointer' x='340' y='5' rx='5' ry='5' width='130' height='20'/> 19 19 … … 22 22 <text id='graph_grid_txt2' class='graph_grid_txt' x='798' y='178'>-</text> 23 23 <text id='graph_grid_txt1' class='graph_grid_txt' x='798' y='103'>-</text> 24 </g>24 </g> 25 25 <script type='text/ecmascript'> 26 26 <![CDATA[ … … 96 96 } 97 97 if ( interval<250 ) interval = 10000; 98 SVGDoc.getElementById('graph_grid_interval').firstChild.data = 'Refresh: '+interval+'ms';98 SVGDoc.getElementById('graph_grid_interval').firstChild.data = 'Refresh: '+interval+'ms'; 99 99 window.clearInterval(activeTask); 100 100 activeTask = setInterval('fetch_data()', interval); … … 111 111 var obj = SVGDoc.getElementById('graph_txt_'+id[2]); 112 112 if ( evt.type=='mouseover' ) { 113 obj.setAttributeNS(null,'style',' font-size:9px;display:;');113 obj.setAttributeNS(null,'style',''); 114 114 } else if ( evt.type=='mouseout' ) { 115 obj.setAttributeNS(null,'style',' font-size:9px;display:none;');115 obj.setAttributeNS(null,'style','display:none;'); 116 116 } 117 117 } … … 181 181 if ( hideLabels ) { 182 182 newText.setAttributeNS(null,'y',13); 183 newText.setAttributeNS(null,'style',' font-size:9px;display:none;');183 newText.setAttributeNS(null,'style','display:none;'); 184 184 } else { 185 185 newText.setAttributeNS(null,'y',13+(10*i)); 186 newText.setAttributeNS(null,'style',' font-size:9px');186 newText.setAttributeNS(null,'style',''); 187 187 } 188 188 var textNode = document.createTextNode(plots[i]['name']); … … 196 196 var newPath = document.createElementNS(svgNS,'path'); 197 197 newPath.setAttributeNS(null,'id','graph_path_'+i); 198 newPath.setAttributeNS(null,' fill','none');198 newPath.setAttributeNS(null,'class','graph_curve'); 199 199 newPath.setAttributeNS(null,'stroke',Color[ i - (parseInt(i/Color.length)*Color.length)]); 200 newPath.setAttributeNS(null,'stroke-width','1');201 newPath.setAttributeNS(null,'stroke-opacity','0.8');202 200 if ( hideLabels ) { 203 201 newPath.addEventListener('mouseover', showlabel, false); -
trunk/webif/include/css.css
r9997 r10000 371 371 background-color:#999 372 372 } 373 th .nameinfo_second { 374 text-transform:none; 375 font-weight:normal 376 } 373 377 table.infotable th:first-child { 374 378 width:100px … … 499 503 text-align:center; 500 504 word-wrap:normal; 501 position:relative;502 505 width:40px 503 506 } … … 737 740 738 741 /* **************** 15. GRAPH */ 742 svg.graph {background-color:#F0F0F0;font-family:Arial;font-size:9px} 739 743 rect.graph_bg {fill:white} 744 rect.graph_button {fill:#A9D0F5} 740 745 text.graph_error {text-anchor:middle;fill:red} 741 text.graph_grid_txt {text-anchor:end;font-size:12px;fill:gray} 742 path.graph_grid {stroke-opacity:0.5;stroke:gray} 746 text.graph_top_txt {text-anchor:end} 747 text.graph_grid_txt {text-anchor:end;fill:gray} 748 path.graph_grid {stroke-opacity:0.5;stroke-width:0.7px;stroke:gray} 749 path.graph_curve {stroke-opacity:0.8;stroke-width:0.7px;fill:none} 743 750 744 751 /* **************** 16. SORTING IN TABLE */ -
trunk/webif/include/footer.html
r9699 r10000 3 3 <UL CLASS="textfooter"> 4 4 <LI CLASS="developed"><B>OSCAM Webinterface developed by Streamboard Team</B></LI> 5 <LI><B>Current Time:</B><span id="curtime"> ##CURDATE## | ##CURTIME## </span><B>Start Time:</B> ##STARTDATE## | ##STARTTIME## <B> Up Time: </B> <span id="uptime"> ##UPTIME##</span></LI>6 <LI><B>Process ID:</B> ##PROCESSID## <B>Access from:</B> ##CURIP## <B>Run as:</B> ##RUNAS## < /LI>5 <LI><B>Current Time:</B><span id="curtime"> ##CURDATE## | ##CURTIME## </span><B>Start Time:</B> ##STARTDATE## | ##STARTTIME## <B>Run Time:</B><span id="runtime"> ##RUNTIME##</span></LI> 6 <LI><B>Process ID:</B> ##PROCESSID## <B>Access from:</B> ##CURIP## <B>Run as:</B> ##RUNAS## <B>##UPTIMETXT##</B><span id="uptime"> ##UPTIME##</span></LI> 7 7 <LI><B>OSCAM:</B> ##CS_VERSION## <B>Build:</B> r##CS_SVN_VERSION## <B>Compiler:</B> ##CS_TARGET##</LI> 8 8 <LI CLASS="styleauthor">WebIf Style by <A NAME="statusfooter"></A></LI> -
trunk/webif/include/jscript.js
r9980 r10000 346 346 347 347 /* 348 * Gen aral: Update page footer348 * General: Update page footer and failbannotifier 349 349 */ 350 350 function updateFooter(data) { 351 351 $("#curtime").text(' ' + data.oscam.curdate + ' | ' + data.oscam.curtime + ' '); 352 $("#uptime").text(' ' + data.oscam.uptimefmt); 352 $("#runtime").text(' ' + data.oscam.runtime); 353 $("#uptime") .text(' ' + data.oscam.uptime); 354 355 if ($("#fbnotifier > span.span_notifier").length) { 356 if (data.oscam.failbannotifier > 0) { 357 $("#fbnotifier > span.span_notifier") 358 .text(data.oscam.failbannotifier); 359 } 360 else { 361 $("#fbnotifier > span.span_notifier").remove(); 362 } 363 } 364 else if (data.oscam.failbannotifier > 0) { 365 $("#fbnotifier") 366 .append('<SPAN CLASS="span_notifier">'+ data.oscam.failbannotifier + '</SPAN>'); 367 } 353 368 } 354 369 … … 958 973 $("#mem_cur_used").text(data.oscam.sysinfo.mem_cur_used); 959 974 $("#mem_cur_buff").text(data.oscam.sysinfo.mem_cur_buff); 975 $("#mem_cur_cached").text(data.oscam.sysinfo.mem_cur_cached); 976 $("#mem_cur_freem").attr('title', 'max Free: ' + data.oscam.sysinfo.mem_cur_freem + ' \n(incl. Buffer & Cached)'); 977 $("#mem_cur_totalsw").text(data.oscam.sysinfo.mem_cur_totalsw); 978 $("#mem_cur_freesw").text(data.oscam.sysinfo.mem_cur_freesw); 979 $("#mem_cur_usedsw").text(data.oscam.sysinfo.mem_cur_usedsw); 980 $("#mem_cur_shared").text(data.oscam.sysinfo.mem_cur_shared); 960 981 $("#oscam_vmsize").text(data.oscam.sysinfo.oscam_vmsize); 961 982 $("#oscam_rsssize").text(data.oscam.sysinfo.oscam_rsssize); 983 $("#server_procs").text(data.oscam.sysinfo.server_procs); 962 984 $("#cpu_load_0").text(data.oscam.sysinfo.cpu_load_0); 963 985 $("#cpu_load_1").text(data.oscam.sysinfo.cpu_load_1); … … 1332 1354 1333 1355 // update footer 1334 updateFooter(data) 1356 updateFooter(data); 1335 1357 1336 1358 // sysinfos … … 1361 1383 1362 1384 // show heartbeat 1363 if ($("input.pintervall").length ) {1385 if ($("input.pintervall").length && $("input.pintervall").css("background-color") != $("#picolor").css("background-color")) { 1364 1386 var orgstyle = $("input.pintervall").css("background-color"); 1365 1387 $("input.pintervall").css("background-color", $("#picolor").css("background-color")); … … 1387 1409 1388 1410 // hide heartbeat 1389 if ($("input.pintervall").length ) {1411 if ($("input.pintervall").length && $("input.pintervall").css("background-color") == $("#picolor").css("background-color")) { 1390 1412 setTimeout(function () { 1391 1413 $("input.pintervall").css("background-color", orgstyle); -
trunk/webif/include/menu.html
r9619 r10000 8 8 <LI CLASS="##MENUACTIVE4##"><A HREF="services.html">Services</A></LI> 9 9 <LI CLASS="##MENUACTIVE5##"><A HREF="files.html?file=oscam.version">Files</A></LI> 10 <LI CLASS="##MENUACTIVE6##" ><A HREF="failban.html">Failban</A>##FAILBANNOTIFIER##</LI>10 <LI CLASS="##MENUACTIVE6##" ID="fbnotifier"><A HREF="failban.html">Failban</A>##FAILBANNOTIFIER##</LI> 11 11 ##TPLCACHEEXMENUITEM## 12 12 <LI CLASS="##MENUACTIVE8##"><A HREF="script.html">Scripts</A></LI> -
trunk/webif/status/status_clientstatusbit.html
r9581 r10000 1 <TR ID="##CSIDXPLAIN##" CLASS="##CLIENTTYPE##" >1 <TR ID="##CSIDXPLAIN##" CLASS="##CLIENTTYPE##" data-ecmhistory="##CLIENTLASTRESPONSETIMEHIST##"> 2 2 <TD CLASS="statuscol0">##HIDEIDX##</TD> 3 3 <TD CLASS="statuscol1">##CSIDX##</TD> -
trunk/webif/status/status_lblvaluereaderbit.html
r9964 r10000 1 <A HREF="readerstats.html?label=##LBLVALUEENC##&show=0" TITLE="Show statistics for: ##LBLVALUE ENC##">##LBLVALUE## (##MSVALUE## ms)</A>1 <A HREF="readerstats.html?label=##LBLVALUEENC##&show=0" TITLE="Show statistics for: ##LBLVALUETITLE##">##LBLVALUE## (##MSVALUE## ms)</A> -
trunk/webif/status/status_systeminfo.html
r9784 r10000 2 2 <TR><TH COLSPAN="13" CLASS="nameinfo">Memory Info</TH></TR> 3 3 <TR> 4 <TH>System Ram</TH>4 <TH>System</TH> 5 5 <TD COLSPAN="3" CLASS="centered"><B>Total:</B> <span id="mem_cur_total">##MEM_CUR_TOTAL##</span></TD> 6 <TD COLSPAN="3" CLASS="centered"><B>Free:</B> <span id="mem_cur_free">##MEM_CUR_FREE##</span></TD>7 6 <TD COLSPAN="3" CLASS="centered"><B>Used:</B> <span id="mem_cur_used">##MEM_CUR_USED##</span></TD> 8 <TD COLSPAN="3" CLASS="centered"><B>Buffer:</B> <span id="mem_cur_buff">##MEM_CUR_BUFF##</span></TD> 7 <TD COLSPAN="2" CLASS="centered" id="mem_cur_freem" title="max Free: ##MEM_CUR_FREEM##
(incl. Buffer & Cached)"><B>Free:</B> <span id="mem_cur_free">##MEM_CUR_FREE##</span></TD> 8 <TD COLSPAN="2" CLASS="centered"><B>Buffer:</B> <span id="mem_cur_buff">##MEM_CUR_BUFF##</span></TD> 9 <TD COLSPAN="2" CLASS="centered"><B>Cached:</B> <span id="mem_cur_cached">##MEM_CUR_CACHED##</span></TD> 10 </TR> 11 <TR> 12 <TH>Swap</TH> 13 <TD COLSPAN="3" CLASS="centered"><B>Total:</B> <span id="mem_cur_totalsw">##MEM_CUR_TOTSW##</span></TD> 14 <TD COLSPAN="3" CLASS="centered"><B>Used:</B> <span id="mem_cur_usedsw">##MEM_CUR_USESW##</span></TD> 15 <TD COLSPAN="3" CLASS="centered"><B>Free:</B> <span id="mem_cur_freesw">##MEM_CUR_FRESW##</span></TD> 16 <TD COLSPAN="3" CLASS="centered"><B>Shared:</B> <span id="mem_cur_shared">##MEM_CUR_SHARE##</span></TD> 9 17 </TR> 10 18 <TR> … … 17 25 <TR><TH COLSPAN="13" CLASS="nameinfo">Load Average</TH></TR> 18 26 <TR> 19 <TH>SYSTEM</TH> 20 <TD COLSPAN="4" CLASS="centered"><B>last 1 minute:</B> <span id="cpu_load_0">##CPU_LOAD_0##</span></TD> 21 <TD COLSPAN="4" CLASS="centered"><B>last 5 minutes:</B> <span id="cpu_load_1">##CPU_LOAD_1##</span></TD> 22 <TD COLSPAN="4" CLASS="centered"><B>last 15 minutes:</B> <span id="cpu_load_2">##CPU_LOAD_2##</span></TD> 27 <TH>System</TH> 28 <TD COLSPAN="3" CLASS="centered"><B>last 1 minute:</B> <span id="cpu_load_0">##CPU_LOAD_0##</span></TD> 29 <TD COLSPAN="3" CLASS="centered"><B>last 5 minutes:</B> <span id="cpu_load_1">##CPU_LOAD_1##</span></TD> 30 <TD COLSPAN="3" CLASS="centered"><B>last 15 minutes:</B> <span id="cpu_load_2">##CPU_LOAD_2##</span></TD> 31 <TD COLSPAN="3" CLASS="centered" title="Processes incl. all Threads"><B>Processes:</B> <span id="server_procs">##SERVER_PROCS##</span></TD> 23 32 </TR> 24 <TR><TH COLSPAN="13" CLASS="nameinfo">CPU Usage since last refresh (<span id="oscam_refresh">##OSCAM_REFRESH##</span>)</TH></TR>33 <TR><TH COLSPAN="13" CLASS="nameinfo">CPU Usage since last refresh <span class="nameinfo_second">(<span id="oscam_refresh">##OSCAM_REFRESH##</span>)</span></TH></TR> 25 34 <TR> 26 35 <TH>OSCam</TH>
Note:
See TracChangeset
for help on using the changeset viewer.