/*! 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([[23],{553:function(e,a,t){"use strict";t.r(a);var n=t(2),r=t.n(n),s=t(53),i=t(106),l=t(35),c=t(1),u=t(158);const o=e=>{const{data:a,isLoading:t,setCurrentPageIndex:s,setSortState:i,sortState:o,timerange:g}=e,m=Object(n.useMemo)((()=>function(e){return[{name:c.i18n.translate("xpack.infra.metricsTable.container.idColumnHeader",{defaultMessage:"Id"}),field:"id",truncateText:!0,textOnly:!0,render:a=>r.a.createElement(u.a,{id:a,label:a,nodeType:"container",timerange:e})},{name:c.i18n.translate("xpack.infra.metricsTable.container.averageCpuUsagePercentColumnHeader",{defaultMessage:"CPU usage (avg.)"}),field:"averageCpuUsagePercent",align:"right",render:e=>r.a.createElement(u.f,{value:e,unit:"%"})},{name:c.i18n.translate("xpack.infra.metricsTable.container.averageMemoryUsageMegabytesColumnHeader",{defaultMessage:"Memory usage(avg.)"}),field:"averageMemoryUsageMegabytes",align:"right",render:e=>r.a.createElement(u.f,{value:e,unit:" MB"})}]}(g)),[g]),d={enableAllColumns:!0,sort:o},b=Object(n.useCallback)((({sort:e})=>{e&&(i(e),s(0))}),[i,s]);return"error"===a.state?r.a.createElement(r.a.Fragment,null,a.errors.map((e=>r.a.createElement(u.c,{error:e})))):t&&"data"!==a.state?r.a.createElement(u.d,null):"no-indices"===a.state?r.a.createElement(u.e,null):"empty-indices"===a.state?r.a.createElement(u.b,null):"data"===a.state?r.a.createElement(r.a.Fragment,null,r.a.createElement(l.EuiBasicTable,{tableCaption:c.i18n.translate("xpack.infra.metricsTable.container.tableCaption",{defaultMessage:"Infrastructure metrics for containers"}),items:a.rows,columns:m,sorting:d,onChange:b,loading:t,noItemsMessage:r.a.createElement(u.d,null),"data-test-subj":"containerMetricsTable"}),r.a.createElement(l.EuiSpacer,{size:"s"}),r.a.createElement(l.EuiFlexGroup,{justifyContent:"flexEnd",alignItems:"center",responsive:!1,wrap:!0},r.a.createElement(l.EuiFlexItem,{grow:!1},r.a.createElement(u.g,{ariaLabel:c.i18n.translate("xpack.infra.metricsTable.container.paginationAriaLabel",{defaultMessage:"Container metrics pagination"}),pageCount:a.pageCount,currentPageIndex:a.currentPageIndex,setCurrentPageIndex:s,"data-test-subj":"containerMetricsTablePagination"})))):null},g={sourceFilter:{term:{"event.dataset":"kubernetes.container"}},groupByField:"container.id",metricsMap:{"kubernetes.container.cpu.usage.limit.pct":{aggregation:"avg",field:"kubernetes.container.cpu.usage.limit.pct"},"kubernetes.container.memory.usage.bytes":{aggregation:"avg",field:"kubernetes.container.memory.usage.bytes"}}},m=Object(u.i)(g.metricsMap),d=Object(u.j)(m);function b(e){return 0===e.rows.length?{id:e.id,averageCpuUsagePercent:null,averageMemoryUsageMegabytes:null}:{id:e.id,...f(e.rows)}}function f(e){const{averageCpuUsagePercentValues:a,averageMemoryUsageMegabytesValues:t}=function(e){const a=[],t=[];return e.forEach((e=>{const{averageCpuUsagePercent:n,averageMemoryUsageMegabytes:r}=function(e){return{averageCpuUsagePercent:d(e,"kubernetes.container.cpu.usage.limit.pct"),averageMemoryUsageMegabytes:d(e,"kubernetes.container.memory.usage.bytes")}}(e);null!==n&&a.push(n),null!==r&&t.push(r)})),{averageCpuUsagePercentValues:a,averageMemoryUsageMegabytesValues:t}}(e);let n=null;0!==a.length&&(n=Object(u.l)(Object(u.h)(a)));let r=null;if(0!==t.length){const e=Object(u.h)(t),a=1e6;r=Math.floor(e/a)}return{averageCpuUsagePercent:n,averageMemoryUsageMegabytes:r}}function p({timerange:e,filterClauseDsl:a}){const t=function({timerange:e,filterClauseDsl:a}){const[t,r]=Object(n.useState)(0),[s,i]=Object(n.useState)({field:"averageCpuUsagePercent",direction:"desc"}),{options:l}=Object(n.useMemo)((()=>Object(u.k)(g,a)),[a]),{data:c,isLoading:o}=Object(u.m)({metricsExplorerOptions:l,timerange:e,transform:b,sortState:s,currentPageIndex:t});return{data:c,isLoading:o,setCurrentPageIndex:r,setSortState:i,sortState:s,timerange:e}}({timerange:e,filterClauseDsl:a});return r.a.createElement(o,t)}a.default=function({timerange:e,filterClauseDsl:a,sourceId:t,...n}){return r.a.createElement(s.b,n,r.a.createElement(i.a,{sourceId:t},r.a.createElement(p,{timerange:e,filterClauseDsl:a})))}}}]);