/*! 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([[17],{104:function(e,t,a){e.exports=a(65)(1466)},110:function(e,t,a){"use strict";a.d(t,"k",(function(){return r.b})),a.d(t,"m",(function(){return s})),a.d(t,"l",(function(){return u})),a.d(t,"a",(function(){return E.a})),a.d(t,"r",(function(){return E.t})),a.d(t,"p",(function(){return E.r})),a.d(t,"q",(function(){return E.s})),a.d(t,"e",(function(){return E.e})),a.d(t,"w",(function(){return E.y})),a.d(t,"x",(function(){return E.z})),a.d(t,"f",(function(){return E.f})),a.d(t,"y",(function(){return E.A})),a.d(t,"z",(function(){return E.B})),a.d(t,"b",(function(){return E.b})),a.d(t,"n",(function(){return E.p})),a.d(t,"o",(function(){return E.q})),a.d(t,"g",(function(){return E.g})),a.d(t,"A",(function(){return E.C})),a.d(t,"B",(function(){return E.D})),a.d(t,"h",(function(){return E.h})),a.d(t,"C",(function(){return E.E})),a.d(t,"D",(function(){return E.F})),a.d(t,"d",(function(){return E.d})),a.d(t,"v",(function(){return E.x})),a.d(t,"u",(function(){return E.w})),a.d(t,"c",(function(){return E.c})),a.d(t,"s",(function(){return E.u})),a.d(t,"t",(function(){return E.v})),a.d(t,"i",(function(){return E.i})),a.d(t,"E",(function(){return E.J})),a.d(t,"F",(function(){return E.K})),a.d(t,"j",(function(){return E.j})),a.d(t,"H",(function(){return E.M})),a.d(t,"G",(function(){return E.L})),a.d(t,"I",(function(){return E.N})),a(121);var r=a(28),n=a(42),i=(a(30),a(0));const l=i.type({value:i.number}),o=(i.type({hostTerm:i.record(i.string,i.string),indexPattern:i.string,to:i.number,sortBy:i.type({name:i.string,isAscending:i.boolean}),searchFilter:i.array(i.record(i.string,i.record(i.string,i.unknown)))}),i.type({summaryEvent:i.type({summary:i.type({hits:i.type({hits:i.array(i.type({_source:i.type({system:i.type({process:i.type({summary:i.record(i.string,i.number)})})})}))})})}),processes:i.type({filteredProcs:i.type({buckets:i.array(i.type({key:i.string,cpu:l,memory:l,startTime:i.type({value_as_string:i.string}),meta:i.type({hits:i.type({hits:i.array(i.type({_source:i.type({process:i.type({pid:i.number}),system:i.type({process:i.type({state:i.string})}),user:i.type({name:i.string})})}))})})}))})})}),i.union([i.number,i.string])),s=i.type({processList:i.array(i.type({cpu:i.number,memory:i.number,startTime:i.number,pid:i.number,state:i.string,user:i.string,command:i.string})),summary:i.exact(i.partial({total:o,running:o,sleeping:o,dead:o,stopped:o,idle:o,zombie:o,unknown:o}))}),u=(i.type({hostTerm:i.record(i.string,i.string),indexPattern:i.string,to:i.number,command:i.string}),i.type({process:i.type({filteredProc:i.type({buckets:i.array(i.type({timeseries:i.type({buckets:i.array(i.type({key:i.number,memory:l,cpu:l}))})}))})})}),i.type({cpu:n.a,memory:n.a}));var c=a(12);const d=i.keyof({cpu:null,normalizedLoad1m:null,diskSpaceUsage:null,memory:null,memoryFree:null,rx:null,tx:null}),m=i.type({from:c.b,to:c.b}),p=i.keyof({"cloud.provider":null,"host.ip":null,"host.os.name":null}),g=i.type({name:d,value:i.union([i.number,i.null])}),f=i.type({name:p,value:i.union([i.string,i.null])}),y=(i.intersection([i.partial({query:i.UnknownRecord}),i.type({type:i.literal("host"),limit:i.union([Object(c.c)(1,500),Object(c.a)(20)]),metrics:i.array(i.type({type:d})),sourceId:i.string,range:m})]),i.type({name:i.string,metrics:i.array(g),metadata:i.array(f)}));i.type({type:i.literal("host"),nodes:i.array(y)});var E=a(6);a(47),a(50),a(46),a(49),a(48)},121:function(e,t,a){"use strict";a.d(t,"a",(function(){return E}));var r=a(0),n=a(20);r.type({nodeId:r.string,nodeType:n.c,sourceId:r.string,timeRange:r.type({from:r.number,to:r.number})});const i=r.type({name:r.string,source:r.string}),l=r.partial({codename:r.string,family:r.string,kernel:r.string,name:r.string,platform:r.string,version:r.string,build:r.string}),o=r.partial({name:r.string,hostname:r.string,id:r.string,ip:r.union([r.array(r.string),r.string]),mac:r.union([r.array(r.string),r.string]),os:l,architecture:r.string,containerized:r.boolean}),s=r.partial({id:r.string,name:r.string}),u=r.partial({id:r.string,name:r.string}),c=r.partial({id:r.string}),d=r.partial({interface:r.string,type:r.string}),m=r.partial({instance:s,provider:r.string,account:u,availability_zone:r.string,project:c,machine:d,region:r.string}),p=r.partial({id:r.string,version:r.string,policy:r.string}),g=r.partial({cloud:m,host:o,agent:p}),f=r.type({id:r.string,name:r.string,features:r.array(i)}),y=r.partial({info:g}),E=r.intersection([f,y])},237:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var r=a(35),n=a(1),i=a(2),l=a.n(i);const o=({options:e,onChange:t,fields:a,errorOptions:o})=>{const s=Object(i.useCallback)((e=>{const a=e.map((e=>e.label));t(a)}),[t]),u=Array.isArray(e.groupBy)?e.groupBy.map((e=>({label:e,color:null!=o&&o.includes(e)?"danger":void 0}))):e.groupBy?[{label:e.groupBy,color:null!=o&&o.includes(e.groupBy)?"danger":void 0}]:[];return l.a.createElement(r.EuiComboBox,{"data-test-subj":"metricsExplorer-groupBy",placeholder:n.i18n.translate("xpack.infra.metricsExplorer.groupByLabel",{defaultMessage:"Everything"}),"aria-label":n.i18n.translate("xpack.infra.metricsExplorer.groupByAriaLabel",{defaultMessage:"Graph per"}),fullWidth:!0,singleSelection:!1,selectedOptions:u,options:a.filter((e=>e.aggregatable&&"string"===e.type)).map((e=>({label:e.name}))),onChange:s,isClearable:!0})}},549:function(e,t,a){"use strict";a.r(t),a.d(t,"defaultExpression",(function(){return q})),a.d(t,"Expressions",(function(){return L}));var r=a(2),n=a.n(r),i=a(35),l=a(1),o=a(75),s=a(7),u=a(88),c=a(106),d=a(14),m=a(21),p=a(237),g=a(167),f=a(134),y=a(312),E=a(29),b=a(148),h=a.n(b);const x=(e,t)=>{const a=t?new RegExp(/0?\./):".",r=String(e).replace(a,"").length;return parseFloat((t?100*e:e/100).toPrecision(r))};let v;!function(e){e.COUNT="count",e.AVERAGE="avg",e.SUM="sum",e.MIN="min",e.MAX="max",e.RATE="rate",e.CARDINALITY="cardinality",e.P95="p95",e.P99="p99",e.CUSTOM="custom"}(v||(v={}));var T=a(110),C=a(193);const k=({onDelete:e,disableDelete:t})=>n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiFlexItem,{grow:0},n.a.createElement(i.EuiButtonIcon,{iconType:"trash",color:"danger",style:{marginBottom:"0.2em"},onClick:e,disabled:t,title:C.b}))),O=({name:e,aggType:t=d.a.AVERAGE,field:a,onDelete:o,disableDelete:u,fields:c,aggregationTypes:m,onChange:p,errors:g})=>{const f=Object(r.useCallback)((()=>{o(e)}),[e,o]),y=Object(r.useMemo)((()=>c.reduce(((e,a)=>(t&&m[t].validNormalizedTypes.includes(a.normalizedType)&&e.push({label:a.name}),e)),[])),[c,m,t]),E=Object(r.useMemo)((()=>Object.values(m).map((e=>({text:e.text,value:e.value})))),[m]),b=Object(r.useCallback)((a=>{p({name:e,field:a.length&&a[0].label||void 0,aggType:t})}),[e,t,p]),h=Object(r.useCallback)((t=>{p({name:e,field:a,aggType:t.target.value})}),[e,a,p]),x=null!=Object(s.get)(g,["customMetrics",e,"aggType"]),v=null!=Object(s.get)(g,["customMetrics",e,"field"])||!a;return n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiFlexGroup,{gutterSize:"xs",alignItems:"flexEnd"},n.a.createElement(i.EuiFlexItem,{style:{maxWidth:145}},n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.customEquationEditor.aggregationLabel",{defaultMessage:"Aggregation {name}",values:{name:e}}),isInvalid:x},n.a.createElement(i.EuiSelect,{"data-test-subj":"infraMetricRowWithAggSelect",compressed:!0,options:E,value:t,isInvalid:x,onChange:h}))),n.a.createElement(i.EuiFlexItem,null,n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.customEquationEditor.fieldLabel",{defaultMessage:"Field {name}",values:{name:e}}),isInvalid:v},n.a.createElement(i.EuiComboBox,{fullWidth:!0,compressed:!0,isInvalid:v,singleSelection:{asPlainText:!0},options:y,selectedOptions:a?[{label:a}]:[],onChange:b}))),n.a.createElement(k,{onDelete:f,disableDelete:u})),n.a.createElement(i.EuiHorizontalRule,{margin:"xs"}))},F=({name:e,agg:t,filter:a,onDelete:o,disableDelete:s,onChange:u,aggregationTypes:c,dataView:m})=>{const p=Object(r.useMemo)((()=>Object.values(c).filter((e=>e.value!==d.a.CUSTOM)).map((e=>({text:e.text,value:e.value})))),[c]),f=Object(r.useCallback)((()=>{o(e)}),[e,o]),y=Object(r.useCallback)((t=>{u({name:e,filter:a,aggType:t.target.value})}),[e,a,u]),E=Object(r.useCallback)((a=>{u({name:e,filter:a,aggType:t})}),[e,t,u]);return n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiFlexGroup,{gutterSize:"xs",alignItems:"flexEnd"},n.a.createElement(i.EuiFlexItem,{style:{maxWidth:145}},n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.customEquationEditor.aggregationLabel",{defaultMessage:"Aggregation {name}",values:{name:e}})},n.a.createElement(i.EuiSelect,{"data-test-subj":"infraMetricRowWithCountSelect",compressed:!0,options:p,value:t,onChange:y}))),n.a.createElement(i.EuiFlexItem,null,n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.customEquationEditor.filterLabel",{defaultMessage:"KQL Filter {name}",values:{name:e}})},n.a.createElement(g.a,{placeholder:" ",compressed:!0,derivedIndexPattern:m,onChange:E,onSubmit:E,value:a}))),n.a.createElement(k,{onDelete:f,disableDelete:s})),n.a.createElement(i.EuiHorizontalRule,{margin:"xs"}))},j={name:"A",aggType:d.a.AVERAGE},M=Object(s.range)(65,91).map((e=>String.fromCharCode(e))),w=({onChange:e,expression:t,fields:a,aggregationTypes:l,errors:u,dataView:c})=>{var m;const[p,g]=Object(r.useState)(null!==(m=null==t?void 0:t.customMetrics)&&void 0!==m?m:[j]),[f,y]=Object(r.useState)((null==t?void 0:t.label)||void 0),[E,b]=Object(r.useState)((null==t?void 0:t.equation)||void 0),h=Object(r.useMemo)((()=>Object(s.debounce)(e,500)),[e]),x=Object(r.useCallback)((()=>{g((e=>{var a;const r=null!==(a=null==e?void 0:e.map((e=>e.name)))&&void 0!==a?a:[],n=Object(s.first)(Object(s.xor)(M,r)),i=[...e||[],{...j,name:n}];return h({...t,customMetrics:i,equation:E,label:f}),i}))}),[h,E,t,f]),v=Object(r.useCallback)((e=>{g((a=>{var r;const n=null!==(r=null==a?void 0:a.filter((t=>t.name!==e)))&&void 0!==r?r:[j],i=n.length&&n||[j];return h({...t,customMetrics:i,equation:E,label:f}),i}))}),[E,t,h,f]),k=Object(r.useCallback)((e=>{g((a=>{const r=null==a?void 0:a.map((t=>t.name===e.name?e:t));return h({...t,customMetrics:r,equation:E,label:f}),r}))}),[E,t,h,f]),w=Object(r.useCallback)((e=>{b(e.target.value),h({...t,customMetrics:p,equation:e.target.value,label:f})}),[h,t,p,f]),S=Object(r.useCallback)((e=>{y(e.target.value),h({...t,customMetrics:p,equation:E,label:e.target.value})}),[h,t,p,E]),A=26===(null==p?void 0:p.length),z=1===(null==p?void 0:p.length),I=Object(s.omit)(l,T.k),R=null==p?void 0:p.map((e=>e.aggType===d.a.COUNT?n.a.createElement(F,{key:e.name,name:e.name,agg:e.aggType,filter:e.filter,onAdd:x,onDelete:v,disableAdd:A,aggregationTypes:I,disableDelete:z,onChange:k,errors:u,dataView:c}):n.a.createElement(O,{key:e.name,name:e.name,aggType:e.aggType,aggregationTypes:I,field:e.field,fields:a,onAdd:x,onDelete:v,disableAdd:A,disableDelete:z,onChange:k,errors:u}))),B=Object(r.useMemo)((()=>null==p?void 0:p.map((e=>e.name)).join(" + ")),[p]);return n.a.createElement("div",{style:{minWidth:"100%"}},n.a.createElement(i.EuiSpacer,{size:"s"}),R,n.a.createElement(i.EuiFlexGroup,null,n.a.createElement(i.EuiButtonEmpty,{"data-test-subj":"infraCustomEquationEditorAddAggregationFieldButton",color:"primary",flush:"left",size:"xs",iconType:"plusInCircleFilled",onClick:x,isDisabled:A},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.customEquationEditor.addCustomRow",defaultMessage:"Add aggregation/field"}))),n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(i.EuiFlexGroup,null,n.a.createElement(i.EuiFlexItem,null,n.a.createElement(i.EuiFormRow,{label:"Equation",fullWidth:!0,helpText:C.c,isInvalid:null!=u.equation,error:[u.equation]},n.a.createElement(i.EuiFieldText,{"data-test-subj":"infraCustomEquationEditorFieldText",isInvalid:null!=u.equation,compressed:!0,fullWidth:!0,placeholder:B,onChange:w,value:null!=E?E:""})))),n.a.createElement(i.EuiSpacer,{size:"s"}),n.a.createElement(i.EuiFlexGroup,null,n.a.createElement(i.EuiFlexItem,null,n.a.createElement(i.EuiFormRow,{label:C.e,fullWidth:!0,helpText:C.d},n.a.createElement(i.EuiFieldText,{"data-test-subj":"infraCustomEquationEditorFieldText",compressed:!0,fullWidth:!0,value:f,placeholder:C.a,onChange:S})))))},S={...u.builtInComparators,[d.b.OUTSIDE_RANGE]:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.outsideRangeLabel",{defaultMessage:"Is not between"}),value:d.b.OUTSIDE_RANGE,requiredValues:2}},A=Object(E.euiStyled)(i.EuiFlexGroup)` display: flex; flex-wrap: wrap; align-items: center; margin: 0 -4px; `,z=E.euiStyled.div` padding: 0 4px; `,I=Object(E.euiStyled)(i.EuiHealth)` margin-left: 4px; `,R=e=>{var t,a;const[c,m]=h()(!0),{dataView:p,children:g,setRuleParams:f,expression:y,errors:E,expressionId:b,remove:T,fields:C,canDelete:k}=e,{aggType:O=v.MAX,metric:F,comparator:j=d.b.GT,threshold:M=[],warningThreshold:S=[],warningComparator:R}=y,[q,L]=Object(r.useState)(Boolean(null==S?void 0:S.length)),N=Object(r.useMemo)((()=>Boolean(F&&F.endsWith(".pct"))),[F]),G=Object(r.useCallback)((e=>{f(b,{...y,aggType:e,metric:["custom","count"].includes(e)?void 0:y.metric,customMetrics:"custom"===e?y.customMetrics:void 0,equation:"custom"===e?y.equation:void 0,label:"custom"===e?y.label:void 0})}),[b,y,f]),P=Object(r.useCallback)((e=>{f(b,{...y,metric:e})}),[b,y,f]),W=Object(r.useCallback)((e=>{f(b,{...y,comparator:e})}),[b,y,f]),U=Object(r.useCallback)((e=>{f(b,{...y,warningComparator:e})}),[b,y,f]),Q=Object(r.useCallback)((e=>N?e.map((e=>(e=>x(e,!1))(e))):e),[N]),V=Object(r.useCallback)((e=>{const t=Q(e);t.join()!==y.threshold.join()&&f(b,{...y,threshold:t})}),[b,y,Q,f]),_=Object(r.useCallback)((e=>{var t;const a=Q(e);a.join()!==(null===(t=y.warningThreshold)||void 0===t?void 0:t.join())&&f(b,{...y,warningThreshold:a})}),[b,y,Q,f]),H=Object(r.useCallback)((()=>{q?(L(!1),f(b,Object(s.omit)(y,"warningComparator","warningThreshold"))):(L(!0),f(b,{...y,warningComparator:j,warningThreshold:[]}))}),[q,L,f,j,y,b]),$=Object(r.useCallback)((e=>{f(b,e)}),[b,f]),K=n.a.createElement(B,{comparator:j,threshold:M,updateComparator:W,updateThreshold:V,errors:null!==(t=E.critical)&&void 0!==t?t:{},isMetricPct:N}),X=q&&n.a.createElement(B,{comparator:R||j,threshold:S,updateComparator:U,updateThreshold:_,errors:null!==(a=E.warning)&&void 0!==a?a:{},isMetricPct:N}),Y=C.map((e=>({normalizedType:e.type,name:e.name})));return n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiFlexGroup,{gutterSize:"xs"},n.a.createElement(i.EuiFlexItem,{grow:!1},n.a.createElement(i.EuiButtonIcon,{iconType:c?"arrowDown":"arrowRight",onClick:m,"data-test-subj":"expandRow","aria-label":l.i18n.translate("xpack.infra.metrics.alertFlyout.expandRowLabel",{defaultMessage:"Expand row."})})),n.a.createElement(i.EuiFlexItem,{grow:!0},n.a.createElement(A,{style:{gap:"custom"!==O?24:12}},n.a.createElement(z,null,n.a.createElement(u.WhenExpression,{customAggTypesOptions:D,aggType:O,onChangeSelectedAggType:G})),!["count","custom"].includes(O)&&n.a.createElement(z,null,n.a.createElement(u.OfExpression,{customAggTypesOptions:D,aggField:F,fields:Y,aggType:O,errors:E,onChangeSelectedAggField:P,helpText:n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.ofExpression.helpTextDetail",defaultMessage:"Can't find a metric? {documentationLink}.",values:{documentationLink:n.a.createElement(i.EuiLink,{"data-test-subj":"infraExpressionRowLearnHowToAddMoreDataLink",href:"https://www.elastic.co/guide/en/observability/current/configure-settings.html",target:"BLANK"},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.ofExpression.popoverLinkLabel",defaultMessage:"Learn how to add more data"}))}}),"data-test-subj":"ofExpression"})),!q&&K,!q&&n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiSpacer,{size:"xs"}),n.a.createElement(A,null,n.a.createElement(i.EuiButtonEmpty,{"data-test-subj":"infraExpressionRowAddWarningThresholdButton",color:"primary",flush:"left",size:"xs",iconType:"plusInCircleFilled",onClick:H},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.addWarningThreshold",defaultMessage:"Add warning threshold"}))))),q&&n.a.createElement(n.a.Fragment,null,n.a.createElement(A,null,K,n.a.createElement(I,{color:"danger"},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.criticalThreshold",defaultMessage:"Alert"}))),n.a.createElement(A,null,X,n.a.createElement(I,{color:"warning"},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.warningThreshold",defaultMessage:"Warning"})),n.a.createElement(i.EuiButtonIcon,{"aria-label":l.i18n.translate("xpack.infra.metrics.alertFlyout.removeWarningThreshold",{defaultMessage:"Remove warningThreshold"}),iconSize:"s",color:"text",iconType:"minusInCircleFilled",onClick:H}))),O===d.a.CUSTOM&&n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(A,null,n.a.createElement(w,{expression:y,fields:Y,aggregationTypes:D,onChange:$,errors:E,dataView:p})),n.a.createElement(i.EuiSpacer,{size:"s"}))),k&&n.a.createElement(i.EuiFlexItem,{grow:!1},n.a.createElement(i.EuiButtonIcon,{"aria-label":l.i18n.translate("xpack.infra.metrics.alertFlyout.removeCondition",{defaultMessage:"Remove condition"}),color:"danger",iconType:"trash",onClick:()=>T(b)}))),c?n.a.createElement("div",{style:{padding:"0 0 0 28px"}},g):null,n.a.createElement(i.EuiSpacer,{size:"s"}))},B=({updateComparator:e,updateThreshold:t,threshold:a,isMetricPct:l,comparator:o,errors:s})=>{const c=Object(r.useMemo)((()=>l?a.map((e=>(e=>x(e,!0))(e))):a),[a,l]);return n.a.createElement(n.a.Fragment,null,n.a.createElement(z,null,n.a.createElement(u.ThresholdExpression,{thresholdComparator:o||d.b.GT,threshold:c,customComparators:S,onChangeSelectedThresholdComparator:e,onChangeSelectedThreshold:t,errors:s})),l&&n.a.createElement("div",{style:{alignSelf:"center"}},n.a.createElement(i.EuiText,{size:"s"},"%")))},D={avg:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.avg",{defaultMessage:"Average"}),fieldRequired:!0,validNormalizedTypes:["number","histogram"],value:v.AVERAGE},max:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.max",{defaultMessage:"Max"}),fieldRequired:!0,validNormalizedTypes:["number","date","histogram"],value:v.MAX},min:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.min",{defaultMessage:"Min"}),fieldRequired:!0,validNormalizedTypes:["number","date","histogram"],value:v.MIN},cardinality:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.cardinality",{defaultMessage:"Cardinality"}),fieldRequired:!1,value:v.CARDINALITY,validNormalizedTypes:["number","string","ip","date"]},rate:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.rate",{defaultMessage:"Rate"}),fieldRequired:!1,value:v.RATE,validNormalizedTypes:["number"]},count:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.count",{defaultMessage:"Document count"}),fieldRequired:!1,value:v.COUNT,validNormalizedTypes:["number"]},sum:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.sum",{defaultMessage:"Sum"}),fieldRequired:!1,value:v.SUM,validNormalizedTypes:["number","histogram"]},p95:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.p95",{defaultMessage:"95th Percentile"}),fieldRequired:!1,value:v.P95,validNormalizedTypes:["number","histogram"]},p99:{text:l.i18n.translate("xpack.infra.metrics.alertFlyout.aggregationText.p99",{defaultMessage:"99th Percentile"}),fieldRequired:!1,value:v.P99,validNormalizedTypes:["number","histogram"]},custom:{text:C.a,fieldRequired:!1,value:v.CUSTOM,validNormalizedTypes:["number","histogram"]}},q={aggType:d.a.AVERAGE,comparator:d.b.GT,threshold:[],timeSize:1,timeUnit:"m"},L=e=>{const{setRuleParams:t,ruleParams:a,errors:E,metadata:b}=e,{docLinks:h}=Object(m.b)().services,{source:x,createDerivedIndexPattern:v}=Object(c.b)(),[T,C]=Object(r.useState)(1),[k,O]=Object(r.useState)("m"),F=Object(r.useMemo)((()=>v()),[v]),j=Object(r.useMemo)((()=>{var e;return null!=b&&null!==(e=b.currentOptions)&&void 0!==e&&e.metrics?b.currentOptions:{metrics:[],aggregation:"avg"}}),[b]),M=Object(r.useCallback)(((e,r)=>{const n=a.criteria?a.criteria.slice():[];n[e]=r,t("criteria",n)}),[t,a.criteria]),w=Object(r.useCallback)((()=>{var e;const r=(null===(e=a.criteria)||void 0===e?void 0:e.slice())||[];r.push({...q,timeSize:null!=T?T:q.timeSize,timeUnit:null!=k?k:q.timeUnit}),t("criteria",r)}),[t,a.criteria,T,k]),S=Object(r.useCallback)((e=>{var r;const n=(null===(r=a.criteria)||void 0===r?void 0:r.slice())||[];n.length>1&&(n.splice(e,1),t("criteria",n))}),[t,a.criteria]),A=Object(r.useCallback)((e=>{t("filterQueryText",e);try{t("filterQuery",Object(f.a)(e,F,!1)||"")}catch(e){t("filterQuery",d.f)}}),[t,F]),z=Object(r.useCallback)(Object(s.debounce)(A,500),[A]),I=Object(r.useCallback)((e=>{t("groupBy",e&&e.length?e:"")}),[t]),B=Object(r.useMemo)((()=>({aggField:[],timeSizeUnit:[],timeWindowSize:[]})),[]),D=Object(r.useCallback)((e=>{var r;const n=(null===(r=a.criteria)||void 0===r?void 0:r.map((t=>({...t,timeSize:e}))))||[];C(e||void 0),t("criteria",n)}),[a.criteria,t]),L=Object(r.useCallback)((e=>{var r;const n=(null===(r=a.criteria)||void 0===r?void 0:r.map((t=>({...t,timeUnit:e}))))||[];O(e),t("criteria",n)}),[a.criteria,t]),G=Object(r.useCallback)((()=>{var e,a;const r=b;null!=r&&null!==(e=r.currentOptions)&&void 0!==e&&null!==(a=e.metrics)&&void 0!==a&&a.length?t("criteria",r.currentOptions.metrics.map((e=>({metric:e.field,comparator:d.b.GT,threshold:[],timeSize:T,timeUnit:k,aggType:e.aggregation})))):t("criteria",[q])}),[b,t,T,k]),P=Object(r.useCallback)((()=>{var e,a;const r=b;if(r&&null!==(e=r.currentOptions)&&void 0!==e&&e.filterQuery)t("filterQueryText",r.currentOptions.filterQuery),t("filterQuery",Object(f.a)(r.currentOptions.filterQuery,F)||"");else if(r&&null!==(a=r.currentOptions)&&void 0!==a&&a.groupBy&&r.series){const{groupBy:e}=r.currentOptions,a=Array.isArray(e)?e.map(((e,t)=>{var a,n;return`${e}: "${null===(a=r.series)||void 0===a||null===(n=a.keys)||void 0===n?void 0:n[t]}"`})).join(" and "):`${e}: "${r.series.id}"`;t("filterQueryText",a),t("filterQuery",Object(f.a)(a,F)||"")}}),[b,F,t]),W=Object(r.useCallback)((()=>{var e;const a=b;a&&null!==(e=a.currentOptions)&&void 0!==e&&e.groupBy&&!a.series&&t("groupBy",a.currentOptions.groupBy)}),[b,t]);Object(r.useEffect)((()=>{a.criteria&&a.criteria.length?(C(a.criteria[0].timeSize),O(a.criteria[0].timeUnit)):G(),a.filterQuery||P(),a.groupBy||W(),a.sourceId||t("sourceId",(null==x?void 0:x.id)||"default"),void 0===a.alertOnNoData&&t("alertOnNoData",!0),void 0===a.alertOnGroupDisappear&&t("alertOnGroupDisappear",!0)}),[b,x]);const U=Object(r.useCallback)((e=>A(e.target.value)),[A]),Q=Object(r.useMemo)((()=>a.groupBy&&a.groupBy.length>0),[a.groupBy]),V=Object(r.useMemo)((()=>{var e;return null===(e=a.criteria)||void 0===e?void 0:e.every((e=>e.aggType===d.a.COUNT))}),[a.criteria]),_=Object(r.useMemo)((()=>a.groupBy?(Array.isArray(a.groupBy)?a.groupBy:[a.groupBy]).map((e=>({groupName:e,pattern:new RegExp(`{"match(_phrase)?":{"${e}":"(.*?)"}}`)}))):null),[a.groupBy]),H=Object(r.useMemo)((()=>{const{filterQuery:e}=a;return"string"==typeof e&&_?_.map((({groupName:t,pattern:a})=>{if(a.test(e))return t})).filter((e=>"string"==typeof e)):[]}),[a,_]);return n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(i.EuiText,{size:"xs"},n.a.createElement("h4",null,n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.conditions",defaultMessage:"Conditions"}))),n.a.createElement(i.EuiSpacer,{size:"xs"}),a.criteria&&a.criteria.map(((e,t)=>n.a.createElement(R,{canDelete:a.criteria&&a.criteria.length>1||!1,fields:F.fields,remove:S,addExpression:w,key:t,expressionId:t,setRuleParams:M,errors:E[t]||B,expression:e||{},dataView:F},n.a.createElement(y.a,{expression:e,derivedIndexPattern:F,source:x,filterQuery:a.filterQueryText,groupBy:a.groupBy})))),n.a.createElement("div",{style:{marginLeft:28}},n.a.createElement(u.ForLastExpression,{timeWindowSize:T,timeWindowUnit:k,errors:B,onChangeWindowSize:D,onChangeWindowUnit:L})),n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement("div",null,n.a.createElement(i.EuiButtonEmpty,{"data-test-subj":"infraExpressionsAddConditionButton",color:"primary",iconSide:"left",flush:"left",iconType:"plusInCircleFilled",onClick:w},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.addCondition",defaultMessage:"Add condition"}))),n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(i.EuiAccordion,{id:"advanced-options-accordion",buttonContent:l.i18n.translate("xpack.infra.metrics.alertFlyout.advancedOptions",{defaultMessage:"Advanced options"})},n.a.createElement(i.EuiPanel,{color:"subdued"},n.a.createElement(i.EuiCheckbox,{disabled:V,id:"metrics-alert-no-data-toggle",label:n.a.createElement(n.a.Fragment,null,l.i18n.translate("xpack.infra.metrics.alertFlyout.alertOnNoData",{defaultMessage:"Alert me if there's no data"})," ",n.a.createElement(i.EuiToolTip,{content:(V?`${N} `:"")+l.i18n.translate("xpack.infra.metrics.alertFlyout.noDataHelpText",{defaultMessage:"Enable this to trigger the action if the metric(s) do not report any data over the expected time period, or if the alert fails to query Elasticsearch"})},n.a.createElement(i.EuiIcon,{type:"questionInCircle",color:"subdued"}))),checked:a.alertOnNoData,onChange:e=>t("alertOnNoData",e.target.checked)}))),n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.filterLabel",{defaultMessage:"Filter (optional)"}),helpText:l.i18n.translate("xpack.infra.metrics.alertFlyout.filterHelpText",{defaultMessage:"Use a KQL expression to limit the scope of your alert trigger."}),fullWidth:!0,display:"rowCompressed"},b&&n.a.createElement(g.a,{derivedIndexPattern:F,onChange:z,onSubmit:A,value:a.filterQueryText})||n.a.createElement(i.EuiFieldSearch,{"data-test-subj":"infraExpressionsFieldSearch",onChange:U,value:a.filterQueryText,fullWidth:!0})),n.a.createElement(i.EuiSpacer,{size:"m"}),n.a.createElement(i.EuiFormRow,{label:l.i18n.translate("xpack.infra.metrics.alertFlyout.createAlertPerText",{defaultMessage:"Group alerts by (optional)"}),helpText:l.i18n.translate("xpack.infra.metrics.alertFlyout.createAlertPerHelpText",{defaultMessage:'Create an alert for every unique value. For example: "host.id" or "cloud.region".'}),fullWidth:!0,display:"rowCompressed"},n.a.createElement(p.a,{onChange:I,fields:F.fields,options:{...j,groupBy:a.groupBy||void 0},errorOptions:H})),H.length>0&&n.a.createElement(n.a.Fragment,null,n.a.createElement(i.EuiSpacer,{size:"s"}),n.a.createElement(i.EuiText,{size:"xs",color:"danger"},n.a.createElement(o.FormattedMessage,{id:"xpack.infra.metrics.alertFlyout.alertPerRedundantFilterError",defaultMessage:"This rule may alert on {matchedGroups} less than expected, because the filter query contains a match for {groupCount, plural, one {this field} other {these fields}}. For more information, refer to {filteringAndGroupingLink}.",values:{matchedGroups:n.a.createElement("strong",null,H.join(", ")),groupCount:H.length,filteringAndGroupingLink:n.a.createElement(i.EuiLink,{"data-test-subj":"infraExpressionsTheDocsLink",href:`${h.links.observability.metricsThreshold}#filtering-and-grouping`},l.i18n.translate("xpack.infra.metrics.alertFlyout.alertPerRedundantFilterError.docsLink",{defaultMessage:"the docs"}))}}))),n.a.createElement(i.EuiSpacer,{size:"s"}),n.a.createElement(i.EuiCheckbox,{id:"metrics-alert-group-disappear-toggle",label:n.a.createElement(n.a.Fragment,null,l.i18n.translate("xpack.infra.metrics.alertFlyout.alertOnGroupDisappear",{defaultMessage:"Alert me if a group stops reporting data"})," ",n.a.createElement(i.EuiToolTip,{content:(V?`${N} `:"")+l.i18n.translate("xpack.infra.metrics.alertFlyout.groupDisappearHelpText",{defaultMessage:"Enable this to trigger the action if a previously detected group begins to report no results. This is not recommended for dynamically scaling infrastructures that may rapidly start and stop nodes automatically."})},n.a.createElement(i.EuiIcon,{type:"questionInCircle",color:"subdued"}))),disabled:V||!Q,checked:Boolean(Q&&a.alertOnGroupDisappear),onChange:e=>t("alertOnGroupDisappear",e.target.checked)}),n.a.createElement(i.EuiSpacer,{size:"m"}))},N=l.i18n.translate("xpack.infra.metrics.alertFlyout.docCountNoDataDisabledHelpText",{defaultMessage:"[This setting is not applicable to the Document Count aggregator.]"});t.default=Object(c.c)(L)("default")}}]);