/*! 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.apm_bundle_jsonpfunction=window.apm_bundle_jsonpfunction||[]).push([[8],{479:function(e,t,a){"use strict";a.d(t,"a",(function(){return Te})),a.d(t,"b",(function(){return Fe}));var n=a(6),r=a(21),o=a(54),l=a(51),s=a(22),i=a(481),c=a(91),u=a(45),m=a(1),p=a.n(m),d=a(40),b=a(213),g=a(211),E=a(75),h=a(214),v=a(482),f=a(129),y=a(483),j=a(19),k=a.n(j),x=a(17),O=a(0),M=a(38);const C=O.i18n.translate("sharedUXPackages.prompt.errors.notFound.title",{defaultMessage:"Page not found"}),A=O.i18n.translate("sharedUXPackages.prompt.errors.notFound.body",{defaultMessage:"Sorry, the page you're looking for can't be found. It might have been removed or renamed, or maybe it never existed at all."}),S=O.i18n.translate("sharedUXPackages.prompt.errors.notFound.goBacklabel",{defaultMessage:"Go back"}),T=({actions:e,title:t,body:n})=>{const{colorMode:r}=Object(x.useEuiTheme)(),[o,l]=Object(m.useState)(),s=Object(m.useCallback)((()=>history.back()),[]),i=Object(m.useMemo)((()=>[Object(M.jsx)(x.EuiButtonEmpty,{iconType:"arrowLeft",flush:"both",onClick:s},S)]),[s]);Object(m.useEffect)((()=>{(async()=>{if("DARK"===r){const{default:e}=await a.e(32).then(a.t.bind(null,1043,7));l(e)}else{const{default:e}=await a.e(33).then(a.t.bind(null,1044,7));l(e)}})()}),[r]);const c=o?Object(M.jsx)(x.EuiImage,{src:o,alt:""}):null;return Object(M.jsx)(x.EuiEmptyPrompt,{color:"subdued",titleSize:"m",icon:c,title:"string"!=typeof t&&t?t:Object(M.jsx)("h2",null,null!=t?t:C),body:null!=n?n:A,actions:null!=e?e:i})};var L=a(34);function F({children:e}){const t=Object(L.useLocation)();return p.a.createElement(apm_error_boundary_ErrorBoundary,{pathname:t.pathname},e)}class apm_error_boundary_ErrorBoundary extends p.a.Component{constructor(...e){super(...e),k()(this,"state",{error:void 0})}componentDidUpdate(e){this.props.pathname!==e.pathname&&void 0!==this.state.error&&this.setState({error:void 0})}static getDerivedStateFromError(e){return{error:e}}render(){return this.state.error?p.a.createElement(I,{error:this.state.error}):this.props.children}}const w={pageTitle:"APM"};function I({error:e}){const{services:t}=Object(r.useKibana)(),{observabilityShared:a}=t,n=a.navigation.PageTemplate;return e instanceof c.a?p.a.createElement(n,{pageHeader:w},p.a.createElement(T,null)):p.a.createElement(n,{pageHeader:w},p.a.createElement(x.EuiErrorBoundary,null,p.a.createElement(P,{error:e})))}function P({error:e}){throw e}var _=a(478);function R({children:e}){const t=Object(c.i)();return Object(s.useTrackPageview)({app:"apm",path:t},[t]),Object(s.useTrackPageview)({app:"apm",path:t,delay:15e3},[t]),e}var B=a(7),D=a(203),H=a(98),U=a(15),N=a(459),z=a(74),G=a(8),J=a(76);function V(e){const{addFlyoutVisible:t,setAddFlyoutVisibility:a,ruleType:n}=e,o=Object(N.a)(),{query:l,path:s}=Object(z.b)("/*"),i="rangeFrom"in l?l.rangeFrom:void 0,c="rangeTo"in l?l.rangeTo:void 0,{start:u,end:d}=Object(J.a)({rangeFrom:i,rangeTo:c,optional:!0}),b="environment"in l?l.environment:G.a.value,g="transactionType"in l?l.transactionType:void 0,E="transactionName"in l?l.transactionName:void 0,h="groupId"in s?s.groupId:void 0,{services:v}=Object(r.useKibana)(),f=function(e,t){const a=e?U.e[e].name:void 0,n=a?t?`${a} | ${t}`:a:void 0,r=["apm"];return t&&r.push(`service.name:${t}`.toLowerCase()),{tags:r,...n?{name:n}:{}}}(n,o),y=Object(m.useCallback)((()=>a(!1)),[a]),j=Object(m.useMemo)((()=>n&&v.triggersActionsUi.getAddRuleFlyout({consumer:U.b,onClose:y,ruleTypeId:n,canChangeTrigger:!1,initialValues:f,metadata:{environment:b,serviceName:o,...n===U.d.ErrorCount?{}:{transactionType:g},transactionName:E,errorGroupingKey:h,start:u,end:d}})),[n,b,y,v.triggersActionsUi,o,E,h,g,b,u,d]);return p.a.createElement(p.a.Fragment,null,t&&j)}const $=O.i18n.translate("xpack.apm.home.alertsMenu.alerts",{defaultMessage:"Alerts and rules"}),K=O.i18n.translate("xpack.apm.home.alertsMenu.transactionDuration",{defaultMessage:"Latency"}),q=O.i18n.translate("xpack.apm.home.alertsMenu.transactionErrorRate",{defaultMessage:"Failed transaction rate"}),X=O.i18n.translate("xpack.apm.home.alertsMenu.errorCount",{defaultMessage:" Create error count rule"}),Q=O.i18n.translate("xpack.apm.home.alertsMenu.createThresholdAlert",{defaultMessage:"Create threshold rule"}),W=O.i18n.translate("xpack.apm.home.alertsMenu.createAnomalyAlert",{defaultMessage:"Create anomaly rule"}),Y="create_threshold_panel";function Z({canSaveAlerts:e,canReadAlerts:t,canReadMlJobs:a}){const[n,r]=Object(m.useState)(!1),[o,l]=Object(m.useState)(null),{plugins:{observability:s}}=Object(E.a)(),i=p.a.createElement(x.EuiHeaderLink,{color:"text",iconType:"arrowDown",iconSide:"right",onClick:()=>r((e=>!e)),"data-test-subj":"apmAlertAndRulesHeaderLink"},$),c=[{id:0,title:$,items:[...e?[{name:Q,panel:Y,"data-test-subj":"apmAlertsMenuItemCreateThreshold"},...a?[{name:W,onClick:()=>{l(U.d.Anomaly),r(!1)},"data-test-subj":"apmAlertsMenuItemCreateAnomaly"}]:[],{name:X,onClick:()=>{l(U.d.ErrorCount),r(!1)},"data-test-subj":"apmAlertsMenuItemErrorCount"}]:[],...t?[{name:O.i18n.translate("xpack.apm.home.alertsMenu.viewActiveAlerts",{defaultMessage:"Manage rules"}),href:s.useRulesLink().href,icon:"tableOfContents","data-test-subj":"apmAlertsMenuItemManageRules"}]:[]]},{id:Y,title:Q,items:[{name:K,onClick:()=>{l(U.d.TransactionDuration),r(!1)}},{name:q,onClick:()=>{l(U.d.TransactionErrorRate),r(!1)}}]}];return p.a.createElement(p.a.Fragment,null,p.a.createElement(x.EuiPopover,{id:"integrations-menu",button:i,isOpen:n,closePopover:()=>r(!1),panelPaddingSize:"none",anchorPosition:"downRight"},p.a.createElement(x.EuiContextMenu,{initialPanelId:0,panels:c})),p.a.createElement(V,{ruleType:o,addFlyoutVisible:!!o,setAddFlyoutVisibility:e=>{e||l(null)}}))}var ee=a(161),te=a(145),ae=a(80);function ne(){const{query:e}=Object(z.b)("/*"),t="environment"in e&&e.environment||G.a.value,{core:a}=Object(E.a)(),{basePath:n}=a.http,r=Object(ae.a)(),{anomalyDetectionSetupState:o}=Object(te.a)();let l,s="",i="text";o===ee.a.Failure?(i="warning",s=O.i18n.translate("xpack.apm.anomalyDetectionSetup.jobFetchFailureText",{defaultMessage:"Could not determine state of anomaly detection setup."}),l="machineLearningApp"):o===ee.a.NoJobs||o===ee.a.NoJobsForEnvironment?(i="warning",s=function(e,t){return e===ee.a.NoJobs?O.i18n.translate("xpack.apm.anomalyDetectionSetup.notEnabledText",{defaultMessage:"Anomaly detection is not yet enabled. Click to continue setup."}):O.i18n.translate("xpack.apm.anomalyDetectionSetup.notEnabledForEnvironmentText",{defaultMessage:'Anomaly detection is not yet enabled for the environment "{currentEnvironment}". Click to continue setup.',values:{currentEnvironment:Object(G.e)(t)}})}(o,t),l="machineLearningApp"):o===ee.a.UpgradeableJobs&&(i="success",s=O.i18n.translate("xpack.apm.anomalyDetectionSetup.upgradeableJobsText",{defaultMessage:"Updates available for existing anomaly detection jobs."}),l="wrench");let c=null;o===ee.a.Loading?c=p.a.createElement(x.EuiLoadingSpinner,{size:"s"}):l&&(c=p.a.createElement(x.EuiIcon,{type:l,color:i,size:"s"}));const u=p.a.createElement(x.EuiHeaderLink,{color:i,href:Object(H.b)({basePath:n,path:"/settings/anomaly-detection"}),style:{whiteSpace:"nowrap"},"data-test-subj":"apmAnomalyDetectionHeaderLink"},c,p.a.createElement("span",{style:{marginInlineStart:r.eui.euiSizeS}},re));return s?p.a.createElement(x.EuiToolTip,{position:"bottom",content:s},u):u}const re=O.i18n.translate("xpack.apm.anomalyDetectionSetup.linkLabel",{defaultMessage:"Anomaly detection"});var oe=a(44);function le(){const{inspector:e}=Object(E.a)(),{inspectorAdapters:t}=Object(s.useInspectorContext)(),{services:{uiSettings:a}}=Object(r.useKibana)();return(null==a?void 0:a.get(oe.enableInspectEsQueries))?p.a.createElement(x.EuiHeaderLink,{color:"primary",onClick:()=>{e.open(t)},"data-test-subj":"apmInspectHeaderLink"},O.i18n.translate("xpack.apm.inspectButtonText",{defaultMessage:"Inspect"})):null}var se=a(52),ie=a(468),ce=a(73);function ue({onClose:e}){const{docLinks:t,notifications:a}=Object(E.a)().core,{data:n,status:r}=Object(ce.c)((e=>e("GET /internal/apm/settings/labs")),[]),o=(null==n?void 0:n.labsItems)||[],{handleFieldChange:l,settingsEditableConfig:s,unsavedChanges:i,saveAll:c,isSaving:u,cleanUnsavedChanges:m}=Object(ie.a)(o),d=Object(ce.b)(r);return p.a.createElement(x.EuiFlyout,{onClose:e},p.a.createElement(x.EuiFlyoutHeader,{hasBorder:!0},p.a.createElement(x.EuiFlexGroup,{gutterSize:"s",alignItems:"center"},p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiIcon,{type:"beaker",size:"l"})),p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiTitle,null,p.a.createElement("h2",null,O.i18n.translate("xpack.apm.labs",{defaultMessage:"Labs"}))))),p.a.createElement(x.EuiSpacer,{size:"s"}),p.a.createElement(x.EuiFlexGroup,{gutterSize:"s",alignItems:"center",justifyContent:"spaceBetween"},p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiText,null,O.i18n.translate("xpack.apm.labs.description",{defaultMessage:"Try out the APM features that are under technical preview and in progress."}))),p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiButton,{"data-test-subj":"labsFeedbackButton",href:"https://ela.st/feedback-apm-labs",target:"_blank",color:"warning",iconType:"editorComment"},O.i18n.translate("xpack.apm.labs.feedbackButtonLabel",{defaultMessage:"Tell us what you think!"}))))),d?p.a.createElement(x.EuiSkeletonText,{lines:3}):p.a.createElement(p.a.Fragment,null,p.a.createElement(x.EuiFlyoutBody,null,o.map(((e,n)=>{const r=s[e];return p.a.createElement(p.a.Fragment,null,p.a.createElement(se.LazyField,{key:e,setting:r,handleChange:l,enableSaving:!0,docLinks:t.links,toasts:a.toasts,unsavedChanges:i[e]}),p.a.createElement(x.EuiHorizontalRule,null))}))),p.a.createElement(x.EuiFlyoutFooter,null,p.a.createElement(x.EuiFlexGroup,{justifyContent:"spaceBetween"},p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiButtonEmpty,{"data-test-subj":"apmLabsFlyoutCancelButton",onClick:function(){m(),e()}},O.i18n.translate("xpack.apm.labs.cancel",{defaultMessage:"Cancel"}))),p.a.createElement(x.EuiFlexItem,{grow:!1},p.a.createElement(x.EuiButton,{"data-test-subj":"apmLabsFlyoutReloadToApplyChangesButton",fill:!0,isLoading:u,onClick:async function(){try{const t=Object.keys(i).some((e=>s[e].requiresPageReload));await c({trackMetricName:"labs_save"}),t?window.location.reload():e()}catch(e){const t=e;a.toasts.addDanger({title:O.i18n.translate("xpack.apm.apmSettings.save.error",{defaultMessage:"An error occurred while saving the settings"}),text:t.message})}}},O.i18n.translate("xpack.apm.labs.reload",{defaultMessage:"Reload to apply changes"})))))))}function me(){const[e,t]=Object(m.useState)(!1),a=Object(s.useUiTracker)({app:"apm"});function n(){t((e=>!e))}return Object(m.useEffect)((()=>{e&&a({metric:"labs_open"})}),[e,a]),p.a.createElement(p.a.Fragment,null,p.a.createElement(x.EuiButtonEmpty,{"data-test-subj":"apmLabsLabsButton",color:"text",onClick:n},O.i18n.translate("xpack.apm.labs",{defaultMessage:"Labs"})),e&&p.a.createElement(ue,{onClose:n}))}function pe(){var e,t;const{core:a,plugins:n,config:r}=Object(E.a)(),{search:o}=window.location,{application:s,http:i}=a,{basePath:c}=i,{capabilities:u}=s,{featureFlags:m}=r,d=!(null===(e=u.ml)||void 0===e||!e.canGetJobs),b=!(null===(t=u.ml)||void 0===t||!t.canCreateJob),{isAlertingAvailable:g,canReadAlerts:h,canSaveAlerts:v}=Object(D.a)(n,u),f=u.apm.save&&v;function y(e){return Object(H.b)({basePath:c,path:e,search:o})}const j=a.uiSettings.get(B.apmLabsButton,!1);return p.a.createElement(x.EuiHeaderLinks,{gutterSize:"xs"},j&&p.a.createElement(me,null),m.storageExplorerAvailable&&p.a.createElement(x.EuiHeaderLink,{color:"text",href:y("/storage-explorer"),"data-test-subj":"apmStorageExplorerHeaderLink"},p.a.createElement(x.EuiFlexGroup,{gutterSize:"s",alignItems:"center"},p.a.createElement(x.EuiFlexItem,{grow:!1},O.i18n.translate("xpack.apm.storageExplorerLinkLabel",{defaultMessage:"Storage Explorer"})))),b&&p.a.createElement(ne,null),g&&p.a.createElement(Z,{canReadAlerts:h,canSaveAlerts:f,canReadMlJobs:d}),p.a.createElement(x.EuiHeaderLink,{color:"primary",href:("/app/apm/tutorial",c.prepend("/app/apm/tutorial")),iconType:"indexOpen","data-test-subj":"apmAddDataHeaderLink"},O.i18n.translate("xpack.apm.addDataButtonLabel",{defaultMessage:"Add data"})),p.a.createElement(x.EuiHeaderLink,{color:"text",href:y("/settings"),"data-test-subj":"apmSettingsHeaderLink"},O.i18n.translate("xpack.apm.settingsLinkLabel",{defaultMessage:"Settings"})),p.a.createElement(le,null),p.a.createElement(l.ObservabilityAIAssistantActionMenuItem,null))}var de=a(101),be=a.n(de);function ge({children:e}){const t=Object(L.useLocation)(),a=be.a.parse(t.search);return"/dependencies"!==t.pathname.replace(/\/$/,"")||"dependencyName"in a?e:p.a.createElement(L.Redirect,{to:be.a.stringifyUrl({url:t.pathname+"/inventory",query:a})})}var Ee=a(77),he=a(24);function ve({children:e}){const{isDateRangeSet:t,redirect:a}=function(){const e=Object(L.useHistory)(),t=Object(L.useLocation)(),a=be.a.parse(t.search),{core:n,plugins:r}=Object(E.a)(),o=n.uiSettings.get(he.UI_SETTINGS.TIMEPICKER_TIME_DEFAULTS),l=r.data.query.timefilter.timefilter.getTime();return{isDateRangeSet:"rangeFrom"in a&&"rangeTo"in a,redirect:()=>{var n,r;const s={rangeFrom:null!==(n=l.from)&&void 0!==n?n:o.from,rangeTo:null!==(r=l.to)&&void 0!==r?r:o.to,...a};e.replace({...t,search:be.a.stringify(s)})}}}(),n=function({apmRouter:e,location:t}){return e.getRoutesToMatch(t.pathname).some((e=>"/diagnostics"===e.path||"/services"===e.path||"/traces"===e.path||"/service-map"===e.path||"/dependencies"===e.path||"/dependencies/inventory"===e.path||"/services/{serviceName}"===e.path||"/mobile-services/{serviceName}"===e.path||"/service-groups"===e.path||"/storage-explorer"===e.path||"/"===t.pathname||""===t.pathname))}({apmRouter:Object(Ee.a)(),location:Object(L.useLocation)()});return!t&&n?(a(),null):e}var fe=a(198);function ye({children:e}){const t=Object(L.useLocation)(),a=be.a.parse(t.search),n=Object(fe.a)();return"environment"in a?e:"/services"===t.pathname.replace(/\/$/,"")?p.a.createElement(L.Redirect,{to:be.a.stringifyUrl({url:t.pathname,query:{...a,environment:n}})}):e}var je=a(83),ke=a(126),xe=a(115),Oe=a(463);function Me({children:e}){const{core:t}=Object(E.a)(),a=Object(L.useLocation)(),n=function({apmRouter:e,location:t}){return e.getRoutesToMatch(t.pathname).some((e=>"/services"===e.path||"/service-map"===e.path||"/dependencies"===e.path||"/dependencies/inventory"===e.path||"/services/{serviceName}"===e.path||"/mobile-services/{serviceName}"===e.path||"/service-groups"===e.path||"/"===t.pathname||""===t.pathname))}({apmRouter:Object(Ee.a)(),location:a}),r=be.a.parse(a.search);if(n&&("comparisonType"in r||!("comparisonEnabled"in r))){const{comparisonType:e,comparisonEnabled:n,...o}=r,l=Object(ke.a)({core:t,urlComparisonEnabled:n?Object(xe.c)(n):void 0}).toString(),s=e,i=je.b[s];return p.a.createElement(Oe.b,{location:{...a,search:be.a.stringify({...o,comparisonEnabled:l,...i?{offset:i}:{}})},pathname:a.pathname})}return e}class scroll_to_top_on_path_change_ScrollToTopOnPathChange extends m.Component{componentDidUpdate(e){this.props.location.pathname!==e.location.pathname&&window.scrollTo(0,0)}render(){return null}}var Ce=a(9);function Ae({children:e}){var t;const{core:a}=Object(E.a)(),n=Object(Ce.last)(Object(c.g)());return Object(r.useExecutionContext)(a.executionContext,{type:"application",name:"apm",page:null==n||null===(t=n.match)||void 0===t?void 0:t.path}),e}const Se=new o.Storage(localStorage);function Te({apmPluginContextValue:e,pluginsStart:t}){const{appMountParameters:a,core:o}=e,{history:u}=a,m=o.i18n;return p.a.createElement(r.RedirectAppLinks,{application:o.application,className:n.APP_WRAPPER_CLASS,"data-test-subj":"apmMainContainer",role:"main"},p.a.createElement(g.a.Provider,{value:e},p.a.createElement(r.KibanaContextProvider,{services:{...o,...t,storage:Se}},p.a.createElement(m.Context,null,p.a.createElement(l.ObservabilityAIAssistantProvider,{value:e.observabilityAIAssistant},p.a.createElement(f.b,null,p.a.createElement(c.d,{history:u,router:_.a},p.a.createElement(F,null,p.a.createElement(ge,null,p.a.createElement(ye,null,p.a.createElement(ve,null,p.a.createElement(Me,null,p.a.createElement(R,null,p.a.createElement(Ae,null,p.a.createElement(h.b,null,p.a.createElement(y.b,null,p.a.createElement(v.b,null,p.a.createElement(b.b,null,p.a.createElement(s.InspectorContextProvider,null,p.a.createElement(Fe,null,p.a.createElement(Le,null),p.a.createElement(i.a,{component:scroll_to_top_on_path_change_ScrollToTopOnPathChange}),p.a.createElement(c.c,null)))))))))))))))))))))}function Le(){const{setHeaderActionMenu:e,theme$:t}=Object(E.a)().appMountParameters;return p.a.createElement(s.HeaderMenuPortal,{setHeaderActionMenu:e,theme$:t},p.a.createElement(pe,null))}function Fe({children:e}){const[t]=Object(r.useUiSetting$)("theme:darkMode");return p.a.createElement(d.ThemeProvider,{theme:e=>({...e,eui:t?u.euiDarkVars:u.euiLightVars,darkMode:t})},e)}}}]);