p3x-redis-ui-material
Version:
💿 The p3x-redis-ui-material web interface that connects to the p3x-redis-ui-server via http and socket.io
1 lines • 28.5 kB
JavaScript
"use strict";(self.webpackChunkp3x_redis_ui_material=self.webpackChunkp3x_redis_ui_material||[]).push([[1537],{93300(t,i,e){e.d(i,{B:()=>g});var n=e(63924),s=e(66608),o=e(30943),r=e(33825),l=e(46256),a=e(23232),c=e(51218),d=e(65209),h=e(34503);const m=[[["","actions",""]],[["","content",""]]],p=["[actions]","[content]"];function u(t,i){1&t&&(c.j41(0,"div",6),c.SdG(1,1),c.k0s())}class g{i18n;title="";accordionKey="";strings;extended=!0;static counter=0;storageKey="";constructor(t){this.i18n=t,this.strings=this.i18n.strings}ngOnInit(){this.accordionKey||(this.accordionKey=String(++g.counter)),this.storageKey=`p3xr-accordion-extended-${this.accordionKey}`,this.loadState()}toggle(){this.extended=!this.extended,this.saveState()}loadState(){try{const t=localStorage.getItem(this.storageKey);this.extended=null===t||"true"===t}catch{this.extended=!0}}saveState(){try{localStorage.setItem(this.storageKey,String(this.extended))}catch{}}static ɵfac=function(t){return new(t||g)(c.rXU(a.W))};static ɵcmp=c.VBU({type:g,selectors:[["p3xr-ng-accordion"]],inputs:{title:"title",accordionKey:"accordionKey"},ngContentSelectors:p,decls:11,vars:8,consts:[[1,"p3xr-accordion-wrapper"],[1,"p3xr-accordion-toolbar"],[1,"p3xr-accordion-toolbar-inner"],[1,"p3xr-accordion-title",3,"click"],[1,"p3xr-accordion-actions"],["mat-icon-button","",1,"p3xr-accordion-toggle",3,"click","matTooltip"],[1,"p3xr-accordion-content"]],template:function(t,i){if(1&t&&(c.NAR(m),c.j41(0,"div",0)(1,"mat-toolbar",1)(2,"div",2)(3,"span",3),c.bIt("click",(function(){return i.toggle()})),c.EFF(4),c.k0s(),c.j41(5,"div",4),c.SdG(6),c.k0s(),c.j41(7,"button",5),c.bIt("click",(function(){return i.toggle()})),c.j41(8,"mat-icon"),c.EFF(9),c.k0s()()()(),c.nVh(10,u,2,0,"div",6),c.k0s()),2&t){let t;c.R7$(),c.AVh("p3xr-collapsed",!i.extended)("mat-elevation-z1",!i.extended),c.R7$(3),c.SpI(" ",i.title," "),c.R7$(3),c.Y8G("matTooltip",i.extended?(null==(t=i.strings().intention)?null:t.collapse)||"Collapse":(null==(t=i.strings().intention)?null:t.extend)||"Extend"),c.R7$(2),c.JRh(i.extended?"keyboard_arrow_up":"keyboard_arrow_down"),c.R7$(),c.vxM(i.extended?10:-1)}},dependencies:[n.MD,s.s5,s.KQ,o.Hl,d.iY,r.m_,r.An,l.uc,h.oV],styles:["[_nghost-%COMP%] { display: block; }\n .p3xr-accordion-wrapper[_ngcontent-%COMP%] {\n margin-bottom: 0;\n }\n .p3xr-accordion-toolbar[_ngcontent-%COMP%] {\n height: 48px;\n min-height: 48px;\n max-height: 48px;\n font-size: 20px;\n font-weight: 400;\n background-color: var(--p3xr-accordion-bg) !important;\n color: rgba(0, 0, 0, 0.87) !important;\n padding: 0;\n border-radius: 4px 4px 0 0;\n box-shadow: 0 1px 1px rgba(0,0,0,0.3);\n }\n .p3xr-accordion-toolbar.p3xr-collapsed[_ngcontent-%COMP%] {\n box-shadow: 0 1px 1px rgba(0,0,0,0.4);\n border-radius: 4px;\n }\n \n .p3xr-accordion-toolbar-inner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n width: 100%;\n height: 48px;\n padding: 0 8px 0 16px;\n box-sizing: border-box;\n }\n .p3xr-accordion-content[_ngcontent-%COMP%] {\n border: 1px solid var(--p3xr-accordion-bg);\n border-radius: 0 0 4px 4px;\n }\n .p3xr-accordion-title[_ngcontent-%COMP%] {\n flex: 1;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .p3xr-accordion-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n .p3xr-accordion-toggle[_ngcontent-%COMP%] {\n flex-shrink: 0;\n width: 40px !important;\n height: 40px !important;\n padding: 0 !important;\n }"]})}},48982(t,i,e){e.d(i,{f:()=>w});var n=e(11228),s=e(63924),o=e(30943),r=e(33825),l=e(46256),a=e(90870),c=e(51218),d=e(65209),h=e(34503);function m(t,i){if(1&t&&(c.j41(0,"mat-icon"),c.EFF(1),c.k0s()),2&t){const t=c.XpG(3);c.R7$(),c.JRh(t.mdIcon)}}function p(t,i){if(1&t&&c.nrm(0,"i"),2&t){const t=c.XpG(3);c.HbH(t.faIcon)}}function u(t,i){if(1&t&&(c.j41(0,"button",0),c.nVh(1,m,2,1,"mat-icon"),c.nVh(2,p,1,2,"i",2),c.j41(3,"span"),c.EFF(4),c.k0s()()),2&t){const t=c.XpG(2);c.Y8G("ngClass",t.classes)("disabled",t.disabled),c.R7$(),c.vxM(t.mdIcon?1:-1),c.R7$(),c.vxM(t.faIcon?2:-1),c.R7$(2),c.JRh(t.label)}}function g(t,i){if(1&t&&(c.j41(0,"mat-icon"),c.EFF(1),c.k0s()),2&t){const t=c.XpG(3);c.R7$(),c.JRh(t.mdIcon)}}function b(t,i){if(1&t&&c.nrm(0,"i"),2&t){const t=c.XpG(3);c.HbH(t.faIcon)}}function f(t,i){if(1&t&&(c.j41(0,"button",1),c.nVh(1,g,2,1,"mat-icon"),c.nVh(2,b,1,2,"i",2),c.k0s()),2&t){const t=c.XpG(2);c.Y8G("ngClass",t.classes)("disabled",t.disabled)("matTooltip",t.label)("matTooltipPosition",t.tooltipPosition)("matTooltipDisabled",!t.label),c.BMQ("aria-label",t.label||null),c.R7$(),c.vxM(t.mdIcon?1:-1),c.R7$(),c.vxM(t.faIcon?2:-1)}}function y(t,i){if(1&t&&c.nVh(0,u,5,5,"button",0)(1,f,3,8,"button",1),2&t){const t=c.XpG();c.vxM(t.isWide?0:1)}}function v(t,i){if(1&t&&(c.j41(0,"mat-icon"),c.EFF(1),c.k0s()),2&t){const t=c.XpG(3);c.R7$(),c.JRh(t.mdIcon)}}function k(t,i){if(1&t&&c.nrm(0,"i"),2&t){const t=c.XpG(3);c.HbH(t.faIcon)}}function x(t,i){if(1&t&&(c.j41(0,"button",3),c.nVh(1,v,2,1,"mat-icon"),c.nVh(2,k,1,2,"i",2),c.j41(3,"span"),c.EFF(4),c.k0s()()),2&t){const t=c.XpG(2);c.Y8G("ngClass",t.classes)("disabled",t.disabled),c.R7$(),c.vxM(t.mdIcon?1:-1),c.R7$(),c.vxM(t.faIcon?2:-1),c.R7$(2),c.JRh(t.label)}}function R(t,i){if(1&t&&(c.j41(0,"mat-icon"),c.EFF(1),c.k0s()),2&t){const t=c.XpG(3);c.R7$(),c.JRh(t.mdIcon)}}function C(t,i){if(1&t&&c.nrm(0,"i"),2&t){const t=c.XpG(3);c.HbH(t.faIcon)}}function F(t,i){if(1&t&&(c.j41(0,"button",4),c.nVh(1,R,2,1,"mat-icon"),c.nVh(2,C,1,2,"i",2),c.k0s()),2&t){const t=c.XpG(2);c.Y8G("ngClass",t.classes)("disabled",t.disabled)("matTooltip",t.label)("matTooltipPosition",t.tooltipPosition)("matTooltipDisabled",!t.label),c.BMQ("aria-label",t.label||null),c.R7$(),c.vxM(t.mdIcon?1:-1),c.R7$(),c.vxM(t.faIcon?2:-1)}}function $(t,i){if(1&t&&c.nVh(0,x,5,5,"button",3)(1,F,3,8,"button",4),2&t){const t=c.XpG();c.vxM(t.isWide?0:1)}}class w{breakpointObserver;cdr;label="";mdIcon;faIcon;tooltipDirection="above";classes="";disabled=!1;raised=!1;isWide=!0;constructor(t,i){this.breakpointObserver=t,this.cdr=i,this.breakpointObserver.observe("(min-width: 720px)").subscribe((t=>{this.isWide=t.matches,this.cdr.markForCheck()}))}get tooltipPosition(){switch(this.tooltipDirection){case"top":default:return"above";case"bottom":return"below";case"above":case"below":case"left":case"right":case"before":case"after":return this.tooltipDirection}}static ɵfac=function(t){return new(t||w)(c.rXU(a.Q),c.rXU(n.gRc))};static ɵcmp=c.VBU({type:w,selectors:[["p3xr-ng-button"]],inputs:{label:"label",mdIcon:"mdIcon",faIcon:"faIcon",tooltipDirection:"tooltipDirection",classes:"classes",disabled:"disabled",raised:"raised"},decls:2,vars:1,consts:[["mat-flat-button","",3,"ngClass","disabled"],["mat-mini-fab","",3,"ngClass","disabled","matTooltip","matTooltipPosition","matTooltipDisabled"],[3,"class"],["mat-button","",1,"md-button-dark-hover-fix",3,"ngClass","disabled"],["mat-icon-button","",1,"md-button-dark-hover-fix",3,"ngClass","disabled","matTooltip","matTooltipPosition","matTooltipDisabled"]],template:function(t,i){1&t&&c.nVh(0,y,2,1)(1,$,2,1),2&t&&c.vxM(i.raised?0:1)},dependencies:[s.MD,s.YU,o.Hl,o.$z,o.$0,d.iY,r.m_,r.An,l.uc,h.oV],styles:["[_nghost-%COMP%] { display: inline-block; }\n [_nghost-%COMP%] button[_ngcontent-%COMP%] { margin: 0 !important; }"]})}},83543(t,i,e){e.d(i,{MonitoringComponent:()=>z});var n=e(11228),s=e(24698),o=e(63924),r=e(33825),l=e(30943),a=e(46256),c=e(774),d=e(86623),h=e(21443),m=e.n(h),p=e(23232),u=e(26265),g=e(77385),b=e(93300),f=e(48982),y=e(51218),v=e(34503),k=e(12027);const x=["memoryChart"],R=["opsChart"],C=["clientsChart"],F=["networkChart"],$=(t,i)=>i.id,w=(t,i)=>i.key;function j(t,i){if(1&t&&(y.j41(0,"div",4)(1,"mat-icon"),y.EFF(2,"hourglass_empty"),y.k0s(),y.j41(3,"span"),y.EFF(4),y.k0s()()),2&t){let t;const i=y.XpG();y.R7$(4),y.JRh((null==(t=i.strings().label)?null:t.loading)||"Loading...")}}function I(t,i){if(1&t&&(y.j41(0,"mat-list-item")(1,"div",23)(2,"kbd",24),y.EFF(3),y.k0s(),y.j41(4,"span",25),y.EFF(5),y.k0s()()(),y.nrm(6,"mat-divider")),2&t){const t=i.$implicit;y.R7$(3),y.SpI("",t.duration,"µs"),y.R7$(2),y.JRh(t.command)}}function P(t,i){if(1&t&&(y.nrm(0,"br"),y.j41(1,"p3xr-ng-accordion",22)(2,"div",9)(3,"mat-list"),y.Z7z(4,I,7,2,null,null,$),y.k0s()()()),2&t){let t;const i=y.XpG(2);y.R7$(),y.Y8G("title",(null==(t=i.strings().page)||null==t.monitor?null:t.monitor.slowLog)||"Slow Log"),y.R7$(3),y.Dyx(i.current.slowlog)}}function E(t,i){if(1&t){const t=y.RV6();y.j41(0,"p3xr-ng-button",26),y.bIt("click",(function(i){s.eBV(t);return y.XpG(2).loadClientList(),s.Njj(i.stopPropagation())})),y.k0s()}if(2&t){let t;const i=y.XpG(2);y.Y8G("label",(null==(t=i.strings().intention)?null:t.refresh)||"Refresh")}}function G(t,i){if(1&t&&(y.j41(0,"div",20),y.EFF(1),y.k0s()),2&t){let t;const i=y.XpG(2);y.R7$(),y.JRh((null==(t=i.strings().page)||null==t.monitor?null:t.monitor.noClients)||"No clients")}}function M(t,i){if(1&t&&(y.j41(0,"div",20),y.EFF(1),y.k0s()),2&t){let t;const i=y.XpG(2);y.R7$(),y.JRh((null==(t=i.strings().label)?null:t.loading)||"Loading...")}}function K(t,i){if(1&t&&(y.j41(0,"span",29),y.EFF(1),y.k0s()),2&t){const t=y.XpG().$implicit;y.R7$(),y.SpI("(",t.name,")")}}function O(t,i){if(1&t){const t=y.RV6();y.j41(0,"mat-icon",32),y.bIt("click",(function(i){s.eBV(t);const e=y.XpG().$implicit,n=y.XpG(3);return s.Njj(n.killClient(e.id,i))})),y.EFF(1,"close"),y.k0s()}if(2&t){let t;const i=y.XpG(4);y.Y8G("matTooltip",(null==(t=i.strings().page)||null==t.monitor?null:t.monitor.killClient)||"Kill client")}}function V(t,i){if(1&t&&(y.j41(0,"mat-list-item")(1,"div",27)(2,"span",28),y.EFF(3),y.k0s(),y.nVh(4,K,2,1,"span",29),y.j41(5,"span",30),y.EFF(6),y.k0s(),y.nVh(7,O,2,1,"mat-icon",31),y.k0s()(),y.nrm(8,"mat-divider")),2&t){const t=i.$implicit,e=y.XpG(3);y.R7$(3),y.JRh(t.addr),y.R7$(),y.vxM(t.name?4:-1),y.R7$(2),y.E5c(" db",t.db," · ",t.cmd," · ",t.idle,"s "),y.R7$(),y.vxM(e.isReadonly?-1:7)}}function X(t,i){if(1&t&&(y.j41(0,"mat-list"),y.Z7z(1,V,9,6,null,null,$),y.k0s()),2&t){const t=y.XpG(2);y.R7$(),y.Dyx(t.clientList)}}function L(t,i){if(1&t){const t=y.RV6();y.j41(0,"p3xr-ng-button",26),y.bIt("click",(function(i){s.eBV(t);return y.XpG(2).loadTopKeys(),s.Njj(i.stopPropagation())})),y.k0s()}if(2&t){let t;const i=y.XpG(2);y.Y8G("label",(null==(t=i.strings().intention)?null:t.refresh)||"Refresh")}}function T(t,i){if(1&t&&(y.j41(0,"div",20),y.EFF(1),y.k0s()),2&t){let t;const i=y.XpG(2);y.R7$(),y.JRh((null==(t=i.strings().page)||null==t.monitor?null:t.monitor.noKeys)||"No keys")}}function S(t,i){if(1&t&&(y.j41(0,"div",20),y.EFF(1),y.k0s()),2&t){let t;const i=y.XpG(2);y.R7$(),y.JRh((null==(t=i.strings().label)?null:t.loading)||"Loading...")}}function _(t,i){if(1&t&&(y.j41(0,"mat-list-item")(1,"div",10)(2,"div",11)(3,"span",33),y.EFF(4),y.k0s(),y.j41(5,"span",34),y.EFF(6),y.k0s()(),y.j41(7,"div",12),y.EFF(8),y.k0s()()(),y.nrm(9,"mat-divider")),2&t){const t=i.$implicit,e=i.$index,n=y.XpG(3);y.R7$(4),y.SpI("#",e+1),y.R7$(2),y.JRh(t.key),y.R7$(2),y.JRh(n.formatBytes(t.bytes))}}function J(t,i){if(1&t&&(y.j41(0,"mat-list"),y.Z7z(1,_,10,3,null,null,w),y.k0s()),2&t){const t=y.XpG(2);y.R7$(),y.Dyx(t.topKeys)}}function D(t,i){if(1&t){const t=y.RV6();y.j41(0,"p3xr-ng-accordion",6)(1,"div",7)(2,"p3xr-ng-button",8),y.bIt("click",(function(i){s.eBV(t);return y.XpG().togglePause(),s.Njj(i.stopPropagation())})),y.k0s()(),y.j41(3,"div",9)(4,"mat-list")(5,"mat-list-item")(6,"div",10)(7,"div",11),y.EFF(8),y.k0s(),y.j41(9,"div",12),y.EFF(10),y.k0s()()(),y.nrm(11,"mat-divider"),y.j41(12,"mat-list-item")(13,"div",10)(14,"div",11),y.EFF(15,"RSS"),y.k0s(),y.j41(16,"div",12),y.EFF(17),y.k0s()()(),y.nrm(18,"mat-divider"),y.j41(19,"mat-list-item")(20,"div",10)(21,"div",11),y.EFF(22,"Peak"),y.k0s(),y.j41(23,"div",12),y.EFF(24),y.k0s()()(),y.nrm(25,"mat-divider"),y.j41(26,"mat-list-item")(27,"div",10)(28,"div",11),y.EFF(29,"Fragmentation"),y.k0s(),y.j41(30,"div",12),y.EFF(31),y.k0s()()(),y.nrm(32,"mat-divider"),y.j41(33,"mat-list-item")(34,"div",10)(35,"div",11),y.EFF(36),y.k0s(),y.j41(37,"div",12),y.EFF(38),y.k0s()()(),y.nrm(39,"mat-divider"),y.j41(40,"mat-list-item")(41,"div",10)(42,"div",11),y.EFF(43),y.k0s(),y.j41(44,"div",12),y.EFF(45),y.k0s()()(),y.nrm(46,"mat-divider"),y.j41(47,"mat-list-item")(48,"div",10)(49,"div",11),y.EFF(50),y.k0s(),y.j41(51,"div",12),y.EFF(52),y.k0s()()(),y.nrm(53,"mat-divider"),y.j41(54,"mat-list-item")(55,"div",10)(56,"div",11),y.EFF(57),y.k0s(),y.j41(58,"div",12),y.EFF(59),y.k0s()()(),y.nrm(60,"mat-divider"),y.j41(61,"mat-list-item")(62,"div",10)(63,"div",11),y.EFF(64),y.k0s(),y.j41(65,"div",12),y.EFF(66),y.k0s()()(),y.nrm(67,"mat-divider"),y.j41(68,"mat-list-item")(69,"div",10)(70,"div",11),y.EFF(71,"Hits / Misses"),y.k0s(),y.j41(72,"div",12),y.EFF(73),y.k0s()()(),y.nrm(74,"mat-divider"),y.j41(75,"mat-list-item")(76,"div",10)(77,"div",11),y.EFF(78),y.k0s(),y.j41(79,"div",12),y.EFF(80),y.nI1(81,"number"),y.nI1(82,"number"),y.k0s()()(),y.nrm(83,"mat-divider"),y.j41(84,"mat-list-item")(85,"div",10)(86,"div",11),y.EFF(87),y.k0s(),y.j41(88,"div",12),y.EFF(89),y.k0s()()(),y.nrm(90,"mat-divider"),y.j41(91,"mat-list-item")(92,"div",10)(93,"div",11),y.EFF(94),y.k0s(),y.j41(95,"div",12),y.EFF(96),y.k0s()()()()()(),y.nrm(97,"br"),y.j41(98,"p3xr-ng-accordion",13)(99,"div",9),y.nrm(100,"div",14,0),y.k0s()(),y.nrm(102,"br"),y.j41(103,"p3xr-ng-accordion",15)(104,"div",9),y.nrm(105,"div",14,1),y.k0s()(),y.nrm(107,"br"),y.j41(108,"p3xr-ng-accordion",16)(109,"div",9),y.nrm(110,"div",14,2),y.k0s()(),y.nrm(112,"br"),y.j41(113,"p3xr-ng-accordion",17)(114,"div",9),y.nrm(115,"div",14,3),y.k0s()(),y.nVh(117,P,6,1),y.nrm(118,"br"),y.j41(119,"p3xr-ng-accordion",18)(120,"div",7)(121,"p3xr-ng-button",8),y.bIt("click",(function(i){s.eBV(t);return y.XpG().toggleAutoRefreshClients(),s.Njj(i.stopPropagation())})),y.k0s(),y.nVh(122,E,1,1,"p3xr-ng-button",19),y.k0s(),y.j41(123,"div",9),y.nVh(124,G,2,1,"div",20),y.nVh(125,M,2,1,"div",20),y.nVh(126,X,3,0,"mat-list"),y.k0s()(),y.nrm(127,"br"),y.j41(128,"p3xr-ng-accordion",21)(129,"div",7)(130,"p3xr-ng-button",8),y.bIt("click",(function(i){s.eBV(t);return y.XpG().toggleAutoRefreshTopKeys(),s.Njj(i.stopPropagation())})),y.k0s(),y.nVh(131,L,1,1,"p3xr-ng-button",19),y.k0s(),y.j41(132,"div",9),y.nVh(133,T,2,1,"div",20),y.nVh(134,S,2,1,"div",20),y.nVh(135,J,3,0,"mat-list"),y.k0s()()}if(2&t){let t,i,e,n,s,o,r,l,a,c,d,h,m,p,u,g,b,f;const v=y.XpG();y.Y8G("title",(null==(t=v.strings().page)||null==t.monitor?null:t.monitor.title)||"Monitoring"),y.R7$(2),y.Y8G("label",v.serverInfoLabel())("mdIcon",v.paused?"play_arrow":"pause"),y.R7$(6),y.JRh((null==(i=v.strings().page)||null==i.monitor?null:i.monitor.memory)||"Memory"),y.R7$(2),y.JRh(v.current.memory.usedHuman),y.R7$(7),y.JRh(v.current.memory.rssHuman),y.R7$(7),y.JRh(v.current.memory.peakHuman),y.R7$(7),y.SpI("",v.current.memory.fragRatio,"x"),y.R7$(5),y.JRh((null==(e=v.strings().page)||null==e.monitor?null:e.monitor.opsPerSec)||"Ops/sec"),y.R7$(2),y.JRh(v.current.stats.opsPerSec),y.R7$(5),y.JRh((null==(n=v.strings().page)||null==n.monitor?null:n.monitor.totalCommands)||"Total Commands"),y.R7$(2),y.JRh(v.current.stats.totalCommands),y.R7$(5),y.JRh((null==(s=v.strings().page)||null==s.monitor?null:s.monitor.clients)||"Clients"),y.R7$(2),y.JRh(v.current.clients.connected),y.R7$(5),y.JRh((null==(o=v.strings().page)||null==o.monitor?null:o.monitor.blocked)||"Blocked"),y.R7$(2),y.JRh(v.current.clients.blocked),y.R7$(5),y.JRh((null==(r=v.strings().page)||null==r.monitor?null:r.monitor.hitsMisses)||"Hit Rate"),y.R7$(2),y.SpI("",v.current.stats.hitRate,"%"),y.R7$(7),y.Lme("",v.current.stats.hits," / ",v.current.stats.misses),y.R7$(5),y.JRh((null==(l=v.strings().page)||null==l.monitor?null:l.monitor.networkIo)||"Network I/O"),y.R7$(2),y.Lme("",y.i5U(81,46,v.current.stats.inputKbps,"1.1-1")," / ",y.i5U(82,49,v.current.stats.outputKbps,"1.1-1")," KB/s"),y.R7$(7),y.JRh((null==(a=v.strings().page)||null==a.monitor?null:a.monitor.expired)||"Expired"),y.R7$(2),y.JRh(v.current.stats.expiredKeys),y.R7$(5),y.JRh((null==(c=v.strings().page)||null==c.monitor?null:c.monitor.evicted)||"Evicted"),y.R7$(2),y.JRh(v.current.stats.evictedKeys),y.R7$(2),y.Y8G("title",((null==(d=v.strings().page)||null==d.monitor?null:d.monitor.memory)||"Memory")+" (MB)"),y.R7$(5),y.Y8G("title",(null==(h=v.strings().page)||null==h.monitor?null:h.monitor.opsPerSec)||"Ops/sec"),y.R7$(5),y.Y8G("title",(null==(m=v.strings().page)||null==m.monitor?null:m.monitor.clients)||"Clients"),y.R7$(5),y.Y8G("title",((null==(p=v.strings().page)||null==p.monitor?null:p.monitor.networkIo)||"Network I/O")+" (KB/s)"),y.R7$(4),y.vxM(v.current.slowlog.length>0?117:-1),y.R7$(2),y.Y8G("title",(null==(u=v.strings().page)||null==u.monitor?null:u.monitor.clientList)||"Client List"),y.R7$(2),y.Y8G("label",(null==(g=v.strings().label)?null:g.autoRefresh)||"Auto")("mdIcon",v.autoRefreshClients?"check_box":"check_box_outline_blank"),y.R7$(),y.vxM(v.autoRefreshClients?-1:122),y.R7$(2),y.vxM(0===v.clientList.length&&v.clientListLoaded?124:-1),y.R7$(),y.vxM(0!==v.clientList.length||v.clientListLoaded?-1:125),y.R7$(),y.vxM(v.clientList.length>0?126:-1),y.R7$(2),y.Y8G("title",(null==(b=v.strings().page)||null==b.monitor?null:b.monitor.topKeys)||"Top Keys by Memory"),y.R7$(2),y.Y8G("label",(null==(f=v.strings().label)?null:f.autoRefresh)||"Auto")("mdIcon",v.autoRefreshTopKeys?"check_box":"check_box_outline_blank"),y.R7$(),y.vxM(v.autoRefreshTopKeys?-1:131),y.R7$(2),y.vxM(0===v.topKeys.length&&v.topKeysLoaded?133:-1),y.R7$(),y.vxM(0!==v.topKeys.length||v.topKeysLoaded?-1:134),y.R7$(),y.vxM(v.topKeys.length>0?135:-1)}}e(85762);class z{i18n;socket;common;cdr;ngZone;strings;current=null;history=[];paused=!1;clientList=[];topKeys=[];isReadonly=!1;autoRefreshClients="true"===localStorage.getItem("p3xr-monitor-auto-clients");autoRefreshTopKeys="true"===localStorage.getItem("p3xr-monitor-auto-topkeys");clientListLoaded=!1;topKeysLoaded=!1;memoryChartRef;opsChartRef;clientsChartRef;networkChartRef;intervalId;uPlot;memoryPlot;opsPlot;clientsPlot;networkPlot;chartsInitialized=!1;resizeObserver=null;themeObserver=null;unsubFns=[];constructor(t,i,e,n,s){this.i18n=t,this.socket=i,this.common=e,this.cdr=n,this.ngZone=s,this.strings=this.i18n.strings}ngOnInit(){this.isReadonly=!0===k?.state?.connection?.readonly,this.fetchData(),this.loadClientList(),this.loadTopKeys();const t=this.socket.stateChanged$.subscribe((()=>{this.isReadonly=!0===k?.state?.connection?.readonly,this.history=[],this.chartsInitialized=!1,this.memoryPlot?.destroy(),this.opsPlot?.destroy(),this.clientsPlot?.destroy(),this.networkPlot?.destroy(),this.fetchData(),this.loadClientList(),this.loadTopKeys()}));this.unsubFns.push((()=>t.unsubscribe())),this.ngZone.runOutsideAngular((()=>{this.intervalId=setInterval((()=>{this.paused||(this.fetchData(),this.autoRefreshClients&&this.loadClientList(),this.autoRefreshTopKeys&&this.loadTopKeys())}),2e3),this.themeObserver=new MutationObserver((()=>{this.chartsInitialized&&setTimeout((()=>this.reinitCharts()),100)})),this.themeObserver.observe(document.body,{attributes:!0,attributeFilter:["class"]});let t=this.i18n.currentLang();const i=setInterval((()=>{const i=this.i18n.currentLang();i!==t&&(t=i,this.chartsInitialized&&setTimeout((()=>this.reinitCharts()),100))}),500);this.unsubFns.push((()=>clearInterval(i)))}))}ngAfterViewInit(){setTimeout((()=>this.loadUPlot()),500)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId),this.unsubFns.forEach((t=>t())),this.themeObserver?.disconnect(),this.resizeObserver?.disconnect(),this.memoryPlot?.destroy(),this.opsPlot?.destroy(),this.clientsPlot?.destroy(),this.networkPlot?.destroy()}serverInfoLabel(){if(!this.current)return"";const t=this.current.server,i=this.paused?this.strings().intention?.resume||"Resume":this.strings().intention?.pause||"Pause";return`Redis ${t.version} · ${t.mode} · ${this.uptimeFormatted} · ${i}`}toggleAutoRefreshClients(){this.autoRefreshClients=!this.autoRefreshClients;try{localStorage.setItem("p3xr-monitor-auto-clients",String(this.autoRefreshClients))}catch{}}toggleAutoRefreshTopKeys(){this.autoRefreshTopKeys=!this.autoRefreshTopKeys;try{localStorage.setItem("p3xr-monitor-auto-topkeys",String(this.autoRefreshTopKeys))}catch{}}async loadClientList(){try{const t=await this.socket.request({action:"client-list",payload:{}});this.clientList=t.data,this.clientListLoaded=!0,this.safeDetectChanges()}catch{this.clientListLoaded=!0}}async killClient(t,i){i.stopPropagation();try{await this.common.confirm({message:this.strings().page?.monitor?.confirmKillClient||"Are you sure to kill this client?"}),await this.socket.request({action:"client-kill",payload:{id:t}}),this.common.toast({message:this.strings().page?.monitor?.clientKilled||"Client killed"}),await this.loadClientList()}catch(t){void 0!==t&&this.common.generalHandleError(t)}}async loadTopKeys(){try{const t=await this.socket.request({action:"memory-top-keys",payload:{topN:20}});this.topKeys=t.data,this.topKeysLoaded=!0,this.safeDetectChanges()}catch{this.topKeysLoaded=!0}}safeDetectChanges(){this.ngZone.run((()=>{const t=document.getElementById("p3xr-database-content-container")||document.querySelector(".p3xr-layout-content"),i=t?.scrollTop??window.scrollY;try{this.cdr.detectChanges()}catch{}requestAnimationFrame((()=>{t?t.scrollTop=i:window.scrollTo(0,i)}))}))}formatBytes(t){return t<1024?t+" B":t<1048576?(t/1024).toFixed(1)+" KB":(t/1048576).toFixed(1)+" MB"}togglePause(){this.paused=!this.paused}get uptimeFormatted(){if(!this.current)return"-";const t=this.current.server.uptime,i=Math.floor(t/86400),e=Math.floor(t%86400/3600),n=Math.floor(t%3600/60);return i>0?`${i}d ${e}h ${n}m`:e>0?`${e}h ${n}m`:`${n}m`}async fetchData(){try{const t=(await this.socket.request({action:"monitor-info",payload:{}})).data;this.current=t,this.history.push(t),this.history.length>120&&this.history.shift(),this.chartsInitialized?this.updateCharts():this.uPlot&&this.history.length>=2&&this.initCharts(),this.safeDetectChanges()}catch{}}async loadUPlot(){const t=await e.e(8555).then(e.bind(e,8555));if(this.uPlot=t.default,!document.getElementById("uplot-css")){const t=document.createElement("style");t.id="uplot-css";try{const i=e(1378);t.textContent="string"==typeof i?i:""}catch{t.textContent=".uplot { font-family: inherit; } .u-legend { display: flex; gap: 12px; padding: 4px 0; font-size: 12px; }"}document.head.appendChild(t)}this.history.length>=2&&this.initCharts()}getChartColors(){const t=document.body.classList.contains("p3xr-theme-dark"),i=getComputedStyle(document.body);return{primary:i.getPropertyValue("--p3xr-btn-primary-bg").trim()||(t?"#90caf9":"#1976d2"),accent:i.getPropertyValue("--p3xr-btn-accent-bg").trim()||(t?"#ce93d8":"#9c27b0"),warn:i.getPropertyValue("--p3xr-btn-warn-bg").trim()||(t?"#ef9a9a":"#f44336"),text:t?"rgba(255,255,255,0.87)":"rgba(0,0,0,0.87)",grid:t?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.08)"}}reinitCharts(){this.memoryPlot?.destroy(),this.opsPlot?.destroy(),this.clientsPlot?.destroy(),this.networkPlot?.destroy(),this.chartsInitialized=!1,this.history.length>=2&&this.initCharts()}getChartWidth(t){return t?.offsetWidth||500}createOpts(t,i){const e=this.getChartColors();return{width:t,height:180,cursor:{show:!0,drag:{x:!1,y:!1}},legend:{show:!0,live:!1},scales:{x:{time:!0}},axes:[{stroke:e.text,grid:{stroke:e.grid,width:1},ticks:{stroke:e.grid},font:"11px Roboto",values:(t,i)=>i.map((t=>m()(1e3*t).format("HH:mm:ss")))},{stroke:e.text,grid:{stroke:e.grid,width:1},ticks:{stroke:e.grid},font:"11px Roboto Mono",size:55}],series:[{label:this.strings().label?.time||"Time",value:(t,i)=>i?m()(1e3*i).format("HH:mm:ss"):""},...i]}}initCharts(){if(!this.uPlot||this.chartsInitialized)return;const t=this.getChartColors(),i=this.buildChartData(),e=this.memoryChartRef?.nativeElement,n=this.opsChartRef?.nativeElement,s=this.clientsChartRef?.nativeElement,o=this.networkChartRef?.nativeElement;if(!(e&&n&&s&&o))return;const r=this.strings().page?.monitor||{};let l;this.memoryPlot=new this.uPlot(this.createOpts(this.getChartWidth(e),[{label:r.memory||"Memory",stroke:t.primary,width:2,fill:t.primary+"15"},{label:"RSS",stroke:t.accent,width:2}]),[i.timestamps,i.memUsed,i.memRss],e),this.opsPlot=new this.uPlot(this.createOpts(this.getChartWidth(n),[{label:r.opsPerSec||"Ops/s",stroke:t.primary,width:2,fill:t.primary+"20"}]),[i.timestamps,i.ops],n),this.clientsPlot=new this.uPlot(this.createOpts(this.getChartWidth(s),[{label:r.clients||"Connected",stroke:t.primary,width:2},{label:r.blocked||"Blocked",stroke:t.warn,width:2}]),[i.timestamps,i.connected,i.blocked],s),this.networkPlot=new this.uPlot(this.createOpts(this.getChartWidth(o),[{label:"↓ In",stroke:t.primary,width:2,fill:t.primary+"15"},{label:"↑ Out",stroke:t.accent,width:2}]),[i.timestamps,i.netIn,i.netOut],o),this.chartsInitialized=!0,this.resizeObserver=new ResizeObserver((()=>{clearTimeout(l),l=setTimeout((()=>{const t=this.getChartWidth(e),i=this.getChartWidth(n),r=this.getChartWidth(s),l=this.getChartWidth(o);t>0&&this.memoryPlot?.setSize({width:t,height:180}),i>0&&this.opsPlot?.setSize({width:i,height:180}),r>0&&this.clientsPlot?.setSize({width:r,height:180}),l>0&&this.networkPlot?.setSize({width:l,height:180})}),50)})),this.resizeObserver.observe(e),this.resizeObserver.observe(n),this.resizeObserver.observe(s),this.resizeObserver.observe(o)}buildChartData(){return{timestamps:this.history.map((t=>t.timestamp/1e3)),memUsed:this.history.map((t=>t.memory.used/1048576)),memRss:this.history.map((t=>t.memory.rss/1048576)),ops:this.history.map((t=>t.stats.opsPerSec)),connected:this.history.map((t=>t.clients.connected)),blocked:this.history.map((t=>t.clients.blocked)),netIn:this.history.map((t=>t.stats.inputKbps)),netOut:this.history.map((t=>t.stats.outputKbps))}}updateCharts(){if(!this.chartsInitialized)return;const t=this.buildChartData();this.memoryPlot?.setData([t.timestamps,t.memUsed,t.memRss]),this.opsPlot?.setData([t.timestamps,t.ops]),this.clientsPlot?.setData([t.timestamps,t.connected,t.blocked]),this.networkPlot?.setData([t.timestamps,t.netIn,t.netOut])}static ɵfac=function(t){return new(t||z)(y.rXU(p.W),y.rXU(u.L),y.rXU(g.h),y.rXU(n.gRc),y.rXU(s.SKi))};static ɵcmp=y.VBU({type:z,selectors:[["p3xr-monitoring"]],viewQuery:function(t,i){if(1&t&&y.GBs(x,5)(R,5)(C,5)(F,5),2&t){let t;y.mGM(t=y.lsd())&&(i.memoryChartRef=t.first),y.mGM(t=y.lsd())&&(i.opsChartRef=t.first),y.mGM(t=y.lsd())&&(i.clientsChartRef=t.first),y.mGM(t=y.lsd())&&(i.networkChartRef=t.first)}},decls:3,vars:2,consts:[["memoryChart",""],["opsChart",""],["clientsChart",""],["networkChart",""],[1,"p3xr-monitoring-loading"],[2,"height","64px"],["accordionKey","monitor-overview",3,"title"],["actions",""],[3,"click","label","mdIcon"],["content",""],[1,"p3xr-settings-pair-row"],[1,"p3xr-settings-row-label"],[1,"p3xr-settings-row-value","p3xr-mono"],["accordionKey","monitor-chart-memory",3,"title"],[1,"p3xr-monitoring-chart"],["accordionKey","monitor-chart-ops",3,"title"],["accordionKey","monitor-chart-clients",3,"title"],["accordionKey","monitor-chart-network",3,"title"],["accordionKey","monitor-clients-list",3,"title"],["mdIcon","refresh",3,"label"],[2,"padding","16px","opacity","0.5"],["accordionKey","monitor-top-keys",3,"title"],["accordionKey","monitor-slowlog",3,"title"],[1,"p3xr-monitoring-slowlog-row"],[1,"p3xr-kbd","p3xr-kbd-small"],[1,"p3xr-monitoring-slowlog-cmd"],["mdIcon","refresh",3,"click","label"],[1,"p3xr-monitoring-client-row"],[1,"p3xr-mono","p3xr-monitoring-client-addr"],[1,"p3xr-monitoring-client-name"],[1,"p3xr-monitoring-client-info"],[1,"p3xr-monitoring-client-kill",3,"matTooltip"],[1,"p3xr-monitoring-client-kill",3,"click","matTooltip"],[2,"opacity","0.4","margin-right","8px"],[1,"p3xr-mono",2,"font-size","13px"]],template:function(t,i){1&t&&(y.nVh(0,j,5,1,"div",4),y.nVh(1,D,136,52),y.nrm(2,"div",5)),2&t&&(y.vxM(i.current?-1:0),y.R7$(),y.vxM(i.current?1:-1))},dependencies:[o.MD,r.m_,r.An,l.Hl,a.uc,v.oV,c.w,c.q,d.Fg,d.jt,d.YE,b.B,f.f,o.QX],encapsulation:2,changeDetection:0})}},1378(t,i,e){e.r(i)},85762(t,i,e){e.r(i)}}]);