/*! 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.ml_bundle_jsonpfunction=window.ml_bundle_jsonpfunction||[]).push([[31],{675:function(e,t,a){"use strict";a.r(t),a.d(t,"overviewPanelDefaultState",(function(){return ae})),a.d(t,"OverviewPage",(function(){return se}));var s=a(2),i=a.n(s),o=a(15),n=a(28),l=a(6),c=a(109),r=a(149),u=a(4),d=a(9);const b=({isOpen:e,onToggle:t,children:a,header:s,headerItems:i})=>{const{euiTheme:o}=Object(d.a)();return Object(u.jsx)(n.EuiSplitPanel.Outer,{grow:!0,hasShadow:!1,css:Object(u.css)({border:`${o.euiBorderWidthThin} solid ${e?o.euiBorderColor:"transparent"}`},"","")},Object(u.jsx)(n.EuiSplitPanel.Inner,{color:e?"plain":"subdued"},Object(u.jsx)(n.EuiFlexGroup,{justifyContent:"spaceBetween",alignItems:"center"},Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiFlexGroup,{gutterSize:"s"},Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiButtonIcon,{color:"text",iconType:e?"arrowDown":"arrowRight",onClick:()=>{t(!e)}})),Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiTitle,{size:"xxs"},Object(u.jsx)("h2",null,s))))),i?Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiFlexGroup,{gutterSize:"l",alignItems:"center"},i.map(((e,t)=>Object(u.jsx)(n.EuiFlexItem,{key:t,grow:!1},Object(u.jsx)("div",{css:t<(null==i?void 0:i.length)-1?Object(u.css)("border-right:",o.euiBorderWidthThin," solid ",o.euiBorderColor,";padding-right:",o.euiPanelPaddingModifiers.paddingLarge,";",""):null},e)))))):null)),e?Object(u.jsx)(n.EuiSplitPanel.Inner,{css:Object(u.css)({borderTop:`${o.euiBorderWidthThin} solid ${o.euiBorderColor}`},"",""),grow:!1},a):null)},j=({inputStats:e,dataTestSub:t})=>Object(u.jsx)(n.EuiFlexGroup,{"data-test-subj":t,alignItems:"center",gutterSize:"m"},e.map((({value:e,label:t,"data-test-subj":a})=>Object(u.jsx)(n.EuiFlexItem,{grow:!1,key:t},Object(u.jsx)(n.EuiFlexGroup,{alignItems:"center",gutterSize:"s"},Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiText,{size:"s"},t,":")),Object(u.jsx)(n.EuiFlexItem,{grow:!1},Object(u.jsx)(n.EuiBadge,{"data-test-subj":a},e)))))));var m=a(1),p=a(146),g=a(102),O=a(32),v=a(7),x=a(110);function w(){const e=Object(d.g)(),t=Object(c.i)(),a=Object(d.h)();return[{isPrimary:!0,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.viewJobsActionName",{defaultMessage:"View jobs"}),description:l.i18n.translate("xpack.ml.overview.anomalyDetection.resultActions.openInJobManagementText",{defaultMessage:"View jobs"}),icon:"list",type:"icon",onClick:async t=>{const s=await(null==e?void 0:e.getUrl({page:m.b.ANOMALY_DETECTION_JOBS_MANAGE,pageState:{groupIds:[t.id]}}));await a(s)}},{isPrimary:!1,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.viewResultsActionName",{defaultMessage:"View in Anomaly Explorer"}),description:l.i18n.translate("xpack.ml.overview.anomalyDetection.resultActions.openJobsInAnomalyExplorerText",{defaultMessage:"View in Anomaly Explorer"}),icon:"visTable",type:"icon",onClick:async s=>{const i=await(null==e?void 0:e.getUrl({page:m.b.ANOMALY_EXPLORER,pageState:{jobIds:s.jobIds,timeRange:t.getTime()}}));await a(i)}}]}var f=a(219),y=a(116),h=a(192),S=a(200);let T;!function(e){e.id="id",e.maxAnomalyScore="max_anomaly_score",e.overallSwimLane="overallSwimLane",e.jobIds="jobIds",e.latestTimestamp="latest_timestamp",e.docsProcessed="docs_processed",e.jobsInGroup="jobs_in_group"}(T||(T={}));const A=({items:e,chartsService:t})=>{const a=Object.values(e),[i,c]=Object(s.useState)(0),[r,d]=Object(s.useState)(10),[b,j]=Object(s.useState)(T.id),[m,p]=Object(s.useState)("asc"),g=Object(S.a)(),O=[{field:T.id,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableId",{defaultMessage:"Group ID"}),render:e=>Object(u.jsx)(f.a,{id:e,isGroup:"ungrouped"!==e}),sortable:!0,truncateText:!0,width:"15%"},{name:Object(u.jsx)(n.EuiToolTip,{content:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableOverallScoreTooltip",{defaultMessage:"Overall anomaly scores within selected time range"})},Object(u.jsx)("span",null,l.i18n.translate("xpack.ml.overview.anomalyDetection.overallScore",{defaultMessage:"Overall score"}),Object(u.jsx)(n.EuiIcon,{size:"s",color:"subdued",type:"questionInCircle",className:"eui-alignTop"}))),render:e=>{const a=e.overallSwimLane;return a?a.points.length>0&&a.points.every((e=>0===e.value))?Object(u.jsx)(o.FormattedMessage,{id:"xpack.ml.overview.anomalyDetection.noAnomaliesFoundMessage",defaultMessage:"No anomalies found"}):Object(u.jsx)(h.b,{timeBuckets:g,swimlaneData:e.overallSwimLane,swimlaneType:"overall",onResize:()=>{},isLoading:!1,id:e.id,showTimeline:!1,showYAxis:!1,showLegend:!1,noDataWarning:Object(u.jsx)(o.FormattedMessage,{id:"xpack.ml.overview.anomalyDetection.noResultsFoundMessage",defaultMessage:"No results found"}),chartsService:t}):null},width:"300px"},{field:T.jobsInGroup,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableNumJobs",{defaultMessage:"Jobs in group"}),sortable:!0,truncateText:!0,width:"10%"},{field:T.latestTimestamp,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableLatestTimestamp",{defaultMessage:"Latest timestamp"}),dataType:"date",render:e=>Object(x.c)(e),textOnly:!0,truncateText:!0,sortable:!0,width:"25%"},{field:T.docsProcessed,name:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableDocsProcessed",{defaultMessage:"Docs processed"}),render:e=>Object(y.h)(e),textOnly:!0,sortable:!0,width:"15%"},{name:l.i18n.translate("xpack.ml.overview.anomalyDetection.tableActionLabel",{defaultMessage:"Actions"}),actions:w(),width:"80px",align:"right"}],v={initialPageIndex:i,initialPageSize:r,totalItemCount:a.length,pageSizeOptions:[10,20,50],showPerPageOptions:!0},A={sort:{field:b,direction:m}};return Object(u.jsx)(n.EuiInMemoryTable,{allowNeutralSort:!1,className:"mlAnomalyDetectionTable",columns:O,hasActions:!0,isExpandable:!1,isSelectable:!1,items:a,itemId:T.id,onTableChange:({page:e={index:0,size:10},sort:t={field:T.id,direction:"asc"}})=>{const{index:a,size:s}=e;c(a),d(s);const{field:i,direction:o}=t;j(i),p(o)},pagination:v,sorting:A,"data-test-subj":"mlOverviewTableAnomalyDetection"})};var M=a(12),E=a(30),L=a(141),_=a(101),k=a(275);const I=({anomalyTimelineService:e,setLazyJobCount:t})=>{const{services:{charts:a}}=Object(d.d)(),{displayErrorToast:i}=Object(_.c)(),c=Object(L.a)(),[g,O]=Object(r.b)(p.f,ae),x=Object(d.f)({page:m.b.ANOMALY_DETECTION_JOBS_MANAGE}),[w,f]=Object(s.useState)(!1),[y,h]=Object(s.useState)({}),[S,T]=Object(s.useState)(0),[I,D]=Object(s.useState)(),[J,N]=Object(s.useState)(),[C,P]=Object(s.useState)(),F=async t=>{try{const a=Object.fromEntries(Object.entries(t).filter((([e,t])=>t.jobs.length>0)).map((([t,a])=>[t,e.loadOverallData(a.jobs,300)]))),s=Object(v.zipObject)(Object.keys(a),await Promise.all(Object.values(a))),i={...t};for(const e in i)i.hasOwnProperty(e)&&(i[e].overallSwimLane=s[e]);h(i)}catch(e){i(e,l.i18n.translate("xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData",{defaultMessage:"An error occurred fetching anomaly results"}))}};Object(s.useEffect)((()=>{(async()=>{f(!0);let e=0;try{const a=(await M.ml.jobs.jobsSummary([])).map((t=>(t.latestTimestampSortValue=t.latestTimestampMs||0,t.awaitingNodeAssignment&&e++,t))),{groups:s,count:i}=function(e){const t={ungrouped:{id:"ungrouped",jobs:[],jobIds:[],docs_processed:0,latest_timestamp:0,max_anomaly_score:null,jobs_in_group:0}};e.forEach((e=>{e.groups.length>0?e.groups.forEach((a=>{void 0===t[a]?t[a]={id:a,jobs:[e],jobIds:[e.id],docs_processed:e.processed_record_count,latest_timestamp:e.latestTimestampMs,max_anomaly_score:null,jobs_in_group:1}:(t[a].jobs.push(e),t[a].jobIds.push(e.id),t[a].docs_processed+=e.processed_record_count,t[a].jobs_in_group++,(void 0===t[a].latest_timestamp||e.latestTimestampMs&&e.latestTimestampMs>t[a].latest_timestamp)&&(t[a].latest_timestamp=e.latestTimestampMs))})):(t.ungrouped.jobs.push(e),t.ungrouped.jobIds.push(e.id),t.ungrouped.docs_processed+=e.processed_record_count,t.ungrouped.jobs_in_group++,e.latestTimestampMs&&e.latestTimestampMs>t.ungrouped.latest_timestamp&&(t.ungrouped.latest_timestamp=e.latestTimestampMs))})),0===t.ungrouped.jobIds.length&&delete t.ungrouped;const a=Object.values(t).length;return{groups:t,count:a}}(a),o=function(e){const t={total:{label:l.i18n.translate("xpack.ml.overviewJobsList.statsBar.totalJobsLabel",{defaultMessage:"Total"}),value:0,show:!0,group:0},open:{label:l.i18n.translate("xpack.ml.overviewJobsList.statsBar.openJobsLabel",{defaultMessage:"Open"}),value:0,show:!0,group:0},closed:{label:l.i18n.translate("xpack.ml.overviewJobsList.statsBar.closedJobsLabel",{defaultMessage:"Closed"}),value:0,show:!0,group:0},failed:{label:l.i18n.translate("xpack.ml.overviewJobsList.statsBar.failedJobsLabel",{defaultMessage:"Failed"}),value:0,show:!1,group:0},activeNodes:{label:l.i18n.translate("xpack.ml.overviewJobsList.statsBar.activeMLNodesLabel",{defaultMessage:"Active ML nodes"}),value:0,show:!0,group:1},activeDatafeeds:{label:l.i18n.translate("xpack.ml.jobsList.statsBar.activeDatafeedsLabel",{defaultMessage:"Active datafeeds"}),value:0,show:!0,group:1}};if(void 0===e)return t;const a={};let s=0;if(e.forEach((e=>{e.jobState===E.c.OPENED?t.open.value++:e.jobState===E.c.CLOSED?t.closed.value++:e.jobState===E.c.FAILED&&s++,e.hasDatafeed&&e.datafeedState===E.a.STARTED&&t.activeDatafeeds.value++,void 0!==e.nodeName&&(a[e.nodeName]={})})),t.total.value=e.length,s?(t.failed.value=s,t.failed.show=!0):t.failed.show=!1,t.activeNodes.value=Object.keys(a).length,0===t.total.value)for(const[e,a]of Object.entries(t))"total"!==e&&(a.show=!1);return t}(a),n=Object(v.groupBy)(Object.entries(o).filter((([e,t])=>t.show)).map((([e,t])=>t)),"group");f(!1),P(void 0),D(n[0]),N(n[1]),T(i),h(s),F(s),t(e)}catch(e){P(void 0!==e.message?e.message:JSON.stringify(e)),f(!1)}})()}),[null==c?void 0:c.timeRange]);const z=Object(u.jsx)(s.Fragment,null,Object(u.jsx)(n.EuiCallOut,{title:l.i18n.translate("xpack.ml.overview.anomalyDetection.errorPromptTitle",{defaultMessage:"An error occurred getting the anomaly detection jobs list."}),color:"danger",iconType:"warning"},Object(u.jsx)("pre",null,C))),B=!C&&!1===w&&void 0===C&&0===S;return Object(u.jsx)(b,{isOpen:g.adJobs,onToggle:e=>{O({...g,adJobs:e})},header:Object(u.jsx)(o.FormattedMessage,{id:"xpack.ml.overview.adJobsPanel.header",defaultMessage:"Anomaly Detection Jobs"}),headerItems:[...I?[Object(u.jsx)(j,{inputStats:I,dataTestSub:"mlOverviewJobStatsBar"})]:[],...J?[Object(u.jsx)(j,{inputStats:J,dataTestSub:"mlOverviewJobStatsBarExtra"})]:[],Object(u.jsx)(n.EuiLink,{href:x},l.i18n.translate("xpack.ml.overview.anomalyDetection.manageJobsButtonText",{defaultMessage:"Manage jobs"}))]},B?Object(u.jsx)(k.a,null):null,void 0!==C&&z,w?Object(u.jsx)(n.EuiLoadingSpinner,{className:"mlOverviewPanel__spinner",size:"xl"}):null,!1===w&&void 0===C&&S>0?Object(u.jsx)(A,{items:y,chartsService:a}):null)};var D=a(99),J=a(125),N=a(267),C=a(204);const P=({item:e})=>{const{disabled:t,tooltipContent:a}=Object(C.a)(e),i=l.i18n.translate("xpack.ml.overview.analytics.resultActions.openJobText",{defaultMessage:"View job results"}),o=!1===t?i:a,c=Object(s.useMemo)((()=>Object(D.s)(e.config.analysis)),[e]),r=Object(d.f)({page:m.b.DATA_FRAME_ANALYTICS_EXPLORATION,pageState:{jobId:e.id,analysisType:c}});return Object(u.jsx)(n.EuiToolTip,{position:"top",content:o},Object(u.jsx)(n.EuiButtonIcon,{href:r,size:"xs",iconType:"visTable","aria-label":i,"data-test-subj":"mlOverviewAnalyticsJobViewButton",isDisabled:t}))};function F(){const e=Object(d.g)(),t=Object(d.h)();return[{isPrimary:!1,name:l.i18n.translate("xpack.ml.overview.analytics.viewJobActionName",{defaultMessage:"View job"}),description:l.i18n.translate("xpack.ml.overview.analytics.viewJobActionName",{defaultMessage:"View job"}),type:"icon",icon:"list",onClick:async a=>{const s=await(null==e?void 0:e.getUrl({page:m.b.DATA_FRAME_ANALYTICS_JOBS_MANAGE,pageState:{jobId:a.id}}));await t(s)}},{isPrimary:!1,name:l.i18n.translate("xpack.ml.overview.analytics.viewResultsActionName",{defaultMessage:"View results"}),description:l.i18n.translate("xpack.ml.overview.analytics.resultActions.openJobText",{defaultMessage:"View job results"}),render:e=>Object(u.jsx)(P,{item:e})}]}const z=({items:e})=>{const[t,a]=Object(s.useState)(0),[i,o]=Object(s.useState)(10),[c,r]=Object(s.useState)(J.b.id),[d,b]=Object(s.useState)("asc"),j=[{field:J.b.id,name:l.i18n.translate("xpack.ml.overview.analyticsList.id",{defaultMessage:"ID"}),sortable:!0,truncateText:!1,width:"20%"},{name:l.i18n.translate("xpack.ml.overview.analyticsList.type",{defaultMessage:"Type"}),sortable:e=>Object(D.s)(e.config.analysis),truncateText:!0,render:e=>Object(u.jsx)(n.EuiBadge,{color:"hollow"},Object(D.s)(e.config.analysis)),width:"150px"},{name:l.i18n.translate("xpack.ml.overview.analyticsList.status",{defaultMessage:"Status"}),sortable:e=>e.stats.state,truncateText:!0,render:e=>Object(N.c)(e.stats.state,e.stats.failure_reason),width:"100px"},N.d,{field:J.b.configCreateTime,name:l.i18n.translate("xpack.ml.overview.analyticsList.reatedTimeColumnName",{defaultMessage:"Creation time"}),dataType:"date",render:e=>Object(x.c)(e),textOnly:!0,truncateText:!0,sortable:!0,width:"25%"},{name:l.i18n.translate("xpack.ml.overview.analyticsList.tableActionLabel",{defaultMessage:"Actions"}),actions:F(),width:"80px"}],m={initialPageIndex:t,initialPageSize:i,totalItemCount:e.length,pageSizeOptions:[10,20,50],showPerPageOptions:!0},p={sort:{field:c,direction:d}};return Object(u.jsx)(n.EuiInMemoryTable,{allowNeutralSort:!1,className:"mlAnalyticsTable",columns:j,hasActions:!0,isExpandable:!1,isSelectable:!1,items:e,itemId:J.b.id,onTableChange:({page:e={index:0,size:10},sort:t={field:J.b.id,direction:"asc"}})=>{const{index:s,size:i}=e;a(s),o(i);const{field:n,direction:l}=t;r(n),b(l)},pagination:m,sorting:p,"data-test-subj":"mlOverviewTableAnalytics"})};var B=a(189),R=a(221),G={name:"1r5gb7q",styles:"display:inline-block"};const V=({setLazyJobCount:e})=>{const t=Object(L.a)(),[a,i]=Object(s.useState)([]),[c,g]=Object(s.useState)(void 0),[O,v]=Object(s.useState)(),[x,w]=Object(s.useState)(!1),f=Object(d.f)({page:m.b.DATA_FRAME_ANALYTICS_JOBS_MANAGE}),[y,h]=Object(r.b)(p.f,ae),S=Object(s.useCallback)((e=>{if(!e)return;const t=Object.entries(e).filter((([e,t])=>t.show)).map((([e,t])=>t));g(t)}),[]),T=Object(B.d)(i,S,v,w,e,!1);Object(s.useEffect)((()=>{T(!0)}),[t]);const A=Object(u.jsx)(n.EuiCallOut,{title:l.i18n.translate("xpack.ml.overview.analyticsList.errorPromptTitle",{defaultMessage:"An error occurred getting the data frame analytics list."}),color:"danger",iconType:"warning"},Object(u.jsx)("pre",null,O&&void 0!==O.message?O.message:JSON.stringify(O))),M=void 0===O&&!0===x&&0===a.length;return Object(u.jsx)(b,{isOpen:y.dfaJobs,onToggle:e=>{h({...y,dfaJobs:e})},header:Object(u.jsx)(o.FormattedMessage,{id:"xpack.ml.overview.analyticsList.PanelTitle",defaultMessage:"Data Frame Analytics Jobs"}),headerItems:[...c?[Object(u.jsx)(j,{inputStats:c,dataTestSub:"mlOverviewAnalyticsStatsBar"})]:[],Object(u.jsx)(n.EuiLink,{href:f},l.i18n.translate("xpack.ml.overview.analyticsList.manageJobsButtonText",{defaultMessage:"Manage jobs"}))]},M?Object(u.jsx)(R.a,null):null,void 0!==O?A:null,!1===x&&Object(u.jsx)(n.EuiLoadingSpinner,{css:G,size:"xl"}),!0===x&&a.length>0?Object(u.jsx)(z,{items:a}):null)};var Y=a(213),W=a(143);const U=({createAnomalyDetectionJobDisabled:e,setAdLazyJobCount:t,setDfaLazyJobCount:a})=>{const{services:{uiSettings:o,mlServices:{mlApiServices:l}}}=Object(d.d)(),[r,b]=Object(g.f)(["isADEnabled","isDFAEnabled"]),j=Object(c.i)(),[m,p]=Object(s.useState)();return Object(s.useEffect)((()=>{p(new Y.AnomalyTimelineService(j,o,Object(W.mlResultsServiceProvider)(l)))}),[]),void 0===m?null:Object(u.jsx)(i.a.Fragment,null,r?Object(u.jsx)(i.a.Fragment,null,Object(u.jsx)(I,{anomalyTimelineService:m,setLazyJobCount:t}),Object(u.jsx)(n.EuiSpacer,{size:"m"})):null,b?Object(u.jsx)(V,{setLazyJobCount:a}):null)};var $=a(36),q=a(171),X=a(154),H=a(194),K=a(121),Q=a(355),Z=a(111),ee=a(276),te=a(23);const ae=Object.freeze({nodes:!0,adJobs:!0,dfaJobs:!0}),se=()=>{const[e,t]=Object(g.f)(["canViewMlNodes","canCreateJob"]),a=!t||!Object(O.c)(),{services:{docLinks:v}}=Object(d.d)(),x=v.links.ml.guide,w=Object(d.f)({page:m.b.MEMORY_USAGE}),f=Object(c.i)({timeRangeSelector:!0,autoRefreshSelector:!0}),[y,h]=Object(s.useState)(0),[S,T]=Object(s.useState)(0),[A,M]=Object(r.b)(p.f,ae);return Object(u.jsx)("div",null,Object(u.jsx)(Z.a,null,Object(u.jsx)(ee.a,{title:l.i18n.translate("xpack.ml.overview.overviewLabel",{defaultMessage:"Overview"})})),Object(u.jsx)($.b,null),Object(u.jsx)(q.a,{jobCount:y+S}),Object(u.jsx)(X.a,{onCloseFlyout:()=>{const{from:e,to:t}=f.getTime(),a={start:e,end:t};c.f.next({lastRefresh:Date.now(),timeRange:a})}}),Object(u.jsx)(H.a,null),e?Object(u.jsx)(i.a.Fragment,null,Object(u.jsx)(b,{isOpen:A.nodes,onToggle:e=>{M({...A,nodes:e})},header:Object(u.jsx)(o.FormattedMessage,{id:"xpack.ml.overview.nodesPanel.header",defaultMessage:"Nodes"}),headerItems:[Object(u.jsx)(j,{inputStats:[{label:l.i18n.translate("xpack.ml.overview.nodesPanel.totalNodesLabel",{defaultMessage:"Total"}),value:Object(te.c)(),"data-test-subj":"mlTotalNodesCount"}],dataTestSub:"mlOverviewAnalyticsStatsBar"}),Object(u.jsx)(n.EuiLink,{href:w},l.i18n.translate("xpack.ml.overview.nodesPanel.viewNodeLink",{defaultMessage:"View nodes"}))]},Object(u.jsx)(Q.a,{compactView:!0})),Object(u.jsx)(n.EuiSpacer,{size:"m"})):null,Object(u.jsx)(U,{createAnomalyDetectionJobDisabled:a,setAdLazyJobCount:h,setDfaLazyJobCount:T}),Object(u.jsx)(K.a,{docLink:x}))};t.default=se}}]);