/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.infra_bundle_jsonpfunction=window.infra_bundle_jsonpfunction||[]).push([[24],{554:function(e,t,a){"use strict";a.r(t);var n=a(2),r=a.n(n),s=a(53),l=a(106),o=a(35),u=a(1),c=a(158);const i=e=>{const{data:t,isLoading:a,setCurrentPageIndex:s,setSortState:l,sortState:i,timerange:m}=e,g=Object(n.useMemo)((()=>function(e){return[{name:u.i18n.translate("xpack.infra.metricsTable.host.nameColumnHeader",{defaultMessage:"Name"}),field:"name",truncateText:!0,textOnly:!0,render:t=>r.a.createElement(c.a,{id:t,label:t,nodeType:"host",timerange:e})},{name:u.i18n.translate("xpack.infra.metricsTable.host.CpuCountColumnHeader",{defaultMessage:"# of CPUs"}),field:"cpuCount",align:"right",render:e=>r.a.createElement(c.f,{value:e})},{name:u.i18n.translate("xpack.infra.metricsTable.host.averageCpuUsagePercentColumnHeader",{defaultMessage:"CPU usage (avg.)"}),field:"averageCpuUsagePercent",align:"right",render:e=>r.a.createElement(c.f,{value:e,unit:"%"})},{name:u.i18n.translate("xpack.infra.metricsTable.host.totalMemoryMegabytesColumnHeader",{defaultMessage:"Memory total"}),field:"totalMemoryMegabytes",align:"right",render:e=>r.a.createElement(c.f,{value:e,unit:" MB"})},{name:u.i18n.translate("xpack.infra.metricsTable.host.averageMemoryUsagePercentColumnHeader",{defaultMessage:"Memory usage (avg.)"}),field:"averageMemoryUsagePercent",align:"right",render:e=>r.a.createElement(c.f,{value:e,unit:"%"})}]}(m)),[m]),d={enableAllColumns:!0,sort:i},p=Object(n.useCallback)((({sort:e})=>{e&&(l(e),s(0))}),[l,s]);return"error"===t.state?r.a.createElement(r.a.Fragment,null,t.errors.map((e=>r.a.createElement(c.c,{error:e})))):a&&"data"!==t.state?r.a.createElement(c.d,null):"no-indices"===t.state?r.a.createElement(c.e,null):"empty-indices"===t.state?r.a.createElement(c.b,null):"data"===t.state?r.a.createElement(r.a.Fragment,null,r.a.createElement(o.EuiBasicTable,{tableCaption:u.i18n.translate("xpack.infra.metricsTable.host.tableCaption",{defaultMessage:"Infrastructure metrics for hosts"}),items:t.rows,columns:g,sorting:d,onChange:p,loading:a,noItemsMessage:r.a.createElement(c.d,null),"data-test-subj":"hostMetricsTable"}),r.a.createElement(o.EuiSpacer,{size:"s"}),r.a.createElement(o.EuiFlexGroup,{justifyContent:"flexEnd",alignItems:"center",responsive:!1,wrap:!0},r.a.createElement(o.EuiFlexItem,{grow:!1},r.a.createElement(c.g,{ariaLabel:u.i18n.translate("xpack.infra.metricsTable.host.paginationAriaLabel",{defaultMessage:"Host metrics pagination"}),pageCount:t.pageCount,currentPageIndex:t.currentPageIndex,setCurrentPageIndex:s,"data-test-subj":"hostMetricsTablePagination"})))):null},m={sourceFilter:{term:{"event.module":"system"}},groupByField:"host.name",metricsMap:{"system.cpu.cores":{aggregation:"max",field:"system.cpu.cores"},"system.cpu.total.norm.pct":{aggregation:"avg",field:"system.cpu.total.norm.pct"},"system.memory.total":{aggregation:"max",field:"system.memory.total"},"system.memory.used.pct":{aggregation:"avg",field:"system.memory.used.pct"}}},g=Object(c.i)(m.metricsMap),d=Object(c.j)(g);function p(e){return 0===e.rows.length?{name:e.id,cpuCount:null,averageCpuUsagePercent:null,totalMemoryMegabytes:null,averageMemoryUsagePercent:null}:{name:e.id,...f(e.rows)}}function f(e){const{cpuCountValues:t,averageCpuUsagePercentValues:a,totalMemoryMegabytesValues:n,averageMemoryUsagePercentValues:r}=function(e){const t=[],a=[],n=[],r=[];return e.forEach((e=>{const{cpuCount:s,averageCpuUsagePercent:l,totalMemoryMegabytes:o,averageMemoryUsagePercent:u}=function(e){return{cpuCount:d(e,"system.cpu.cores"),averageCpuUsagePercent:d(e,"system.cpu.total.norm.pct"),totalMemoryMegabytes:d(e,"system.memory.total"),averageMemoryUsagePercent:d(e,"system.memory.used.pct")}}(e);null!==s&&t.push(s),null!==l&&a.push(l),null!==o&&n.push(o),null!==u&&r.push(u)})),{cpuCountValues:t,averageCpuUsagePercentValues:a,totalMemoryMegabytesValues:n,averageMemoryUsagePercentValues:r}}(e);let s=null;0!==t.length&&(s=t.at(-1));let l=null;0!==a.length&&(l=Object(c.l)(Object(c.h)(a)));let o=null;if(0!==n.length){const e=n.at(-1),t=1e6;o=Math.floor(e/t)}let u=null;return 0!==r.length&&(u=Object(c.l)(Object(c.h)(r))),{cpuCount:s,averageCpuUsagePercent:l,totalMemoryMegabytes:o,averageMemoryUsagePercent:u}}function y({timerange:e,filterClauseDsl:t}){const a=function({timerange:e,filterClauseDsl:t}){const[a,r]=Object(n.useState)(0),[s,l]=Object(n.useState)({field:"averageCpuUsagePercent",direction:"desc"}),{options:o}=Object(n.useMemo)((()=>Object(c.k)(m,t)),[t]),{data:u,isLoading:i}=Object(c.m)({metricsExplorerOptions:o,timerange:e,transform:p,sortState:s,currentPageIndex:a});return{data:u,isLoading:i,setCurrentPageIndex:r,setSortState:l,sortState:s,timerange:e}}({timerange:e,filterClauseDsl:t});return r.a.createElement(i,a)}t.default=function({timerange:e,filterClauseDsl:t,sourceId:a,...n}){return r.a.createElement(s.b,n,r.a.createElement(l.a,{sourceId:a},r.a.createElement(y,{timerange:e,filterClauseDsl:t})))}}}]);