harperdb
Version:
HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.
1 lines • 12.8 kB
JavaScript
;(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[541],{6812:(e,s,t)=>{t.r(s),t.d(s,{default:()=>M});var a=t(9950),r=t(7176),n=t(6114),l=t(6713),o=t(3452),i=t(4084),c=t(8156),d=t(9435),u=t(5269),m=t(127);const x=1e9,h=1073741824;var p=t(1652),j=t(3150),v=t(3628),A=t(4414);let f;const y=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.systemInfo)),y=(0,l.O$)(u.A,(e=>e.is_local)),[g,N]=(0,a.useState)(!(null!==t&&void 0!==t&&t.totalMemory)),w=async()=>{N(!0),f=new AbortController,await(async e=>{var s,t,a,r,n,l,o,i,c,d,p,j;let{auth:v,url:A,signal:f,refresh:y,is_local:g,cachedSystemInfo:N,skip:w=[]}=e;const k=["network","disk","cpu","memory","system"],b=await(0,m.A)({operation:{operation:"system_information",attributes:null!==w&&void 0!==w&&w.length?k.filter((e=>!w.includes(e))):k},auth:v,url:A,signal:f});if(b.error&&y)return u.A.update((e=>{e.systemInfoError=!0}));if(b.error)return u.A.update((e=>{e.systemInfo={totalMemory:"...",usedMemory:"...",freeMemory:"...",memoryStatus:"grey",totalDisk:"...",usedDisk:"...",freeDisk:"...",diskStatus:"grey",cpuInfo:"...",cpuCores:"...",cpuLoad:"...",cpuStatus:"grey",networkTransferred:"...",networkReceived:"...",networkLatency:"...",networkLatencyStatus:"grey"},e.systemInfoError=!0}));const S=w.includes("memory")?parseFloat(N.totalMemory):b.memory.total/h,_=w.includes("memory")?parseFloat(N.usedMemory):b.memory.active/h,C=w.includes("memory")?parseFloat(N.freeMemory):b.memory.available/h,F=w.includes("memory")?N.memoryStatus:C/S<.1?"danger":C/S<.25?"warning":"success",D=w.includes("disk")?parseFloat(N.totalDisk):"darwin"===b.system.platform?(null===(s=b.disk)||void 0===s||null===(t=s.size)||void 0===t?void 0:t[0].size)/x:g?(null===(n=b.disk)||void 0===n||null===(l=n.size)||void 0===l?void 0:l[0].size)/h:(null===(a=b.disk)||void 0===a||null===(r=a.size)||void 0===r?void 0:r.find((e=>"/home/ubuntu/hdb"===e.mount)).size)/h,L=w.includes("disk")?parseFloat(N.usedDisk):"darwin"===b.system.platform?(null===(o=b.disk)||void 0===o||null===(i=o.size)||void 0===i?void 0:i.reduce(((e,s)=>e+s.used),0))/x:g?(null===(p=b.disk)||void 0===p||null===(j=p.size)||void 0===j?void 0:j.reduce(((e,s)=>e+s.used),0))/h:(null===(c=b.disk)||void 0===c||null===(d=c.size)||void 0===d?void 0:d.find((e=>"/home/ubuntu/hdb"===e.mount)).used)/h,$=w.includes("disk")?parseFloat(N.freeDisk):D-L,M=w.includes("disk")?N.diskStatus:$/D<.1?"danger":$/D<.25?"warning":"success",O=w.includes("cpu")?N.cpuInfo:`${b.cpu.manufacturer} ${b.cpu.brand}`,E=w.includes("cpu")?N.cpuCores:`${b.cpu.physicalCores} physical / ${b.cpu.cores} virtual`,I=w.includes("cpu")?parseFloat(N.cpuLoad):b.cpu.current_load.currentLoad||b.cpu.current_load.currentload||0,T=w.includes("cpu")?N.cpuStatus:I>90?"danger":I>75?"warning":"success",z=w.includes("network")?parseFloat(N.networkTransferred):b.network.stats.reduce(((e,s)=>e+s.tx_bytes),0)/x,H=w.includes("network")?parseFloat(N.networkReceived):b.network.stats.reduce(((e,s)=>e+s.rx_bytes),0)/x,J=w.includes("network")?parseFloat(N.networkLatency):b.network.latency.ms,U=w.includes("network")?parseFloat(N.networkLatencyStatus):J>1e3?"danger":J>500?"warning":"success",B={totalMemory:null===S||void 0===S?void 0:S.toFixed(2),usedMemory:null===_||void 0===_?void 0:_.toFixed(2),freeMemory:null===C||void 0===C?void 0:C.toFixed(2),memoryStatus:F,totalDisk:null===D||void 0===D?void 0:D.toFixed(2),usedDisk:null===L||void 0===L?void 0:L.toFixed(2),freeDisk:null===$||void 0===$?void 0:$.toFixed(2),diskStatus:M,cpuInfo:O,cpuCores:E,cpuLoad:null===I||void 0===I?void 0:I.toFixed(2),cpuStatus:T,networkTransferred:null===z||void 0===z?void 0:z.toFixed(2),networkReceived:null===H||void 0===H?void 0:H.toFixed(2),networkLatency:J,networkLatencyStatus:U};return u.A.update((e=>{e.systemInfo=B}))})({auth:e,url:s,is_local:y,signal:f.signal,refresh:!!t,previousSystemInfo:t}),N(!1)};return(0,a.useEffect)((()=>(!e||null!==t&&void 0!==t&&t.totalMemory||w(),()=>{var e;null===(e=f)||void 0===e||e.abort()})),[e]),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"host system"}),(0,A.jsx)(n.A,{className:"text-end",children:(0,A.jsx)(o.A,{color:"link",title:"Update Metrics",className:"me-2",onClick:w,children:(0,A.jsx)("i",{className:"fa "+(g?"fa-spinner fa-spin":"fa-sync-alt")})})})]}),(0,A.jsx)(i.A,{className:"my-3 instance-details",children:(0,A.jsx)(c.A,{children:t?(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Total Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.totalMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Active Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.usedMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Available Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.memoryStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.freeMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Cores",className:"mb-3",children:(0,A.jsx)("div",{className:"nowrap-scroll",children:(null===t||void 0===t?void 0:t.cpuCores)||"..."})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Load",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.cpuStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.cpuLoad)||"...","%"]})})})]}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-purple"})})})}),(0,A.jsx)("br",{})]})};var g=t(135),N=t(5996);var w=t(7209);const k=function(e){let{end_datetime:s,start_datetime:t,status:a,message:l}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:`text-nowrap ${a.toLowerCase()}`,children:a}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleDateString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(s).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(l)?JSON.stringify(l):l})]})})};let b;const S=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.jobs)),x=(0,l.O$)(u.A,(e=>e.jobsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!0),[w,S]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let a=!0;return e&&(async()=>{y(!0),b=new AbortController;const r=new Date;r.setDate(r.getDate()+1);const n=r.toISOString().split("T")[0];r.setFullYear(r.getFullYear()-1);const l=r.toISOString().split("T")[0];await(async e=>{let{auth:s,url:t,signal:a,from_date:r,to_date:n,currentJobCount:l}=e;const o=await(0,m.A)({operation:{operation:"search_jobs_by_start_date",from_date:r,to_date:n},auth:s,url:t,signal:a});return o.error&&l?u.A.update((e=>{e.jobsError=!0})):!Array.isArray(o)||o.error?u.A.update((e=>{e.jobs=[],e.jobsError=!0})):u.A.update((e=>{e.jobs=[...o].sort(((e,s)=>s.start_datetime-e.end_datetime)),e.jobsError=!1}))})({auth:e,url:s,signal:b.signal,currentJobCount:(null===t||void 0===t?void 0:t.length)||0,from_date:l,to_date:n}),a&&y(!1)})(),()=>{var e;null===(e=b)||void 0===e||e.abort(),a=!1}}),[e,w]),(0,g.A)((()=>e&&h&&S(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"jobs"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>S(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),!f&&x?(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold text-nowrap",children:(0,A.jsxs)("b",{children:["job fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"start"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"end"})]})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||t||h?null!==t&&void 0!==t&&t.length?t.map((e=>(0,A.jsx)(k,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no jobs found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};var _=t(625),C=t(5553);const F=function(e){let{date:s,type:t,message:a}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-danger text-nowrap",children:t}),(0,A.jsx)(n.A,{xs:"9",className:"text-nowrap",children:new Date(s).toLocaleString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(a)?JSON.stringify(a):a})]})})};var D=t(4817);let L;const $=function(){const{customer_id:e}=(0,_.g)(),s=(0,l.O$)(u.A,(e=>e.compute_stack_id)),t=(0,l.O$)(C.A,(e=>e.auth)),m=(0,l.O$)(C.A,(e=>{var t;return e.alarms&&(null===(t=e.alarms[s])||void 0===t?void 0:t.alarms)}),[s]),x=(0,l.O$)(C.A,(e=>e.alarmsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let s=!0;return t&&(async()=>{y(!0),L=new AbortController,await(0,D.A)({auth:t,signal:L.signal,customer_id:e,currentAlarmsLength:null===m||void 0===m?void 0:m.length}),s&&y(!1)})(),()=>{var e;null===(e=L)||void 0===e||e.abort(),s=!1}}),[t,w]),(0,g.A)((()=>t&&h&&k(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"alarms"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>k(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold",children:!f&&x&&(0,A.jsxs)("span",{children:["alarms fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||m||h?null!==m&&void 0!==m&&m.length?m.map((e=>(0,A.jsx)(F,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no alarms found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};const M=function(){return(0,A.jsxs)(r.A,{id:"config",children:[(0,A.jsx)(n.A,{xs:"12",children:(0,A.jsx)(y,{})}),(0,A.jsx)(n.A,{lg:6,xs:"12",children:(0,A.jsx)(S,{})}),!N.A.is_local_studio&&(0,A.jsx)(n.A,{lg:"6",xs:"12",children:(0,A.jsx)($,{})})]})}},1652:(e,s,t)=>{t.d(s,{A:()=>r});t(9950);var a=t(4414);const r=function(e){let{children:s,header:t,subheader:r,maxHeight:n="auto",minHeight:l="auto",className:o}=e;return(0,a.jsxs)("div",{className:`content-container ${o}`,children:[(0,a.jsxs)("div",{className:"header-container",children:[(0,a.jsx)("span",{className:"header",children:t}),(0,a.jsx)("span",{className:"subheader",children:r})]}),(0,a.jsx)("div",{className:"auto"!==n?"scrollable":"",style:{maxHeight:n,minHeight:l},children:s})]})}},7209:(e,s,t)=>{t.d(s,{A:()=>a});const a=e=>"object"===typeof e&&!Array.isArray(e)&&null!==e}}]);