From 5c9ac190b56179b8fa329633d03f3a88667e95a3 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Sun, 15 Nov 2020 23:52:42 -0800 Subject: [PATCH] Added cpu/memory realtime graph. --- agents/meshcore.js | 7 +++ meshuser.js | 3 + public/images/details/graph32.png | Bin 0 -> 2799 bytes public/images/details/graph64.png | Bin 0 -> 7643 bytes public/images/views.png | Bin 2842 -> 2901 bytes public/styles/style.css | 12 ++++ translate/translate.json | 14 ++++- views/default.handlebars | 98 ++++++++++++++++++++++++++++-- 8 files changed, 128 insertions(+), 6 deletions(-) create mode 100644 public/images/details/graph32.png create mode 100644 public/images/details/graph64.png diff --git a/agents/meshcore.js b/agents/meshcore.js index 0f1dc030..b9e514eb 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -952,6 +952,13 @@ function createMeshCore(agent) { p.then(function (u) { mesh.SendCommand({ action: 'msg', type: 'userSessions', sessionid: data.sessionid, data: u, tag: data.tag }); }); break; } + case 'cpuinfo': + // CPU & memory utilization + var cpuuse = require('sysinfo').cpuUtilization(); + cpuuse.sessionid = data.sessionid; + cpuuse.tag = data.tag; + cpuuse.then(function (data) { mesh.SendCommand(JSON.stringify({ action: 'msg', type: 'cpuinfo', cpu: data, memory: require('sysinfo').memUtilization(), sessionid: this.sessionid, tag: this.tag })); }, function (ex) { }); + break; default: // Unknown action, ignore it. break; diff --git a/meshuser.js b/meshuser.js index 812defbd..9a41c189 100644 --- a/meshuser.js +++ b/meshuser.js @@ -3899,6 +3899,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) { if ((node == null) || (((rights & MESHRIGHT_AGENTCONSOLE) == 0) && (user.siteadmin != SITERIGHT_ADMIN))) return; + // TODO: If we have peer servers, inform... + //if (parent.parent.multiServer != null) { parent.parent.multiServer.DispatchMessage({ action: 'uploadagentcore', sessionid: ws.sessionId }); } + if (command.type == 'default') { // Send the default core to the agent parent.parent.updateMeshCore(function () { parent.sendMeshAgentCore(user, domain, node._id, 'default'); }); diff --git a/public/images/details/graph32.png b/public/images/details/graph32.png new file mode 100644 index 0000000000000000000000000000000000000000..6058ee06b60c70d739c7ab099534d94bfc572f2f GIT binary patch literal 2799 zcmV)P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3WP~SK~z{rtypW2 z990$mx_cfwyR*BqJGGD^L3_-1b8jUlZz zSH-HW7ou~`T9~Gb()a`p?%q>6vM=f;06Tg0j7574k7YYQ+_QDj#--aePv3ri@Qq%x z(1uwpgFx316uU4z^ftWG3kVK=V0srwJT+dKYI{)O@6^y9|P;X51plQln( z$ohb^lS&-gFysx5X@Lv9G6T34QW+237ahiiJNKdQh7!^%LoI6WYi?L~(Te=09XI6$ zxBoa=-ty;nZu#Jh=*qZgjVifC04m{_Y~k!AxhY}mlLJ_N`{$8cy#wj)EyynJ16r2D zEO+7fUJH}MwqcpIcD{Yu*8XmZ8DL_gO8a4?7?3iPj1Oy7uIM4#UWA?=Ksvt~*|zn_ zG+%*ZFAQPg81-2 z+M{r$hvC;I5m;03sS)$$OhgaaQ{-KrIUqnnehB@MRZ)f&0Oo^6igdjOO&f!e(O@*R zkZ`tYx2%%$j2WP_V6`D&4g?H=gh4S-t%6?_swi;yyv8Kuq;QP2+l*{s1)7$81TCwt zRo7I$2Y02KSFXCbH61Vg{zQ5XJs<k>QxYK08#B2E$*lrPP z(&ypA&W~Yz#~`{>XJP!%B>wis%h*4%7Zt0Vm^rn?0Fn}nSx6X=GL#uA1Z2QtNc<8L zwyHv4a1ZIo_Mk1@iDtB;!E3_Efus2Q{#P(%9!J?O!QwlolNbQ!2?Ht#i9{Na^Z)@M z8&l{p2NeC21R_-u60i@Cd7zQ{e7XfSw*rgcDozZE?+w^|{`O>mSC3zV z)+IMzwRz*Zr&p~R*xlZ}>go2+Ja~Q2XTP&VS*PgYJ=x}hbr#5gLxVIfIUqY@=;witu`OO{`8!NB#~ww(L3 zVqwt}v3UU?EjaN$43a*OB%qX`0>JygsSpHr$@w`z3<08`ffy9 zzEf?oH9z8hs-d$bi@vr-bQhX+T}$!w8;j277RNi$7yzqaJ_EvtBYi+BgbxX{&VbDl zk_wQR)uLWBW_xkTvR3RkXA!PGy90wuo3SFFf^XWGp0!Y^k-~YR%SKd}y2k-y!msl} zKt_aq8W)vH30R)ueU)V=U|2s40e4A;A2gvP6|D zL2&wslanqBibP_ZrJw+a$}>>{hz-klodE(M1CD32+sRRiE+wmqaRq`pX$5czUKtnl zM7i<_^AZ9<$xN(SGdzp3{+0Lff{FzJRX3cd4AgVLWs{P*0*V8C7BgT`OLh#v77)A_ z5EfNqsOqAZN@FOSV=P4)SFxqXVwi)X(w*vtY4cjfbYTf&? zL->3yIUsAx0Y(ff@8>fxd}Pn2YHi{!&fcptWyko#0gf)D71`B%*)O`P}H$qvt*_wEuVKA0K*t$6VF@t7d3c#5r6qPQt{n z=V+)^G&mLq_!noXvO^WBlMv9jqMiea0eT;Uh*?lT_$eP8iRE_OX6~H$!msunZ@hTK z%wJoJvcC;A-SoMF90@CB9hH&}&y`Tk_nt5FLrzmZ!HQu45wjw3=aF8#J`n<5V*=!p zckhy~W6HbHG@t#~c=M-*CYmo9c2nOAOiYmlagvNsC0As90YdfIBOLA*(w=3Y9uoN; zGavvGRo3}~6zXRjx35!({BPKotkP>2y=mW>8OFwZHM}<;1V`itJUI~S@R+4$l?M@? zAH{pAq8QmphFmfteyT*QhX6c8^2Z&u`IG?W%j!ok(*JFID?5e{1#Q^)k4&7{-WhHPeaDq5=_3pVJ-XgDDCIt}KSJeK9EO^VJ(Gh+u2?ceqI z!~X2(Aue@TNLdi+zqM^C8t>ayTt0YD*i`6X-`5O=rJcK7wOmEocY-6YKKI8XyB>Wo zvdb^=75<=1YH=Z@Sbf^Z85n?)u61?YEv8N`~eM@Nc4eia#`y6|evR002ovPDHLkV1jRv BH4y*+ literal 0 HcmV?d00001 diff --git a/public/images/details/graph64.png b/public/images/details/graph64.png new file mode 100644 index 0000000000000000000000000000000000000000..069ca2a0fdb9295b632717cbef956f81385b0563 GIT binary patch literal 7643 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%0Dq7z%nM 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 JPDHLkV1hIIS402+ literal 0 HcmV?d00001 diff --git a/public/images/views.png b/public/images/views.png index 00f61b26876242d99a42f6d01aba4b9fe7e3c460..ff655385990b83e399bc38880eaba9d481661e41 100644 GIT binary patch delta 1850 zcmV-A2gUfB7S$FmiBL{Q4GJ0x0000DNk~Le0004O0000S2m=5B0CE&{{r~^~0drDE zLIAGL9Ov#)6!3cp6 zGzn2r;w5>>cd(??-cu_x%QQ2xSF}t^GtD>DOp*U{d*+$n&d%)3?&5vCtWSMEz&tN| z`^@}qZ)Rr?$NitbjS`D}duHczli$z6V;ryozPl2ENArKaTdJ0P(AB4F9aNQmCRQfQ&>us+4q3!$W9U+-x?OU;G0 zj>|G2ko{T%k69yQ@WNQvBo8wgJ|34Nda4isEgvGm9&Dh63UZ2=dLfil?4$KRb9?Ej z1Kcv`7(9Q*67t!#6vmFOvO?11U&ZB!%?${F_9HT`6{cBjWgwJtoPDCT5LqwuEu#3| zauhJhU8J<1BiC?T_oohciJ=>&<1sV=gn+e+?{?(Ey8bXwm0RdnOl>M4 zliWTip|7Lxc0PR}=P9k_&YO#D8EB+Z9V*~r#hqJd2vjG zJ8oVZm2%E*ErYL-*{J61ClQh)+VweGKogm;d*P~77h8oy*0YU-q4@qx+D6rHl=gGv z8cy^ZA?euzUP;9E%8M#6jE+gOfTG1NmUyxEwO-+N zw)=loZkfP`Rhi<0Y_P34l~0K=!7q*2N@Cse6R?BCh#m5>u(K_Ic(E_Gj9#N=c3XqE zDFJ+cjYBm9>yu*l@>D({bw#8^Vq5znp!HGnOp3m;i(Me&#dbePbiO}xs5|k_90CeH z(l8A6_mt(G3eKr)PS_3ZNI>jqksE2T4Ss)^b40&+pPgtsjD$elc*@qlDV6>fcm|R6 zqQus8G7zFg3Az`y9SVQ; z%-vF%(WDNFJ(%X8hZKA8Dfyu{@Wt+{K}e#Dy#g_+0>e@BSptCy=_X|(h^!Z;b>T=K zF861s6VnBgNEENsIkmdfs_R){*Sq}zu}_Fx|5EGVIY+FmMo5xqJA_0GQ+zm_7m}5* zV(O_^!0>&vMG(KK5$sHi!&)FORXKmPbaSnN1jJr%ikkFkODet(alJfGF_2%d2<@qFDJu|z(l_)U%A=F8%S#Dd-hlNYlYN0%F6 z7JHGqE+DpiHqvMldm!xD$g+b-7|$GG_|GFXNaM$ok5N0xuB;an8}*dd{HuTZ&m%2% zfsD$5yVrlebsu&BIxt}P9Nm!4X>ub9vHNUd_gSxOCHCsTm92>#u|OIOB?V8zll3CS z_Wo+4BeU2AGEVF}XAW-eTHJTw7x)Hzq+uBB>rUkofm=UJBLlWMd%(V6d2{x<-~y@7 z*`c?72COwE5m}F<7RXl#{5gM{PsX&k?baBJ2N)b!kO&QTDs(FjNsl6P&MsCF0u5Vm~kfiLHg*=GT z_|#nmt+Vd)B7l1Hd^&#*ub%A;4289e(jaaTjM~)PKK0rPZ%g1&w(9L4Zdrx|*Veje}qc7cp$?#{W*=(#}NovyZBaT){EDQ0X4ci@;rYsj~e++O{e)5F!@pS zP0bR7B!q34QRd=zzd@UV$06J29^-57s(ycz(n$o6q}g) z@r_;6VnGF{t!*6^_^%8hVt*}iA%o`}Q6TnFBt&muDZ+YkOl@gm>xEEyv4gO#gu1Q% o*Zh-?w>lQhqZ#3U64(6;633R9gfZ4R00000NkvXXu0jG}g2qsjSO5S3 delta 1790 zcmV@6El4c|3bhaEL*6Y)74R*fBBBT)R(uu|K|ut0 z6%e8H|6K3f`F3_@Gn>@VoE|;?&VS+TeeCX?`La7RJH>JTXF(~mp!cTtJU{Wn3_QjG ztKqwA5Llew)>8Gc8dBa~Tb1ZnS`dO8##k%PGZ^`*SdJLXA_7)^ zf`n)dEQJ>83Tsn%y|M~=tGoFE9WJ-FUy}iWti2u{vtGvFg|V?oo@O$1s()CH=&nWt zw0wjFd$55P%F8Lj>y=f|6ZOCF@#>1hd}L4@9%Bjl>|G9HcV|UD@v*Oq<%n$!2!Xca zGOiV-5ok>y6my(|;%Fhf9$k5$5;rkPU7-v89Jz+$x<9wWiwxd29go3r7;kmKAaI^0 z9|BfE-)m1<;|qkU+(Q4vFn^>1GRen(1YNRA-Xo7ol-6>WOviP{VH1~3$D`33s=iCW zAaIu7Sh%*p`Rnya0-hp>D~|H{TvK}ThDktLw%9H#z1{Vl7AWwuPlOk<)xrN z%Sbbif`XPxaX}B}uJduG>oqBJ5KC3(@{Lw&!JuS;cHMhVECNuPb8I`rl9rikSS>TOOYFD zwsmljbHwJLpdTYa_@5Op)F+33%U(nj;q~Y~rA|s$H{`&Mdw-_mbF+gAIbuT%LXt@9Q6!2m$*044F`9u@sNQ1; zT6|$I*b^CpHGfZDu6DAt_|!lGf^ISeO?@G9o0=>gtQz1P(PIkgS3(I#kr z*th)3BS;u~T`>H8Fb&f2$>7q;`m;BSZr&o5WF(;hCJ4G4M5#L*6XEIg5}a z)}}3+tZfOf((QntmF`m_!1Y*9+)}{xY?sfIa6zXhd(1(rY1bL~5lYPe)3d1}!OtE1 zjA-;ycQnDR_o(K@`)JOTnMrQ(7WM;m2uWgX+JC~H%M-d4fF4Zf$reRqJyTCvkFG9t zQVL(#&m1v7^_Ypvk9ar@*&JDy-;wVJ>*5YQq;RWa#4>klLL3z}{CT;xtrEUQYS{bq z+_D5ANyW4C*&NaM%v}pTlkN*5fO>O$I}ff$7i$lfL9vOa(8B)S+1FQl%VLj;weS3R z*MHJ%xR!pn$9k%1IS;2sY~nV$JCeMc>rs0~4)@K-|k3y@vLZcqq{rJt@o&vJN6x> z%uISj?bt6vND^5C6-O}2!5CYoVn z#ZTGfj;HxI^~kbl^eQ11~h&O;Du2JL1klL151d;@91u6;H6(QL5bO)-c#H= zB_=Vz4KC%+$RUD$BXS`fkHK@zo0=_J3=ix|26;7!JCl^ gvN*l?&*Hj&1Ckm94=T4W<^TWy07*qoM6N<$f*zz%`2YX_ diff --git a/public/styles/style.css b/public/styles/style.css index aab00387..ed4b672d 100644 --- a/public/styles/style.css +++ b/public/styles/style.css @@ -692,6 +692,10 @@ body { float: right; } +#devListToolbarViewIcons3 { + float: right; +} + #devListToolbarSpan { width: 100%; height: 24px; @@ -2803,6 +2807,14 @@ a { width: 28px; } +.viewSelector6 { + margin-left: 2px; + margin-top: 2px; + background: url(../images/views.png) -336px 0px; + height: 28px; + width: 28px; +} + .fulldesk .viewSelector5 { background: url(../images/views.png) -252px 0px; } diff --git a/translate/translate.json b/translate/translate.json index 6f15a354..ae624b93 100644 --- a/translate/translate.json +++ b/translate/translate.json @@ -11062,7 +11062,7 @@ "zh-chs": "细节 -", "zh-cht": "細節 -", "xloc": [ - "default.handlebars->container->column_l->p17->p17title->3" + "default.handlebars->container->column_l->p17->p17title->5" ] }, { @@ -21114,6 +21114,12 @@ "default.handlebars->29->1161" ] }, + { + "en": "Live Graph", + "xloc": [ + "default.handlebars->container->column_l->p17->p17info->p17graph->1->1->0->3->1->0" + ] + }, { "cs": "Načítání…", "de": "Laden...", @@ -32945,6 +32951,12 @@ "default.handlebars->29->1420" ] }, + { + "en": "Show device CPU and memory usage.", + "xloc": [ + "default.handlebars->container->column_l->p17->p17title->devListToolbarViewIcons3" + ] + }, { "cs": "Zobrazit informace o umístění zařízení", "de": "Geräte-Standortinformationen anzeigen", diff --git a/views/default.handlebars b/views/default.handlebars index 8dcbab94..4bc3be1b 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -875,9 +875,27 @@