174 lines
255 KiB
JavaScript
174 lines
255 KiB
JavaScript
"use strict";(self.webpackChunkgrafana_metricsdrilldown_app=self.webpackChunkgrafana_metricsdrilldown_app||[]).push([[73],{634:(e,t,r)=>{r.d(t,{G:()=>S});var n=r(37768),a=r(28904),i=r(85959),o=r.n(i),s=r(69989),l=r(11082),c=r(18531),u=r(40313),d=r(65222),p=r(87073);class m{static create(e){return{text:(0,n.t)("panel-menu.action.copy-url","Copy URL"),iconClassName:"copy",onClick:()=>{if(navigator.clipboard){(0,p.z)("selected_metric_action_clicked",{action:"share_url"});const t=`${c.config.appUrl.endsWith("/")?c.config.appUrl.slice(0,-1):c.config.appUrl}${u.G}/${(0,s.xi)(e)}`;navigator.clipboard.writeText(t),(0,d.qq)([(0,n.t)("panel-menu.action.copy-url-success","URL copied to clipboard")])}}}}}var b=r(90927);function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class g{static create(e){let t;try{const r=a.sceneGraph.getAncestor(e,a.VizPanel),n=a.sceneGraph.getData(r).state.data;if(!n)throw new Error("Cannot get link to explore, no panel data found");t=(0,a.getExploreURL)(n,e,n.timeRange,e=>"expr"in e&&"string"==typeof e.expr?f(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){h(e,t,r[t])})}return e}({},e),{expr:(0,b.C)(e.expr)}):e)}catch(e){}return{text:(0,n.t)("panel-menu.action.explore","Explore"),iconClassName:"compass",onClick:()=>null==t?void 0:t.then(e=>{e&&window.open(`${c.config.appSubUrl}${e}`,"_blank")}),shortcut:"p x"}}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class S extends a.SceneObjectBase{addItem(e){var t;null===(t=this.state.body)||void 0===t||t.addItem(e)}setItems(e){var t;null===(t=this.state.body)||void 0===t||t.setItems(e)}constructor(e){super(v(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}({},e),{body:new a.VizPanelMenu({})})),this.addActivationHandler(()=>{var e;const t=[{text:(0,n.t)("panel-menu.group.navigation","Navigation"),type:"group"},g.create(this)];this.state.key===l.k&&t.push({text:(0,n.t)("panel-menu.group.actions","Actions"),type:"group"},m.create((0,s.kj)(this))),null===(e=this.state.body)||void 0===e||e.setState({items:t})})}}y(S,"Component",({model:e})=>{const{body:t}=e.useState();return o().createElement("div",{"data-testid":"panel-menu"},t&&o().createElement(t.Component,{model:t}))})},4367:(e,t,r)=>{r.d(t,{N:()=>d});var n=r(65222),a=r(87073),i=r(26875),o=r(81311),s=r(62353),l=r(27212);const c=new Set(Object.values(s.i)),u=new Set(["heatmap","percentiles","stat","statushistory","timeseries"]);function d(e){var t;const r=o.x.getItem(i.V.METRIC_PREFS)||{},s=null===(t=r[e])||void 0===t?void 0:t.config;var d;if(s)return function(e){if(!["id","panelOptions","queryOptions"].every(t=>t in e))return!1;if("string"!=typeof e.id||!c.has(e.id))return!1;if("string"!=typeof e.panelOptions.type||!u.has(e.panelOptions.type))return!1;if(!Array.isArray(e.queryOptions.queries))return!1;if(!e.queryOptions.queries.every(e=>{var t;return!!l.q.has(e.fn)&&(!["quantile","histogram_quantile"].includes(e.fn)||!(!Array.isArray(null===(t=e.params)||void 0===t?void 0:t.percentiles)||!e.params.percentiles.length)&&e.params.percentiles.every(e=>e>=1&&e<=99))}))return!1;return!0}(s)?s:((0,a.z)("invalid_metric_config",{metricConfig:s}),null===(d=r[e])||void 0===d||delete d.config,o.x.setItem(i.V.METRIC_PREFS,r),void(0,n.HA)([`Invalid configuration found for metric ${e}!`,"The configuration has been deleted and will not be applied."]))}},7509:(e,t,r)=>{r.d(t,{s:()=>l});var n=r(28904),a=r(74406),i=r(88758),o=r(25067),s=r(20225);class l extends s.I{onActivate(){const e=n.sceneGraph.lookupVariable(o.$,this),t=n.sceneGraph.lookupVariable(a.h,this);this.setInitCounts(e,t),this._subs.add(e.subscribeToState((e,r)=>{(0,i.B)(e.options,r.options)||this.setState({counts:{current:t.state.options.length,total:e.options.length}})})),this._subs.add(t.subscribeToState((t,r)=>{t.loading||r.loading||(0,i.B)(t.options,r.options)||this.setState({counts:{current:t.options.length,total:e.state.options.length}})}))}setInitCounts(e,t){const r={current:0,total:0};!e.state.loading&&e.state.options.length&&(r.total=e.state.options.length),!t.state.loading&&t.state.options.length&&(r.current=t.state.options.length),this.setState({counts:r})}constructor(){super({key:"MetricVariableCountsProvider"}),this.addActivationHandler(this.onActivate.bind(this))}}},11082:(e,t,r)=>{r.d(t,{j:()=>ne,k:()=>re});var n=r(46089),a=r(87781),i=r(18531),o=r(28904),s=r(82007),l=r(43209),c=r(85959),u=r.n(c),d=r(16170),p=r(69989),m=r(90927);function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){b(e,t,r[t])})}return e}function f(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function g(e){const t=o.sceneGraph.getData(e),r=o.sceneGraph.findObject(t,m.x),n=o.sceneGraph.getTimeRange(e).state.value;let a,i,s=[];var l;(0,m.x)(r)&&(s=(null===(l=r.state.queries)||void 0===l?void 0:l.map(t=>f(h({},t),{expr:t.expr?(0,m.C)(o.sceneGraph.interpolate(e,t.expr)):t.expr,legendFormat:t.legendFormat?o.sceneGraph.interpolate(e,t.legendFormat):t.legendFormat,fromExploreMetrics:!1})))||[],a=r.state.datasource?f(h({},r.state.datasource),{uid:r.state.datasource.uid?o.sceneGraph.interpolate(e,r.state.datasource.uid):r.state.datasource.uid}):r.state.datasource,i=r.state.maxDataPoints);return{panel:h({type:e.state.pluginId,title:e.state.title?o.sceneGraph.interpolate(e,e.state.title):e.state.title,targets:s,datasource:a,options:e.state.options,fieldConfig:e.state.fieldConfig},e.state.description&&{description:e.state.description},i&&{maxDataPoints:i}),range:n}}var y,v,S,w=r(26949),O=r(84138);class E extends o.SceneObjectBase{constructor(){super({})}}S=({model:e})=>{const t=(0,s.useStyles2)(x),r=(0,p.kj)(e),a=o.sceneGraph.findObject(e,e=>e instanceof o.VizPanel);return r.state.isAddToDashboardAvailable&&a?u().createElement(s.Button,{id:"add-to-dashboard-action",className:(0,n.cx)(t.button),"aria-label":w.E,variant:"secondary",size:"sm",fill:"text",onClick:()=>{const t=g(a);e.publishEvent(new O.Z({panelData:t}),!0)},icon:"apps",tooltip:w.E,tooltipPlacement:"top","data-testid":"add-to-dashboard-action"}):null},(v="Component")in(y=E)?Object.defineProperty(y,v,{value:S,enumerable:!0,configurable:!0,writable:!0}):y[v]=S;const x=e=>({button:n.css`
|
|
margin: 0;
|
|
padding: 0;
|
|
margin-left: ${e.spacing(1)};
|
|
`});var k=r(65191),C=r(87073),P=r(26875),j=r(81311);function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class T extends o.SceneObjectBase{isCurrentStateBookmarked(){try{const e=(0,p.kj)(this),t=o.sceneUtils.getUrlState(e),r=(0,k.o)(t);return(j.x.getItem(P.V.BOOKMARKS)||[]).some(e=>(0,k.o)(e.urlValues)===r)}catch(e){return!1}}constructor(){super({isBookmarked:!1}),_(this,"onClick",()=>{const e=o.sceneUtils.getUrlState((0,p.kj)(this)),t=(0,k.o)(e),r=j.x.getItem(P.V.BOOKMARKS)||[],n=this.state.isBookmarked;if(n){(0,C.z)("bookmark_changed",{action:"toggled_off"});const e=r.filter(e=>(0,k.o)(e.urlValues)!==t);j.x.setItem(P.V.BOOKMARKS,e)}else{(0,C.z)("bookmark_changed",{action:"toggled_on"});const t={urlValues:e,createdAt:Date.now()};j.x.setItem(P.V.BOOKMARKS,[...r,t])}this.setState({isBookmarked:!n})}),this.addActivationHandler(()=>{const e=this.isCurrentStateBookmarked();this.setState({isBookmarked:e})})}}_(T,"Component",({model:e})=>{const t=(0,s.useStyles2)(I),{isBookmarked:r}=e.useState(),a=r?"Remove bookmark":"Add bookmark";return u().createElement(s.Button,{className:(0,n.cx)(t.bookmarkButton,r&&t.active),"aria-label":a,variant:"secondary",size:"sm",fill:"text",onClick:e.onClick,icon:r?u().createElement(s.Icon,{name:"favorite",type:"mono",size:"lg"}):u().createElement(s.Icon,{name:"star",type:"default",size:"lg"}),tooltip:a,tooltipPlacement:"top","data-testid":"bookmark-header-action"})});const I=e=>({bookmarkButton:n.css`
|
|
padding: 0;
|
|
margin-left: ${e.spacing(1)};
|
|
`,active:n.css`
|
|
color: ${e.colors.text.maxContrast};
|
|
`});var A=r(62227);const D="Create alert";class N extends o.SceneObjectBase{constructor(){super({})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(N,"Component",({model:e})=>{const t=(0,s.useStyles2)(B),[r,a]=(0,c.useState)(!1),[l,d]=(0,c.useState)(null),p=o.sceneGraph.findObject(e,e=>e instanceof o.VizPanel),{component:m,isLoading:b}=(0,i.usePluginComponent)("grafana/alerting/create-alert-from-panel/v1");if(b||!m||!p)return null;return u().createElement(u().Fragment,null,u().createElement(s.Button,{id:"create-alert-action",className:(0,n.cx)(t.button),"aria-label":D,variant:"secondary",size:"sm",fill:"text",onClick:()=>{const e=g(p);d(e),a(!0)},icon:"bell",tooltip:D,tooltipPlacement:"top","data-testid":"create-alert-action"}),r&&l&&u().createElement(m,{panel:l.panel,range:l.range,onDismiss:()=>a(!1)}))});const B=e=>({button:n.css`
|
|
margin: 0;
|
|
padding: 0;
|
|
margin-left: ${e.spacing(1)};
|
|
`});var M=r(37768),L=r(34936),R=r(46563);function V(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $(){return[{value:"percentiles",label:(0,M.t)("gmd-viz-panel.variant.percentiles","percentiles")},{value:"heatmap",label:(0,M.t)("gmd-viz-panel.variant.heatmap","heatmap")}]}class F extends o.SceneObjectBase{onActivate(){const e=o.sceneGraph.getAncestor(this,L.m);this.setState({currentPanelType:e.state.panelConfig.type}),this._subs.add(e.subscribeToState((e,t)=>{e.panelConfig.type!==t.panelConfig.type&&this.setState({currentPanelType:e.panelConfig.type})}))}constructor(){super({options:$(),currentPanelType:void 0}),V(this,"onChange",e=>{(0,C.z)("histogram_panel_type_changed",{panelType:e}),this.publishEvent(new R.H({panelType:e}),!0)}),this.addActivationHandler(this.onActivate.bind(this))}}V(F,"Component",({model:e})=>{const{currentPanelType:t}=e.useState(),r=$();return r.length?u().createElement(s.RadioButtonGroup,{size:"sm",options:r,value:t,onChange:e.onChange}):null});var q=r(55835);function G(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}class z extends o.SceneObjectBase{constructor(){super({})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(z,"Component",({model:e})=>{const t=(0,s.useStyles2)(H),[r,a]=(0,c.useState)(!1),i=(0,M.t)("open-assistant.explain-label","Explain in Assistant"),l=o.sceneGraph.findObject(e,e=>e instanceof o.VizPanel);if((0,c.useEffect)(()=>{const e=(0,q.isAssistantAvailable)().subscribe(e=>{a(e)});return()=>e.unsubscribe()},[]),!r||!l)return null;return u().createElement(s.Button,{id:"open-assistant-action",className:(0,n.cx)(t.button),"aria-label":i,variant:"secondary",size:"sm",fill:"text",onClick:()=>{return(t=function*(){var t,r,n;const{panel:a}=g(l),i=a.title||"unknown",o=null===(r=a.targets)||void 0===r||null===(t=r[0])||void 0===t?void 0:t.expr,s=(0,m.C)("string"==typeof o?o:""),c=s?` The current metrics drilldown query is: \`${s}\`.`:"",u=null===(n=a.datasource)||void 0===n?void 0:n.uid,d=u?[(0,q.createAssistantContextItem)("datasource",{datasourceUid:u}),(0,q.createAssistantContextItem)("label_value",{datasourceUid:u,labelName:"__name__",labelValue:i})]:[];try{const t=(0,p.kj)(e),r=yield t.getMetadataForMetric(i);r&&d.push((0,q.createAssistantContextItem)("structured",{title:(0,M.t)("open-assistant.metric-metadata-title","Prometheus metric metadata"),data:{type:r.type,description:r.help,unit:r.unit}}))}catch(e){}(0,q.openAssistant)({origin:"grafana-metricsdrilldown-app/metric-panel",prompt:`Help me understand the metric "${i}" and explain what it measures.${c}`,context:d})},function(){var e=this,r=arguments;return new Promise(function(n,a){var i=t.apply(e,r);function o(e){G(i,n,a,o,s,"next",e)}function s(e){G(i,n,a,o,s,"throw",e)}o(void 0)})})();var t},icon:"ai-sparkle",tooltip:i,tooltipPlacement:"top","data-testid":"open-assistant-action"})});const H=e=>({button:n.css`
|
|
margin: 0;
|
|
padding: 0;
|
|
margin-left: ${e.spacing(1)};
|
|
`});var U=r(88048),K=r(93265),Q=r(80446),W=r(38664),Y=r(634),X=r(67709),Z=r(63213);function J(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function ee(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){J(i,n,a,o,s,"next",e)}function s(e){J(i,n,a,o,s,"throw",e)}o(void 0)})}}const te=U.N.XL,re="topview-panel-menu";class ne extends o.SceneObjectBase{onActivate(){return ee(function*(){const{metric:e}=this.state,t=(0,p.kj)(this);if(t.state.embeddedMini){const[r]=o.sceneGraph.findDescendents(this,o.SceneFlexItem);r.setState({minHeight:U.N.S,maxHeight:U.N.S});const[n]=o.sceneGraph.findDescendents(this,L.m);n.update({headerActions:()=>[],menu:void 0,height:U.N.S},{});const a=o.sceneGraph.getTimeRange(t),s=(0,X.y)({metric:t.state.metric,labels:(t.state.initialFilters||[]).map(e=>({label:e.key,op:e.operator,value:e.value})),dataSource:t.state.initialDS,from:String(a.state.from),to:String(a.state.to)});return void n.setState({onClick:()=>i.locationService.push(s),clickTitle:`Open Metrics Drilldown for ${e}`})}const r=yield t.getMetadataForMetric(e),[n]=o.sceneGraph.findDescendents(this,L.m),{metricType:a}=n.state;if(r&&n.update({description:(0,d.R)(r)},{}),"classic-histogram"===a)return;const s=n.subscribeToState(t=>ee(function*(){"native-histogram"!==a&&"native-histogram"===t.metricType&&(s.unsubscribe(),n.update({headerActions:()=>[new F,new A.F({metric:{name:e,type:t.metricType}}),new z,new E,new N,new T]},{}))})());this._subs.add(s)}).call(this)}constructor({metric:e}){super({metric:e,topView:new o.SceneFlexLayout({direction:"column",$behaviors:[new o.behaviors.CursorSync({key:"metricCrosshairSync",sync:a.DashboardCursorSync.Crosshair})],children:[new o.SceneFlexItem({minHeight:te,maxHeight:"40%",body:new L.m({metric:e,panelOptions:{height:U.N.XL,headerActions:(0,Q.D)(e)?({metric:e})=>[new F,new A.F({metric:e}),new z,new E,new N,new T]:({metric:e})=>[new A.F({metric:e}),new z,new E,new N,new T],menu:()=>new Y.G({key:re,labelName:e})},queryOptions:{resolution:K.I.HIGH}})})]}),selectedTab:void 0,actionBar:new W.k3({})}),this.addActivationHandler(()=>{this.onActivate()})}}function ae(e,t,r){return{container:(0,n.css)({display:"flex",flexDirection:"column",position:"relative",flexGrow:1}),tabContent:(0,n.css)({height:"100%"}),stickyTop:(0,n.css)({display:"flex",flexDirection:"row",background:(0,Z.T)(e,r),position:"sticky",paddingTop:e.spacing(1),zIndex:10,top:`calc(var(--app-controls-height, 0px) + ${t}px)`}),nonSticky:(0,n.css)({display:"flex",flexDirection:"row"})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(ne,"Component",({model:e})=>{const{topView:t,selectedTab:r,actionBar:n}=e.useState(),a=(0,i.useChromeHeaderHeight)(),o=(0,p.kj)(e),{embeddedMini:d}=o.state,m=(0,s.useStyles2)(ae,o.state.embedded?0:null!=a?a:0,o),b=(0,c.useRef)(null);return(0,l.w)({ref:b,onResize:()=>{b.current&&requestAnimationFrame(()=>{!function(e){const t=e.current;if(!t)return;const{height:r}=t.getBoundingClientRect();document.documentElement.style.setProperty("--action-bar-height",`${r}px`)}(b)})}}),u().createElement("div",{className:m.container},u().createElement("div",{className:m.nonSticky,"data-testid":"top-view"},u().createElement(t.Component,{model:t})),!d&&u().createElement("div",{className:m.stickyTop,id:"action-bar-container",ref:b},u().createElement(n.Component,{model:n})),r&&u().createElement("div",{"data-testid":"tab-content",className:m.tabContent},u().createElement(r.Component,{model:r})))})},11223:(e,t,r)=>{r.d(t,{b:()=>n,w:()=>a});const n={metrics:"Non-rules metrics",rules:"Recording rules"},a={"^(?!.*:.*)":n.metrics,":":n.rules}},14796:(e,t,r)=>{r.d(t,{P:()=>l,U:()=>s});var n=r(87781),a=r(76064),i=r(28904),o=r(15425);const s="metrics_filters";class l extends i.AdHocFiltersVariable{constructor(){super({key:s,name:s,hide:n.VariableHide.hideVariable,allowCustomValue:!0,applyMode:"manual",expressionBuilder:e=>e.map(e=>`${(0,a.Nc)(e.key)}${e.operator}"${e.value}"`).join(","),skipUrlSync:!0}),this.addActivationHandler(()=>{const e=i.sceneGraph.findByKeyAndType(this,o.Ao,i.AdHocFiltersVariable),t=e=>{this.setState({baseFilters:e.baseFilters,filters:e.filters})};t(e.state);const r=e.subscribeToState((e,r)=>{e.baseFilters===r.baseFilters&&e.filters===r.filters||t(e)});return()=>{r.unsubscribe()}})}}},15107:(e,t,r)=>{r.d(t,{$:()=>i});var n=r(28904),a=r(15681);function i(e,t){const r=n.sceneGraph.getQueryController(e);if(!r)return void e.publishEvent(new a.N({currentActionView:t}),!0);const i=r.subscribeToState((r,n)=>{n.isRunning&&!r.isRunning&&(i.unsubscribe(),e.publishEvent(new a.N({currentActionView:t}),!0))})}},15425:(e,t,r)=>{r.d(t,{Ao:()=>i,Az:()=>p,EY:()=>u,GH:()=>f,H0:()=>y,Kf:()=>m,OO:()=>g,PU:()=>s,Rp:()=>l,gR:()=>d,hc:()=>b,td:()=>h,ui:()=>o,yr:()=>c});var n=r(87781);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const i="filters",o="${filters}",s="metric",l="${metric}",c="groupby",u="ds",d="${ds}",p="logsDs",m="${logsDs}",b="other_metric_filters",h="$__logs__",f={uid:d};class g extends n.BusEventWithPayload{}a(g,"type","metric-selected-event");class y extends n.BusEventBase{}a(y,"type","refresh-metrics-event")},15681:(e,t,r)=>{r.d(t,{N:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="action-view-data-load-complete",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},16170:(e,t,r)=>{r.d(t,{q:()=>p,R:()=>m});var n=r(18531),a=r(28904),i=r(65222),o=r(37846),s=r(15425);const l={"11.6.x":function(e){const t=e.languageProvider;return"function"==typeof t.fetchLabelValues&&1===t.fetchLabelValues.length},"12.0.0":function(e){const t=e.languageProvider;return"function"==typeof t.fetchLabelValues&&t.fetchLabelValues.length>1},"12.1.0-plus":function(e){return"function"==typeof e.languageProvider.queryLabelKeys}};function c(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function u(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){c(i,n,a,o,s,"next",e)}function s(e){c(i,n,a,o,s,"throw",e)}o(void 0)})}}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class p{getRuntimeDatasource(){return u(function*(){if(!this.datasource){const e=yield(0,n.getDataSourceSrv)().get(s.gR,{__sceneObject:{value:this.trail}});this.datasource=(0,o.aQ)(e)?e:void 0}return this.datasource}).call(this)}init(){this.initialized=!0,this.reset()}reset(){this.initialized&&(this.datasource=void 0,this.cache={metadata:new Map},this.fetchMetricsMetadata().catch(()=>{}))}getMetadataForMetric(e){return u(function*(){if(this.cache.metadata.has(e))return this.cache.metadata.get(e);const t=yield this.getRuntimeDatasource();if(!t)return;let r;try{const a=yield t.languageProvider.request(`/api/v1/metadata?metric=${e}`);var n;if(a&&"object"==typeof a)r=null===(n=a[e])||void 0===n?void 0:n[0]}catch(t){(0,i.HA)([`Error while fetching ${e} metadata!`,t.toString()])}return r&&this.cache.metadata.set(e,r),r}).call(this)}fetchMetricsMetadata(){return u(function*(){const e=yield this.getRuntimeDatasource();if(!e)return;const t=function(e){if(l["12.1.0-plus"](e))return e.languageProvider.queryMetricsMetadata;if(l["12.0.0"](e)||l["11.6.x"](e))return()=>Promise.resolve(e.languageProvider.metricsMetadata);throw new Error("Unsupported language provider version")}(e);let r=yield t();if(!r){const n=function(e,t){if(l["12.1.0-plus"](e))return e.languageProvider.retrieveMetricsMetadata;if(l["12.0.0"](e)||l["11.6.x"](e))return()=>{var r,n,a;return(null!==(a=null===(r=(n=e.languageProvider).loadMetricsMetadata)||void 0===r?void 0:r.call(n))&&void 0!==a?a:Promise.resolve()).then(()=>t())};throw new Error("Unsupported language provider version")}(e,t);r=yield n()}if(r)for(const[e,t]of Object.entries(r))this.cache.metadata.set(e,t)}).call(this)}fetchRecentMetrics(e){return u(function*({interval:e,extraFilter:t}){const r=yield this.getRuntimeDatasource();if(!r)return[];const n=['__name__!=""',t,a.sceneGraph.interpolate(this.trail,s.ui)].filter(Boolean).join(","),i=`group by (__name__) ({${n}}) unless (group by (__name__) ({${n}} offset ${e}))`,o=yield r.languageProvider.request(`/api/v1/query?query=${i}`);if(!Array.isArray(null==o?void 0:o.result))throw new Error("The query to search for recent metrics timed out or failed. Try a shorter time interval and/or add label filters to narrow the search.");return o.result.map(({metric:e})=>e.__name__)}).apply(this,arguments)}getTagKeys(e){return u(function*(){const t=yield this.getRuntimeDatasource();if(!t)return[];return yield t.getTagKeys(e)}).call(this)}getTagValues(e){return u(function*(){const t=yield this.getRuntimeDatasource();if(!t)return[];e.key=function(e){if(""===e||!function(e){return/^".*"$/.test(e)}(e))return e;return e.slice(1,-1)}(e.key);return yield t.getTagValues(e)}).call(this)}static fetchLabels(e){const{timeRange:t,matcher:r}=e,n=e.ds;if(l["12.1.0-plus"](n))return n.languageProvider.queryLabelKeys(t,r);if(l["12.0.0"](n))return n.languageProvider.fetchLabelsWithMatch(t,r).then(e=>Object.keys(e));if(l["11.6.x"](n))return n.languageProvider.fetchLabelsWithMatch(r).then(e=>Object.keys(e));throw new Error("Unsupported language provider version")}static fetchLabelValues(e){const{labelName:t,timeRange:r,matcher:n=""}=e,a=e.ds;if(l["12.1.0-plus"](a))return a.languageProvider.queryLabelValues(r,t,n);if(l["12.0.0"](a)){return(n?a.languageProvider.fetchSeriesValuesWithMatch:a.languageProvider.fetchLabelValues)(r,t,n)}if(l["11.6.x"](a)){return(n?a.languageProvider.fetchSeriesValuesWithMatch:a.languageProvider.fetchLabelValues)(t,n)}throw new Error("Unsupported language provider version")}static getPrometheusDataSourceForScene(e){return u(function*(){try{const r=a.sceneGraph.findByKey(e,s.EY);var t;const i=null!==(t=null==r?void 0:r.state.value)&&void 0!==t?t:"";return yield(0,n.getDataSourceSrv)().get({uid:i})}catch(e){return void(0,i.jx)(e,["Error while getting the Prometheus data source!"])}})()}getPrometheusBuildInfo(){return u(function*(){const e=yield this.getRuntimeDatasource();if(!e)return;const t=yield e.languageProvider.request("/api/v1/status/buildinfo");return t.application||(t.application="Prometheus",t.repository="https://github.com/prometheus/prometheus"),t.buildDate&&(t.buildDate=t.buildDate.replace(/(\d{4})(\d{2})(\d{2})(.+)/,"$1-$2-$3")),t}).call(this)}constructor(e){d(this,"initialized",!1),d(this,"trail",void 0),d(this,"datasource",void 0),d(this,"cache",{metadata:new Map}),this.trail=e}}function m(e){if(!e)return;const{type:t,help:r,unit:n}=e;return[r,t&&`**Type:** *${t}*`,n&&`**Unit:** ${n}`].join("\n\n")}},16535:(e,t,r)=>{r.d(t,{d:()=>k,a:()=>x});var n=r(37768),a=r(18531),i=r(90903),o=r(75752);function s(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}const l={showSuccessAlert:!1,showErrorAlert:!1};function c(){return(e=function*(){try{return function(e){const t={};for(const r in e)t[r]={usageType:"alerting-usage",count:e[r]};return t}(function(e){const t={},r=e.filter(e=>(null==e?void 0:e.data.length)>0);for(const e of r){const r=e.data.filter(e=>{var t;return"string"==typeof(null===(t=e.model)||void 0===t?void 0:t.expr)&&"__expr__"!==e.datasourceUid});for(const n of r)try{const e=(0,o.M)(n.model.expr);for(const r of e)t[r]=(t[r]||0)+1}catch(t){i.v.warn(t,{message:`Failed to parse PromQL expression in alert rule ${e.title}`})}}return t}(yield(0,a.getBackendSrv)().get("/api/v1/provisioning/alert-rules",void 0,"grafana-metricsdrilldown-app-alert-rule-metric-usage",l)))}catch(e){const t="string"==typeof e?new Error(e):e;return i.v.error(t,{message:(0,n.t)("fetch-alerting-metrics.error","Failed to fetch alerting rules")}),{}}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){s(i,n,a,o,l,"next",e)}function l(e){s(i,n,a,o,l,"throw",e)}o(void 0)})})();var e}var u=r(70025),d=r(37846);function p(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){p(i,n,a,o,s,"next",e)}function s(e){p(i,n,a,o,s,"throw",e)}o(void 0)})}}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const f={showSuccessAlert:!1,showErrorAlert:!1},g=new Map,y=(0,u.g)((e,t,r)=>m(function*(){let n=g.get(e);return n||(n=(0,a.getBackendSrv)().get(`/api/dashboards/uid/${e}`,void 0,`grafana-metricsdrilldown-app-dashboard-metric-usage-${e}`,f).then(({dashboard:e})=>h(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){b(e,t,r[t])})}return e}({},e),{url:t})).catch(t=>(r<=5&&i.v.error(t,{dashboardUid:e}),r++,Promise.resolve(null))).finally(()=>{g.delete(e)}),g.set(e,n)),n})(),{concurrency:50});function v(){return m(function*(){try{const e=yield(0,a.getBackendSrv)().get("/api/search",{type:"dash-db",limit:500},"grafana-metricsdrilldown-app-dashboard-search",f);let t=0;return yield Promise.all(e.map(({uid:e,url:r})=>y(e,r,t))).then(e=>m(function*(){return yield(t=e,m(function*(){const e={};for(const r of function(e){return e.filter(e=>{var t;return e&&(null==e||null===(t=e.panels)||void 0===t?void 0:t.length)})}(t))for(const t of S(r.panels))yield w(t.targets,r.title||`Dashboard ${r.uid}`,r.uid||"unknown",r.url,e);return e})());var t})())}catch(e){const t="string"==typeof e?new Error(e):e;return i.v.error(t,{message:(0,n.t)("fetch-dashboard-metrics.error","Failed to fetch dashboard metrics")}),{}}})()}function S(e){return e.filter(e=>{var t;return(0,d.aQ)(e.datasource)&&"targets"in e&&(null===(t=e.targets)||void 0===t?void 0:t.length)})}function w(e,t,r,n,a){for(const i of e){const e="string"==typeof i.expr?i.expr:"",s=(0,o.M)(e);for(const e of s)O(e,t,r,n,a)}}function O(e,t,r,n,a){var i;(a[e]||(a[e]={usageType:"dashboard-usage",count:0,dashboards:{}}),a[e].count++,"dashboard-usage"===a[e].usageType)&&(a[e].dashboards[t]={count:((null===(i=a[e].dashboards[t])||void 0===i?void 0:i.count)||0)+1,uid:r||"unknown",url:n})}const E=new Set(["dashboard-usage","alerting-usage"]),x=e=>E.has(e);class k{getUsageMetrics(e){return this._usageState[e].metrics&&Object.keys(this._usageState[e].metrics).length>0?Promise.resolve(this._usageState[e].metrics):(this._usageState[e].metricsPromise||(this._usageState[e].metricsPromise=this._usageState[e].fetcher().then(t=>(this._usageState[e].metrics=t,this._usageState[e].metricsPromise=void 0,t))),this._usageState[e].metricsPromise)}getUsageForMetric(e,t){return this.getUsageMetrics(t).then(t=>{var r,n;return null!==(n=null===(r=t[e])||void 0===r?void 0:r.count)&&void 0!==n?n:0})}getUsageDetailsForMetric(e,t){return this.getUsageMetrics(t).then(r=>{var n;return null!==(n=r[e])&&void 0!==n?n:"dashboard-usage"===t?{usageType:"dashboard-usage",count:0,dashboards:{}}:{usageType:"alerting-usage",count:0}})}constructor(){var e,t,r;r={"dashboard-usage":{metrics:{},metricsPromise:void 0,fetcher:v},"alerting-usage":{metrics:{},metricsPromise:void 0,fetcher:c}},(t="_usageState")in(e=this)?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}}},17621:(e,t,r)=>{r.d(t,{rW:()=>s,rp:()=>l});var n=r(18531),a=r(42624);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const o={experiment_default_open_sidebar:null,experiment_hierarchical_prefix_filtering:null,experiment_grafana_assistant_quick_search_tab_test:null};class s{after(e,t){a.O7[e.flagKey]&&(o[a.O7[e.flagKey]]=t.value)}constructor(){}}function l(e,t=!1){const r=o[e];return r?function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){i(e,t,r[t])})}return e}({[e]:r},t?n.config.openFeatureContext:{}):null}},18765:(e,t,r)=>{r.d(t,{M:()=>o,_:()=>i});var n=r(22590);const a=/[^a-zA-Z0-9]/,i=":";function o(e,t){const r=new Map;for(const n of e){const e=n.value.split(a);if(e[0]===t&&e.length>1){const t=e[1];r.set(t,(r.get(t)||0)+1)}}return Array.from(r.entries()).sort((e,t)=>e[1]!==t[1]?t[1]-e[1]:(0,n._)(e[0],t[0])).map(([e,r])=>({value:`${t}:${e}`,count:r,label:e}))}},19148:(e,t,r)=>{r.d(t,{B:()=>d,K:()=>p});const n=e=>e.endsWith("_timestamp_seconds");var a=r(80446);const i=/_(count|total|sum)$/,o=e=>i.test(e),s=e=>e.endsWith("_info"),l=/_up$/,c=e=>"up"===e||l.test(e);function u(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function d(e,t){return(r=function*(){const r=p(e);if("gauge"===r){const r=yield t.getMetadataForMetric(e);if("histogram"===(null==r?void 0:r.type))return"native-histogram";if("counter"===(null==r?void 0:r.type))return"counter"}if("counter"===r){const r=yield t.getMetadataForMetric(e);if("gauge"===(null==r?void 0:r.type))return"gauge"}return r},function(){var e=this,t=arguments;return new Promise(function(n,a){var i=r.apply(e,t);function o(e){u(i,n,a,o,s,"next",e)}function s(e){u(i,n,a,o,s,"throw",e)}o(void 0)})})();var r}function p(e){return o(e)?"counter":(0,a.D)(e)?"classic-histogram":n(e)?"age":c(e)?"status-updown":s(e)?"info":"gauge"}},19967:(e,t,r)=>{r.d(t,{Y:()=>v,Z:()=>S});var n=r(46089),a=r(87781),i=r(37768),o=r(28904),s=r(82007),l=r(85959),c=r.n(l),u=r(15425),d=r(87073),p=r(57014),m=r(69989);const b={label:"All",value:"$__all"},h="Select a label to group by";function f(e){const t=(0,s.useStyles2)(g),{loading:r,options:n,value:a,onChange:i}=e,o=(0,l.useMemo)(()=>[b,...n],[n]);if(r)return c().createElement(s.Combobox,{options:[],placeholder:h,onChange:m.fZ});return o.length<=4?c().createElement(s.RadioButtonGroup,{"data-testid":"group-by-selector-radio-group",options:o,value:a,onChange:i}):c().createElement("div",{className:t.combobox},c().createElement(s.Combobox,{"data-testid":"group-by-selector-combobox",options:o,value:a,placeholder:h,onChange:e=>{i(e?e.value:b.value)},isClearable:!0}))}function g(){return{combobox:(0,n.css)({marginLeft:"4px"})}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class v extends a.BusEventWithPayload{}y(v,"type","groupby-options-loaded");class S extends o.QueryVariable{onActivate(){this.filterOptions(),this.state.options.length>0&&this.publishEvent(new v(this),!0),this.subscribeToState((e,t)=>{e.value&&e.value!==t.value&&(0,d.z)("groupby_label_changed",{label:String(e.value)}),e.options!==t.options&&e.options.find(e=>"le"===e.value)&&this.filterOptions(e.options),e.options!==t.options&&e.options.length>0&&this.publishEvent(new v(this),!0)});const e=o.sceneGraph.lookupVariable(u.Ao,this);(0,p.BE)(e)&&e.subscribeToState((e,t)=>{e.filterExpression!==t.filterExpression&&this.changeValueTo("$__all")})}filterOptions(e=this.state.options){this.setState({options:e.filter(e=>"le"!==e.value)})}constructor(){super({name:u.yr,label:(0,i.t)("breakdown.group-by.label","Group by"),datasource:u.GH,includeAll:!0,defaultToAll:!0,query:`label_names(${u.Rp})`,value:"",text:""}),this.addActivationHandler(this.onActivate.bind(this))}}function w(){return{field:(0,n.css)({marginBottom:0})}}y(S,"Component",({model:e})=>{const t=(0,s.useStyles2)(w),{options:r,value:n,loading:a}=e.useState(),o=(0,l.useCallback)((t,r)=>{const n="All"===t?"$__all":t;e.changeValueTo(n,void 0,!r)},[e]);return c().createElement(s.Field,{label:(0,i.t)("breakdown.by-label","By label"),"data-testid":"breakdown-label-selector",className:t.field},c().createElement(f,{options:r,value:n,onChange:o,loading:a}))})},20225:(e,t,r)=>{r.d(t,{I:()=>o});var n=r(28904);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class o extends n.SceneObjectBase{useCounts(){return this.useState().counts}constructor(e){super(i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){a(e,t,r[t])})}return e}({},e),{counts:{current:0,total:0}}))}}},21015:(e,t,r)=>{r.r(t),r.d(t,{sortSeries:()=>b,wasmSupported:()=>f});var n=r(54944),a=r(87781),i=r(93241),o=r(65222),s=r(22590);function l(e){var t;const r=null===(t=e.fields[1])||void 0===t?void 0:t.labels;if(!r)return null;const n=Object.keys(r);return 0===n.length?null:r[n[0]]}var c=r(87073);const u=(e,t="asc")=>{const r="asc"===t?(e,t)=>(0,s._)(e,t):(e,t)=>(0,s._)(t,e);return e.sort((e,t)=>{const n=l(e);if(!n)return 0;const a=l(t);return a?r(n,a):0})},d=(e,t,r="asc")=>{const n=a.fieldReducers.get(t),i=e.map(e=>{var r;const i=e.fields[1];if(!i)return{value:0,dataFrame:e};var o;var s;return{value:null!==(s=(null!==(o=null===(r=n.reduce)||void 0===r?void 0:r.call(n,i,!0,!0))&&void 0!==o?o:(0,a.doStandardCalcs)(i,!0,!0))[t])&&void 0!==s?s:0,dataFrame:e}});return i.sort("asc"===r?(e,t)=>e.value-t.value:(e,t)=>t.value-e.value),i.map(({dataFrame:e})=>e)},p=e=>{const t=(0,a.outerJoinDataFrames)({frames:e});if(!t)throw new Error("Error while joining frames into a single one");const r=t.fields.filter(e=>e.type===a.FieldType.number).map(e=>new Float64Array(e.values));return n.OutlierDetector.dbscan({sensitivity:.9}).detect(r)},m=(e,t)=>e.seriesResults[t].isOutlier?-e.seriesResults[t].outlierIntervals.length:0,b=(0,i.memoize)((e,t,r="asc")=>{if(!e.length)return[];const n=[...e];if("alphabetical"===t)return u(n,"asc");if("alphabetical-reversed"===t)return u(n,"desc");if("outliers"===t)try{return((e,t="asc")=>{if(!f())throw new Error("WASM not supported");const r=p(e),n=e.map((e,t)=>({value:m(r,t),dataFrame:e}));return n.sort("asc"===t?(e,t)=>e.value-t.value:(e,t)=>t.value-e.value),n.map(({dataFrame:e})=>e)})(n,r)}catch(e){const t=`Error while sorting by outlying series: "${e.toString()}"!`;return(0,o.HA)([t,"Falling back to standard deviation to identify the most variable series."]),d(n,a.ReducerID.stdDev,r)}return d(n,t,r)},(e,t,r="asc")=>{const n=h(e)?e[0].fields[0].values[0]:0,a=h(e)?e[e.length-1].fields[0].values[e[e.length-1].fields[0].values.length-1]:0;return`${e.length>0?l(e[0]):""}_${e.length>0?l(e[e.length-1]):""}_${n}_${a}_${e.length}_${t}_${r}`});function h(e){return e.length>0&&e[0].fields.length>0&&e[0].fields[0].values.length>0}const f=()=>{const e="object"==typeof WebAssembly;return e||(0,c.z)("wasm_not_supported",{}),e}},22590:(e,t,r)=>{r.d(t,{_:()=>n});const n=new Intl.Collator("en",{sensitivity:"base"}).compare},22719:(e,t,r)=>{r.d(t,{I:()=>o});var n=r(92458),a=r(55699),i=r(46304);function o(e){const t=e.state.key;if(!t)throw new TypeError(`Variable "${e.state.name}" has no key. Please provide a key in order to publish its lifecycle events.`);return e.addActivationHandler(()=>{e.publishEvent(new n.x({key:t}),!0),!e.state.loading&&e.state.options.length&&e.publishEvent(new i.x({key:t,options:e.state.options}),!0);const r=e.subscribeToState((r,n)=>{!r.loading&&n.loading&&e.publishEvent(new i.x({key:t,options:r.options}),!0)});return()=>{r.unsubscribe(),e.publishEvent(new a.e({key:t}),!0)}}),e}},25067:(e,t,r)=>{r.d(t,{$:()=>d,s:()=>p});var n=r(87781),a=r(37768),i=r(28904),o=r(15425),s=r(69989),l=r(14796),c=r(22719);function u(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}const d="metrics-wingman";class p extends i.QueryVariable{onActivate(){this.fetchAllOrRecentMetrics(),this._subs.add(i.sceneGraph.findByKeyAndType(this,o.EY,i.DataSourceVariable).subscribeToState((e,t)=>{this.state.query||e.value===t.value||this.fetchAllOrRecentMetrics()})),this._subs.add(i.sceneGraph.findByKeyAndType(this,l.U,i.AdHocFiltersVariable).subscribeToState((e,t)=>{this.state.query||e.filterExpression===t.filterExpression||this.fetchAllOrRecentMetrics()}))}fetchAllOrRecentMetrics(){const e=new URLSearchParams(window.location.search).get("filters-recent");e?this.fetchRecentMetrics(e):this.fetchAllMetrics()}fetchAllMetrics(){this.setState({query:this.extraFilter?`label_values({${this.extraFilter},$${l.U}}, __name__)`:`label_values({$${l.U}}, __name__)`,refresh:n.VariableRefresh.onTimeRangeChanged}),this.refreshOptions()}fetchRecentMetrics(e){return(t=function*(){this.setState({query:"",refresh:n.VariableRefresh.never,options:[],loading:!0,error:null});try{const t=yield(0,s.kj)(this).fetchRecentMetrics({interval:e,extraFilter:this.extraFilter});this.setState({loading:!1,options:t.map(e=>({value:e,label:e}))})}catch(e){this.setState({loading:!1,error:e})}},function(){var e=this,r=arguments;return new Promise(function(n,a){var i=t.apply(e,r);function o(e){u(i,n,a,o,s,"next",e)}function s(e){u(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var t}constructor({key:e,name:t,labelMatcher:r,addLifeCycleEvents:i}={}){if(super({key:e||d,name:t||d,label:(0,a.t)("metrics-variable.label","Metrics"),datasource:o.GH,query:"",refresh:n.VariableRefresh.never,includeAll:!0,value:"$__all",skipUrlSync:!0,sort:n.VariableSort.alphabeticalAsc,hide:n.VariableHide.hideVariable}),function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"extraFilter",void 0),this.extraFilter=r?`${r.key}${r.operator}"${r.value}"`:void 0,this.addActivationHandler(this.onActivate.bind(this)),i)return(0,c.I)(this)}}},25081:(e,t,r)=>{r.d(t,{MV:()=>g,Qs:()=>v,_O:()=>y});var n=r(46089),a=r(37768),i=r(28904),o=r(20120),s=r(82007),l=r(85959),c=r.n(l),u=r(60341),d=r(93056),p=r(73303),m=r(62159),b=r(39041),h=r(34936),f=r(85518);const g="repeat(auto-fit, minmax(400px, 1fr))",y="1fr";class v extends i.SceneObjectBase{onActivate(){this.subscribeToLayoutChange()}subscribeToLayoutChange(){const e=i.sceneGraph.findByKeyAndType(this,"layout-switcher",m.U),t=this.state.body.state.body,r=(e,r)=>{e.layout!==(null==r?void 0:r.layout)&&t.setState({templateColumns:e.layout===m.p.ROWS?y:g})};r(e.state),this._subs.add(e.subscribeToState(r))}constructor({variableName:e}){super({key:"metrics-list",variableName:e,body:new d.k({variableName:e,initialPageSize:120,pageSizeIncrement:9,body:new i.SceneCSSGridLayout({children:[],isLazy:!0,templateColumns:g,autoRows:f.fe,$behaviors:[new i.behaviors.CursorSync({key:"metricCrosshairSync",sync:o.yV.Crosshair})]}),getLayoutLoading:()=>new i.SceneReactObject({reactNode:c().createElement(s.Spinner,{inline:!0})}),getLayoutEmpty:()=>new i.SceneReactObject({reactNode:c().createElement(u._,{title:"",severity:"info"},(0,a.t)("metrics-list.no-metrics","No metrics found for the current filters and time range."))}),getLayoutError:e=>new i.SceneReactObject({reactNode:c().createElement(u._,{severity:"error",title:(0,a.t)("metrics-list.error-title","Error while loading metrics!"),error:e})}),getLayoutChild:(e,t)=>new i.SceneCSSGridItem({body:new f.c0({metric:e.value,vizPanelInGridItem:new h.m({metric:e.value,panelOptions:{fixedColorIndex:t,headerActions:({metric:e})=>[new b.B({metric:e.name})]}})})})})}),this.addActivationHandler(this.onActivate.bind(this))}}var S,w,O;function E(e){return{footer:(0,n.css)({display:"flex",justifyContent:"center",alignItems:"center",marginTop:e.spacing(4),"& button":{height:"40px",borderRadius:"8px"}})}}O=({model:e})=>{const{variableName:t,body:r}=e.useState(),n=(0,s.useStyles2)(E),o=i.sceneGraph.lookupVariable(t,e),{loading:l,error:u}=o.useState(),d=r.useSizes(),m=!l&&!u&&d.total>0&&d.current<d.total;return c().createElement("div",{"data-testid":"metrics-list"},c().createElement("div",null,c().createElement(r.Component,{model:r})),m&&c().createElement("div",{className:n.footer},c().createElement(p.d,{label:(0,a.t)("metrics-list.metric-label","metric"),batchSizes:d,onClick:()=>{r.increaseBatchSize()}})))},(w="Component")in(S=v)?Object.defineProperty(S,w,{value:O,enumerable:!0,configurable:!0,writable:!0}):S[w]=O},26875:(e,t,r)=>{r.d(t,{V:()=>n});const n={DATASOURCE:"datasource",RECENT_METRICS:"recent-metrics",BOOKMARKS:"bookmarks",METRIC_PREFS:"metric-prefs",BREAKDOWN_SORTBY:"breakdown.sortby",SIDEBAR_SECTION:"sidebar.section"}},26949:(e,t,r)=>{r.d(t,{E:()=>i,N:()=>a});var n=r(87781);const a=(null===n.PluginExtensionExposedComponents||void 0===n.PluginExtensionExposedComponents?void 0:n.PluginExtensionExposedComponents.AddToDashboardFormV1)||"grafana/add-to-dashboard-form/v1",i="Add to dashboard"},27212:(e,t,r)=>{r.d(t,{q:()=>a});var n=r(97666);const a=new Map([...["avg","sum","stddev","quantile","min","max","count"].map(e=>[e,{name:e,fn:t=>n.GH[e](t)}]),["histogram_quantile",{name:"histogram_quantile",fn:({expr:e,parameter:t})=>`histogram_quantile(${t},${e})`}],["time-avg(metric)",{name:"time-avg(metric)",fn:({expr:e})=>`time()-avg(${e})`}],["time-min(metric)",{name:"time-min(metric)",fn:({expr:e})=>`time()-min(${e})`}],["time-max(metric)",{name:"time-max(metric)",fn:({expr:e})=>`time()-max(${e})`}]])},28464:(e,t,r)=>{r.d(t,{U:()=>l,n:()=>c});var n=r(87781),a=r(85959),i=r(17352),o=r(90903);function s(e,t){return(0,n.isObject)(e)&&t in e&&"string"==typeof e[t]}function l(e,t){return e instanceof Error?e:"string"==typeof e?new Error(e):s(e,"message")?new Error(e.message):new Error(t)}function c(){const[e,t]=(0,a.useState)();return(0,a.useEffect)(()=>{const e=e=>{var r;(function(e){if((0,i.gu)(e.message))return!1;if(e.filename){const n=new URL(e.filename);var t,r;if(n.protocol.endsWith("extension:"))return o.v.error(new Error(`Browser extension error: ${e.message}`,{cause:"browser-extension"}),{extensionName:n.hostname,filename:e.filename,lineno:null===(t=e.lineno)||void 0===t?void 0:t.toString(),colno:null===(r=e.colno)||void 0===r?void 0:r.toString()}),!1}var n,a;return null!==e.error||!e.message||(o.v.error(new Error(`Non-critical error: ${e.message}`),{filename:e.filename,lineno:null===(n=e.lineno)||void 0===n?void 0:n.toString(),colno:null===(a=e.colno)||void 0===a?void 0:a.toString()}),!1)})(e)&&t(l(null!==(r=e.error)&&void 0!==r?r:e,"Uncaught exception!"))},r=e=>{s(e.reason,"type")&&"cancelled"===e.reason.type?t(void 0):t(l(e.reason,"Unhandled rejection!"))};return window.addEventListener("error",e),window.addEventListener("unhandledrejection",r),()=>{window.removeEventListener("unhandledrejection",r),window.removeEventListener("error",e)}},[]),[e,t]}},29810:(e,t,r)=>{r.d(t,{Y:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="filters-changed",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},31468:(e,t,r)=>{r.d(t,{r:()=>_});var n=r(46089),a=r(37768),i=r(28904),o=r(82007),s=r(85959),l=r.n(s),c=r(18765),u=r(74406),d=r(25067),p=r(74415),m=r(65348),b=r(11223),h=r(90903),f=r(87073),g=r(91826),y=r(89047);function v(e){return{listHeader:(0,n.css)({display:"flex",justifyContent:"space-between",alignItems:"center",color:e.colors.text.secondary,padding:e.spacing(0,0,0,1)}),list:(0,n.css)({height:"100%",padding:e.spacing(0,1,1,1),overflowY:"auto",listStyle:"none",margin:0,"&::-webkit-scrollbar":{WebkitAppearance:"none",width:"7px"},"&::-webkit-scrollbar-thumb":{borderRadius:"4px",backgroundColor:e.colors.secondary.main,WebkitBoxShadow:`0 0 1px ${e.colors.secondary.shade}`}}),listItem:(0,n.css)({display:"flex",alignItems:"center",padding:e.spacing(.5,0)}),noResults:(0,n.css)({fontStyle:"italic",padding:e.spacing(0,1,1,1)})}}const S=({label:e,count:t,checked:r,onChange:n})=>{const a=(0,o.useStyles2)(w);return l().createElement("div",{className:a.checkboxWrapper,title:e},l().createElement(o.Checkbox,{label:e,checked:r,onChange:n}),l().createElement("span",{className:a.count},"(",t,")"))};function w(e){return{checkboxWrapper:(0,n.css)({display:"flex",alignItems:"center",width:"100%","& label *":{fontSize:"14px !important",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}),count:(0,n.css)({color:e.colors.text.secondary,marginLeft:e.spacing(.5),display:"inline-block"})}}function O({groups:e,selectedGroups:t,onSelectionChange:r}){const n=(0,o.useStyles2)(v);return l().createElement(l().Fragment,null,l().createElement("div",{className:n.listHeader},l().createElement("div",null,(0,a.t)("checkbox-list.selected-count","{{count}} selected",{count:t.length})),l().createElement(o.Button,{variant:"secondary",fill:"text",onClick:()=>r([]),disabled:!t.length},(0,a.t)("checkbox-list.clear","clear"))),!e.length&&l().createElement("div",{className:n.noResults},(0,a.t)("checkbox-list.no-results","No results.")),e.length>0&&l().createElement("ul",{className:n.list,"data-testid":"checkbox-filters-list"},e.map(e=>l().createElement("li",{key:e.value,className:n.listItem},l().createElement(S,{label:e.label,count:e.count,checked:t.some(t=>t.value===e.value),onChange:n=>{const a=n.currentTarget.checked?[...t,{label:e.label,value:e.value}]:t.filter(t=>t.value!==e.value);r(a)}})))))}var E=r(29810);function x({groups:e,selectedGroups:t,expandedPrefixes:r,computedSublevels:i,onSelectionChange:s,onExpandToggle:u}){const d=(0,o.useStyles2)(v),p=(0,o.useStyles2)(k);return l().createElement(l().Fragment,null,l().createElement("div",{className:d.listHeader},l().createElement("div",null,(0,a.t)("checkbox-list.selected-count","{{count}} selected",{count:t.length})),l().createElement(o.Button,{variant:"secondary",fill:"text",onClick:()=>s([]),disabled:!t.length},(0,a.t)("checkbox-list.clear","clear"))),!e.length&&l().createElement("div",{className:d.noResults},(0,a.t)("checkbox-list.no-results","No results.")),e.length>0&&l().createElement("ul",{className:d.list,"data-testid":"checkbox-filters-tree"},e.map(m=>{const b=r.has(m.value),h=(g=m.value,i.get(g)||[]);var g;const y=(e=>t.some(t=>t.value===e||t.value.startsWith(e+c._)))(m.value);return l().createElement(l().Fragment,{key:m.value},l().createElement("li",{className:(0,n.cx)(d.listItem,b&&p.stickyParent)},l().createElement("div",{className:p.parentRow},l().createElement("button",{className:p.expandButton,onClick:()=>u(m.value),"aria-label":b?(0,a.t)("checkbox-list.collapse","Collapse"):(0,a.t)("checkbox-list.expand","Expand"),"data-testid":`expand-${m.value}`},l().createElement(o.Icon,{name:b?"angle-down":"angle-right"})),l().createElement(S,{label:m.label,count:m.count,checked:y,onChange:e=>e.currentTarget.checked?(e=>{const r=[...t.filter(t=>!t.value.startsWith(e.value+c._)),{label:e.label,value:e.value}];s(r)})(m):(e=>{const r=t.filter(t=>t.value!==e&&!t.value.startsWith(e+c._));s(r)})(m.value)}))),b&&h.length>0&&l().createElement("ul",{className:p.childrenList},h.map(r=>l().createElement("li",{key:r.value,className:p.childItem},l().createElement(S,{label:r.label,count:r.count,checked:t.some(e=>e.value===r.value),onChange:n=>((r,n)=>{const[a,i]=r.value.split(c._);if(n){const e=`${a} > ${i}`,n=[...t.filter(e=>e.value!==a),{label:e,value:r.value}];s(n),(0,f.z)("sidebar_hierarchical_child_filter_applied",{prefix:a,child:i})}else if(0===t.filter(e=>e.value.startsWith(a+c._)&&e.value!==r.value).length){const n=e.find(e=>e.value===a);if(n){const e=[...t.filter(e=>!e.value.startsWith(a+c._)),{label:n.label,value:n.value}];s(e)}else{const e=t.filter(e=>e.value!==r.value);s(e)}}else{const e=t.filter(e=>e.value!==r.value);s(e)}})(r,n.currentTarget.checked)})))))})))}function k(e){return{stickyParent:(0,n.css)({position:"sticky",top:0,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:e.colors.background.canvas,zIndex:-1},backgroundColor:e.colors.background.canvas,zIndex:10,borderBottom:`1px solid ${e.colors.border.weak}`,marginLeft:e.spacing(-1),marginRight:e.spacing(-1),paddingLeft:e.spacing(1),paddingRight:e.spacing(1),paddingTop:e.spacing(.5),paddingBottom:e.spacing(.5),boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"}),parentRow:(0,n.css)({display:"flex",alignItems:"center",width:"100%",position:"relative",zIndex:1}),expandButton:(0,n.css)({background:"none",border:"none",cursor:"pointer",padding:e.spacing(.5),display:"flex",alignItems:"center",color:e.colors.text.primary,minWidth:"24px",justifyContent:"center","&:hover":{color:e.colors.text.maxContrast}}),childrenList:(0,n.css)({listStyle:"none",paddingLeft:e.spacing(4),margin:0}),childItem:(0,n.css)({display:"flex",alignItems:"center",padding:e.spacing(.5,0)})}}function C(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){C(e,t,r[t])})}return e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class _ extends i.SceneObjectBase{getUrlState(){return{[this.state.key]:this.state.selectedGroups.map(e=>e.value).join(",")}}updateFromUrl(e){const t={};"string"==typeof e[this.state.key]&&e[this.state.key]!==this.state.selectedGroups.map(e=>e.value).join(",")&&(t.selectedGroups=e[this.state.key].split(",").map(e=>e.trim()).filter(e=>e).map(e=>({label:this.parseLabel(e),value:e}))),this.setState(t)}onActivate(){const e=i.sceneGraph.lookupVariable(d.$,this),t=i.sceneGraph.lookupVariable(u.h,this);this.updateLists(e.state.options),this.updateCounts();const{selectedGroups:r,hierarchical:n}=this.state;if(this.setState({loading:t.state.loading,active:r.length>0}),n){const t=new Set;if(r.forEach(e=>{if(e.value.includes(c._)){const[r]=e.value.split(c._);t.add(r)}}),t.size>0){const r=e.state.options,n=new Map(this.state.computedSublevels);t.forEach(e=>{if(!n.has(e)){const t=(0,c.M)(r,e);n.set(e,t)}}),this.setState({expandedPrefixes:t,computedSublevels:n})}}}updateLists(e){this.setState({groups:this.state.computeGroups(e),loading:!1})}updateCounts(){var e;const{groups:t,computeGroups:r,type:n}=this.state,a=i.sceneGraph.lookupVariable(d.$,this).state.options,o=null===(e=i.sceneGraph.getAncestor(this,m.m).state.enginesMap.get(u.h))||void 0===e?void 0:e.filterEngine;if(!o)return void h.v.warn("MetricsFilterSection: No filter engine found");const s=j(P({},o.getFilters()),{[n]:[]}),l=p.k.getFilteredOptions(a,s),c=new Map(r(l).map(e=>[e.label,e.count])),b=t.map(e=>{var t;return j(P({},e),{count:null!==(t=c.get(e.label))&&void 0!==t?t:0})});this.setState({groups:b,loading:!1}),this.state.hierarchical&&this.updateSublevelCounts(l)}updateSublevelCounts(e){const{computedSublevels:t}=this.state,r=new Map(t);for(const[n,a]of t.entries()){const t=(0,c.M)(e,n),i=new Map(t.map(e=>[e.label,e.count])),o=a.map(e=>{var t;return j(P({},e),{count:null!==(t=i.get(e.label))&&void 0!==t?t:0})});r.set(n,o)}this.setState({computedSublevels:r})}parseLabel(e){if(e in b.w)return b.w[e];if(e.includes(c._)){const[t,r]=e.split(c._);return`${t} > ${r}`}return e}constructor({key:e,type:t,title:r,description:n,icon:a,computeGroups:o,showHideEmpty:s,showSearch:l,disabled:p,active:m,hierarchical:h}){super({key:e,type:t,title:r,description:n,icon:a,groups:[],computeGroups:o,selectedGroups:[],loading:!0,showHideEmpty:null==s||s,showSearch:null==l||l,disabled:null!=p&&p,active:null!=m&&m,hierarchical:null!=h&&h,expandedPrefixes:new Set,computedSublevels:new Map}),C(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[d.$,u.h],onReferencedVariableValueChanged:e=>{const{name:t,options:r}=e.state;t!==d.$?t===u.h&&this.updateCounts():this.updateLists(r)}})),C(this,"_urlSync",new i.SceneObjectUrlSyncConfig(this,{keys:[this.state.key]})),C(this,"onExpandToggle",e=>{const{expandedPrefixes:t,computedSublevels:r}=this.state,n=new Set(t);let a=r;if(n.has(e))n.delete(e);else{if(n.add(e),!r.has(e)){const t=i.sceneGraph.lookupVariable(d.$,this).state.options,n=(0,c.M)(t,e);a=new Map(r),a.set(e,n)}(0,f.z)("sidebar_hierarchical_prefix_opened",{prefix:e})}this.setState({expandedPrefixes:n,computedSublevels:a})}),C(this,"onSelectionChange",e=>{this.setState({selectedGroups:e,active:e.length>0}),this.publishEvent(new E.Y({type:this.state.type,filters:e.map(e=>e.value)}),!0),this.publishEvent(new g.B({key:this.state.key,values:e.map(e=>e.label)}),!0),"prefixes"===this.state.type?(0,f.z)("sidebar_prefix_filter_applied",{filter_count:e.length}):"suffixes"===this.state.type&&(0,f.z)("sidebar_suffix_filter_applied",{filter_count:e.length}),"filters-rule"===this.state.key&&e.length>0&&e.forEach(e=>{let t;switch(e.label){case b.b.metrics:t="non_rules_metrics";break;case b.b.rules:t="recording_rules";break;default:return}(0,f.z)("sidebar_rules_filter_selected",{filter_type:t})})}),this.addActivationHandler(this.onActivate.bind(this))}}function T(e){return{container:(0,n.css)({display:"flex",flexDirection:"column",gap:e.spacing(1),height:"100%",overflowY:"hidden"}),switchContainer:(0,n.css)({display:"flex",alignItems:"center",justifyContent:"flex-end",gap:e.spacing(1)}),switchLabel:(0,n.css)({fontSize:"12px",color:e.colors.text.primary}),searchInput:(0,n.css)({flexBasis:"32px",flexShrink:0,marginBottom:e.spacing(1),padding:e.spacing(0,.5)})}}C(_,"Component",({model:e})=>{const t=(0,o.useStyles2)(T),{groups:r,selectedGroups:n,loading:i,title:c,description:u,showHideEmpty:d,showSearch:p,hierarchical:m,expandedPrefixes:b,computedSublevels:h}=e.useState(),[f,g]=(0,s.useState)(!1),[v,S]=(0,s.useState)(""),w=(0,s.useMemo)(()=>{const e=[];return f&&e.push(e=>e.count>0),e.push(e=>e.label.toLowerCase().includes(v.toLowerCase())),r.filter(t=>e.every(e=>e(t)))},[f,r,v]);return l().createElement("div",{className:t.container},l().createElement(y._,{title:c,description:u}),d&&l().createElement("div",{className:t.switchContainer},l().createElement("span",{className:t.switchLabel},(0,a.t)("sidebar.filter.hide-empty","Hide empty")),l().createElement(o.Switch,{value:f,onChange:e=>g(e.currentTarget.checked)})),p&&l().createElement(o.Input,{className:t.searchInput,prefix:l().createElement(o.Icon,{name:"search"}),placeholder:(0,a.t)("sidebar.filter.search-placeholder","Search..."),value:v,onChange:e=>S(e.currentTarget.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),S(""))},suffix:l().createElement(o.IconButton,{name:"times",variant:"secondary",tooltip:(0,a.t)("sidebar.filter.clear-search-tooltip","Clear search"),onClick:()=>S("")})}),i&&l().createElement(o.Spinner,{inline:!0}),!i&&m&&l().createElement(x,{groups:w,selectedGroups:n,expandedPrefixes:b,computedSublevels:h,onSelectionChange:e.onSelectionChange,onExpandToggle:e.onExpandToggle}),!i&&!m&&l().createElement(O,{groups:w,selectedGroups:n,onSelectionChange:e.onSelectionChange}))})},34901:(e,t,r)=>{r.d(t,{Y:()=>i});var n=r(85959),a=r.n(n);function i(){return a().createElement("svg",{stroke:"currentColor",width:"17",height:"16",viewBox:"0 0 17 16",fill:"none"},a().createElement("circle",{cx:"8.92688",cy:"3.63132",r:"2.375",strokeWidth:"1.5"}),a().createElement("path",{d:"M13.6469 4.37965C14.6813 4.76699 15.3235 7.03139 14.9362 8.06582",strokeWidth:"1.5"}),a().createElement("path",{d:"M4.35309 4.37965C3.31866 4.76699 2.67651 7.03139 3.06384 8.06582",strokeWidth:"1.5"}),a().createElement("path",{d:"M10.3408 14.2531C9.75237 14.8415 8.11813 14.7799 7.50903 14.1708",strokeWidth:"1.5"}),a().createElement("circle",{cx:"4.00195",cy:"12.251",r:"2.375",strokeWidth:"1.5"}),a().createElement("circle",{cx:"13.8478",cy:"12.251",r:"2.375",strokeWidth:"1.5"}))}},34936:(e,t,r)=>{r.d(t,{m:()=>H});var n=r(46089),a=r(87781),i=r(37768),o=r(28904),s=r(82007),l=r(93241),c=r(85959),u=r.n(c),d=r(69989),p=r(63213),m=r(46563),b=r(39041),h=r(4367),f=r(88048),g=r(93265),y=r(19148);function v(e){switch((0,y.K)(e)){case"classic-histogram":return"heatmap";case"status-updown":return"statushistory";default:return"timeseries"}}var S=r(2125),w=r(15425),O=r(97666),E=r(87560);function x(e){const{metric:t,queryConfig:r}=e,n=(0,E.d)({metric:t,labelMatchers:r.labelMatchers,addIgnoreUsageFilter:r.addIgnoreUsageFilter,addExtremeValuesFiltering:r.addExtremeValuesFiltering}),a="native-histogram"===t.type?O.GH.sum({expr:O.GH.rate({expr:n})}):O.GH.sum({expr:O.GH.rate({expr:n}),by:["le"]});return{maxDataPoints:r.resolution===g.I.HIGH?500:250,queries:[{refId:`${t.name}-heatmap`,expr:a,format:"heatmap",fromExploreMetrics:!0}]}}var k=r(91382);var C=r(31904),P=r(27212);const j=[99,90,50];function _(e){const{metric:t,queryConfig:r}=e,n=(0,E.d)({metric:t,labelMatchers:r.labelMatchers,addIgnoreUsageFilter:r.addIgnoreUsageFilter,addExtremeValuesFiltering:r.addExtremeValuesFiltering}),a=["classic-histogram","native-histogram"].includes(t.type),i=a?function({metric:e,queryConfig:t,expr:r}){var n;const a=(null===(n=t.queries)||void 0===n?void 0:n.length)?t.queries:[{fn:"histogram_quantile",params:{percentiles:j}}],i=[],o="native-histogram"===e.type?O.GH.sum({expr:O.GH.rate({expr:r})}):O.GH.sum({expr:O.GH.rate({expr:r}),by:["le"]});for(const{fn:t,params:r}of a){const n=P.q.get(t),a=n.name,s=(null==r?void 0:r.percentiles)||j;for(const t of s){const r=t/100,s=n.fn({expr:o,parameter:r});i.push({refId:`${e.name}-p${t}-${a}`,expr:s,legendFormat:`${t}th Percentile`,fromExploreMetrics:!0})}}return i}({metric:t,queryConfig:r,expr:n}):function({metric:e,queryConfig:t,expr:r}){var n;const a="counter"===e.type,i=(null===(n=t.queries)||void 0===n?void 0:n.length)?t.queries:[{fn:"quantile",params:{percentiles:[99,90,50]}}],o=[],s=a?O.GH.rate({expr:r}):r;for(const{fn:t,params:r}of i){const n=P.q.get(t),i=a?`${n.name}(rate)`:n.name;for(const t of r.percentiles){const r=t/100,a=n.fn({expr:s,parameter:r});o.push({refId:`${e.name}-p${t}-${i}`,expr:a,legendFormat:`${t}th Percentile`,fromExploreMetrics:!0})}}return o}({metric:t,queryConfig:r,expr:n});return{isRateQuery:!!a||"counter"===t.type,maxDataPoints:r.resolution===g.I.HIGH?500:250,queries:i}}var T=r(39140);function I(e){const{metric:t,queryConfig:r}=e,n="counter"===t.type,a=(0,E.d)({metric:t,labelMatchers:r.labelMatchers,addIgnoreUsageFilter:r.addIgnoreUsageFilter,addExtremeValuesFiltering:r.addExtremeValuesFiltering}),i=n?O.GH.rate({expr:a,interval:"$__rate_interval"}):a;return{isRateQuery:n,maxDataPoints:r.resolution===g.I.HIGH?500:250,queries:A({metric:t,queryConfig:r,isRateQuery:n,expr:i})}}function A({metric:e,queryConfig:t,isRateQuery:r,expr:n}){var a;const i=r?"sum":"avg",o=(null===(a=t.queries)||void 0===a?void 0:a.length)?t.queries:[{fn:i}],s=[];for(const{fn:t}of o){const a=P.q.get(t),i=a.fn({expr:n}),o=r?`${a.name}(rate)`:a.name;s.push({refId:`${e.name}-${o}`,expr:i,legendFormat:o,fromExploreMetrics:!0})}return s}const D=[{type:r(20120).dM.ValueToText,options:{0:{color:"red",text:"down"},1:{color:"green",text:"up"}}}];function N(e){const{metric:t,queryConfig:r}=e,n=(0,E.d)({metric:t,labelMatchers:r.labelMatchers,addIgnoreUsageFilter:r.addIgnoreUsageFilter,addExtremeValuesFiltering:r.addExtremeValuesFiltering}),a=O.GH.min({expr:n});return{maxDataPoints:r.resolution===g.I.HIGH?200:100,queries:[{refId:`${t.name}-status`,expr:a,legendFormat:"status",fromExploreMetrics:!0}]}}var B=r(99009),M=r(67787);const L=new Map([["timeseries",{buildVizPanel:B.B,getQueryRunnerParams:M.H}],["heatmap",{buildVizPanel:function(e){var t;const{metric:r,panelConfig:n,queryConfig:a}=e,i=x({metric:r,queryConfig:a}),s=(0,k.l_)(r.name),l=a.data||new o.SceneQueryRunner({datasource:w.GH,maxDataPoints:i.maxDataPoints,queries:i.queries});return o.PanelBuilders.heatmap().setTitle(n.title).setDescription(n.description).setHeaderActions(n.headerActions({metric:r,panelConfig:n})).setMenu(null===(t=n.menu)||void 0===t?void 0:t.call(n,{metric:r,panelConfig:n})).setShowMenuAlways(Boolean(n.menu)).setData(l).setUnit(s).setOption("calculate",!1).setOption("color",{mode:S.HeatmapColorMode.Scheme,exponent:.5,scheme:"Spectral",steps:32,reverse:!1}).setOption("legend",n.legend).build()},getQueryRunnerParams:x}],["percentiles",{buildVizPanel:function(e){var t;const{metric:r,panelConfig:n,queryConfig:a}=e,i=_({metric:r,queryConfig:a}),s=i.isRateQuery?(0,k.MM)(r.name):(0,k.l_)(r.name),l=a.data||new o.SceneQueryRunner({datasource:w.GH,maxDataPoints:i.maxDataPoints,queries:i.queries}),c=n.fixedColorIndex||0;return o.PanelBuilders.timeseries().setTitle(n.title).setDescription(n.description).setHeaderActions(n.headerActions({metric:r,panelConfig:n})).setMenu(null===(t=n.menu)||void 0===t?void 0:t.call(n,{metric:r,panelConfig:n})).setShowMenuAlways(Boolean(n.menu)).setData(l).setUnit(s).setOption("legend",n.legend||{showLegend:!0,placement:"bottom"}).setOption("tooltip",{mode:C.$N.Multi,sort:C.xB.Descending}).setCustomFieldConfig("fillOpacity",9).setOverrides(e=>{i.queries.forEach((t,r)=>{e.matchFieldsByQuery(t.refId).overrideColor({mode:"fixed",fixedColor:(0,d.Vy)(c+r)})})}).setBehaviors([(0,T.o)(c),...n.behaviors||[]]).build()},getQueryRunnerParams:_}],["statushistory",{buildVizPanel:function(e){var t;const{metric:r,panelConfig:n,queryConfig:a}=e,i=N({metric:r,queryConfig:a}),s=a.data||new o.SceneQueryRunner({datasource:w.GH,maxDataPoints:i.maxDataPoints,queries:i.queries});return o.PanelBuilders.statushistory().setTitle(n.title).setDescription(n.description).setHeaderActions(n.headerActions({metric:r,panelConfig:n})).setMenu(null===(t=n.menu)||void 0===t?void 0:t.call(n,{metric:r,panelConfig:n})).setShowMenuAlways(Boolean(n.menu)).setData(s).setUnit("none").setColor({mode:"palette-classic"}).setOption("showValue",C.yL.Never).setOption("legend",n.legend||{showLegend:!0,placement:"bottom"}).setOption("perPage",0).setMappings(D).build()},getQueryRunnerParams:N}],["stat",{buildVizPanel:function(e){var t;const{metric:r,panelConfig:n,queryConfig:a}=e,i=I({metric:r,queryConfig:a}),s=a.data||new o.SceneQueryRunner({datasource:w.GH,maxDataPoints:i.maxDataPoints,queries:i.queries});return o.PanelBuilders.stat().setTitle(n.title).setDescription(n.description).setHeaderActions(n.headerActions({metric:r,panelConfig:n})).setMenu(null===(t=n.menu)||void 0===t?void 0:t.call(n,{metric:r,panelConfig:n})).setShowMenuAlways(Boolean(n.menu)).setData(s).setUnit("none").setColor({mode:"fixed",fixedColor:(0,d.Vy)(n.fixedColorIndex||0)}).setMappings(D).build()},getQueryRunnerParams:I}]]);function R(e){const t=L.get(e);if(!t)throw new TypeError(`Unsupported panel type "${e}"!`);return t}const V={buildVizPanel:e=>R(e.panelConfig.type).buildVizPanel(e),getQueryRunnerParams(e){const{metric:t,queryConfig:r,panelType:n}=e;return R(n).getQueryRunnerParams({metric:t,queryConfig:r})}};function $(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function F(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){$(i,n,a,o,s,"next",e)}function s(e){$(i,n,a,o,s,"throw",e)}o(void 0)})}}function q(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){q(e,t,r[t])})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class H extends o.SceneObjectBase{onActivate(e){return F(function*(){this.buildVizPanel(),this.subscribeToStateChanges(e),this.subscribeToEvents(),this.checkMetricMetadata(e)}).call(this)}checkMetricMetadata(e){return F(function*(){const{metric:t,metricType:r,panelConfig:n}=this.state,a=yield(0,y.B)(t,(0,d.kj)(this));if(r===a)return;const o={},s={};var l;"native-histogram"===a&&(o.metricType="native-histogram",s.description=null!==(l=n.description)&&void 0!==l?l:(0,i.t)("gmd-viz-panel.native-histogram","Native Histogram"),e||(s.type="heatmap"));"gauge"===a&&"counter"===r&&(o.metricType="gauge"),"counter"===a&&"gauge"===r&&(o.metricType="counter"),(Object.keys(o).length||Object.keys(s).length)&&this.setState(z(G({},o),{panelConfig:G({},n,s)}))}).call(this)}subscribeToStateChanges(e){const{metricType:t,body:r,panelConfig:n}=this.state;if(!e&&!["classic-histogram","native-histogram"].includes(t)){var o;const e=null==r||null===(o=r.state.$data)||void 0===o?void 0:o.subscribeToState(t=>{var r,o,s,l;if((null===(r=t.data)||void 0===r?void 0:r.state)!==a.LoadingState.Done)return;const c=null===(l=t.data.series)||void 0===l||null===(s=l[0])||void 0===s||null===(o=s.meta)||void 0===o?void 0:o.type;c&&(c===a.DataFrameType.HeatmapCells&&this.setState({panelConfig:z(G({description:(0,i.t)("gmd-viz-panel.native-histogram","Native Histogram")},n),{type:"heatmap"})}),e.unsubscribe())});this._subs.add(e)}this.subscribeToState((e,t)=>{if(e.panelConfig.type===t.panelConfig.type){if(!(0,l.isEqual)(e.panelConfig,t.panelConfig)){const r=(0,l.omitBy)(e.panelConfig,(e,r)=>e===t.panelConfig[r]);this.updatePanelOptions(r)}e.metricType===t.metricType&&(0,l.isEqual)(e.queryConfig,t.queryConfig)||(this.updatePanelQueries(),this.updatePanelOptions({headerActions:e.panelConfig.headerActions,menu:e.panelConfig.menu}))}else this.buildVizPanel()})}subscribeToEvents(){this.subscribeToEvent(m.H,e=>{this.setState({panelConfig:z(G({},this.state.panelConfig),{type:e.payload.panelType})})})}buildVizPanel(){const{metric:e,metricType:t,panelConfig:r,queryConfig:n}=this.state;this.setState({body:V.buildVizPanel({metric:{name:e,type:t},panelConfig:r,queryConfig:n})})}updatePanelOptions(e){const{metric:t,metricType:r,body:n,panelConfig:a}=this.state;if(!n)return;const i={name:t,type:r};e.description&&n.setState({description:e.description}),e.headerActions&&n.setState({headerActions:e.headerActions({metric:i,panelConfig:a})}),e.menu&&n.setState({menu:e.menu({metric:i,panelConfig:a})})}updatePanelQueries(){const{body:e,metric:t,metricType:r,panelConfig:n,queryConfig:a}=this.state;if(!e)return;const[i]=o.sceneGraph.findDescendents(e,o.SceneQueryRunner);if(!i)return;const s=V.getQueryRunnerParams({panelType:n.type,metric:{name:t,type:r},queryConfig:a});i.setState({queries:s.queries}),i.runQueries()}update(e,t){const{panelConfig:r,queryConfig:n}=this.state;this.setState({panelConfig:G({},r,e),queryConfig:G({},n,t)})}constructor({key:e,metric:t,panelOptions:r,queryOptions:n,discardUserPrefs:a}){const i=(0,y.K)(t),o=a?void 0:(0,h.N)(t);super({key:e,metric:t,metricType:i,panelConfig:G({type:(null==r?void 0:r.type)||v(t),title:t,height:f.N.M,headerActions:({metric:e})=>[new b.B({metric:e.name})]},r,null==o?void 0:o.panelOptions),queryConfig:G({resolution:g.I.MEDIUM,labelMatchers:[],addIgnoreUsageFilter:!0},n,null==o?void 0:o.queryOptions),body:void 0}),this.addActivationHandler(()=>{this.onActivate(Boolean((null==r?void 0:r.type)||(null==o?void 0:o.panelOptions.type)))})}}function U(e,t,r){return{container:n.css`
|
|
width: 100%;
|
|
height: ${t}px;
|
|
${r?(0,p.v)(e):""}
|
|
`}}q(H,"Component",({model:e})=>{const{body:t,panelConfig:r,onClick:n,clickTitle:a}=e.useState(),i=(0,s.useStyles2)(U,r.height,Boolean(n)),o=n?e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n())}:void 0;return u().createElement("div",{className:i.container,"data-testid":"gmd-vizpanel",onClick:n,onKeyDown:o,role:n?"button":void 0,tabIndex:n?0:void 0,title:a},t&&u().createElement(t.Component,{model:t}))})},38664:(e,t,r)=>{r.d(t,{k3:()=>ze,x3:()=>Fe,nh:()=>qe,Rs:()=>Ge});var n=r(46089),a=r(37768),i=r(28904),o=r(82007),s=r(85959),l=r.n(s),c=r(87073),u=r(18531),d=r(19148),p=r(69989),m=r(63213),b=r(87781),h=r(60341),f=r(93056),g=r(73303),y=r(62159),v=r(25081),S=r(88048),w=r(93265),O=r(99009);const E=(e={})=>t=>{const[r]=i.sceneGraph.findDescendents(t,i.SceneQueryRunner);if(!r)return;const n=t.state.title,a=r.subscribeToState(r=>{var a;if((null===(a=r.data)||void 0===a?void 0:a.state)!==b.LoadingState.Done)return;const{series:i}=r.data;if(!(null==i?void 0:i.length))return;const o={title:`${n} (${i.length})`};var s,l;i.length>O.o&&(o.description=`Showing only ${O.o} series out of ${i.length} to keep the data easy to read.`,o.description+="string"==typeof(null===(s=e.description)||void 0===s?void 0:s.ctaText)?` ${null===(l=e.description)||void 0===l?void 0:l.ctaText}`:' Click on "Select" on this panel to view a breakdown of all the label\'s values.');t.setState(o)});return()=>{a.unsubscribe()}};var x=r(15425),k=r(48164);function C(){return e=>{var t;if("timeseries"!==e.state.pluginId)return;let r=i.sceneGraph.getData(e);r instanceof i.SceneDataTransformer&&(r=r.state.$data);const{data:n}=r.state;(null==n?void 0:n.state)===b.LoadingState.Done&&(null===(t=n.series)||void 0===t?void 0:t.length)&&e.publishEvent(new k.s({panelKey:e.state.key,series:n.series}),!0);const a=r.subscribeToState((t,r)=>{var n,a,i;if((null===(n=t.data)||void 0===n?void 0:n.state)===b.LoadingState.Done&&(null===(a=t.data.series)||void 0===a?void 0:a.length)&&t.data.series!==(null===(i=r.data)||void 0===i?void 0:i.series)){var o;const r=null===(o=t.data.series[0].meta)||void 0===o?void 0:o.type;if(r&&!r.startsWith("timeseries"))return;e.publishEvent(new k.s({panelKey:e.state.key,series:t.data.series}),!0)}});return()=>{a.unsubscribe()}}}var P,j,_,T=r(95830);class I extends i.SceneObjectBase{}function A(e){return{container:n.css`
|
|
width: 100%;
|
|
height: 100%;
|
|
${(0,m.v)(e)}
|
|
`}}_=({model:e})=>{const{panel:t,navigationUrl:r,title:n}=e.useState(),a=(0,o.useStyles2)(A),i=()=>{u.locationService.push(r)};return l().createElement("div",{className:a.container,onClick:i,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())},role:"button",tabIndex:0,title:n},l().createElement(t.Component,{model:t}))},(j="Component")in(P=I)?Object.defineProperty(P,j,{value:_,enumerable:!0,configurable:!0,writable:!0}):P[j]=_;var D=r(57014);function N(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class B extends i.SceneObjectBase{constructor(...e){super(...e),N(this,"onClick",()=>{const{label:e}=this.state;(0,c.z)("breakdown_panel_selected",{label:e});const t=i.sceneGraph.lookupVariable(x.yr,this);if(!(0,D.bA)(t))throw new Error("Group by variable not found");t.changeValueTo(e)})}}N(B,"Component",({model:e})=>l().createElement(o.Button,{variant:"secondary",size:"sm",fill:"outline",onClick:e.onClick},(0,a.t)("breakdown.select-label","Select")));var M=r(67709),L=r(634);function R(e,t){const r=i.sceneGraph.getTimeRange(e);return(0,M.y)({metric:e.state.metric,labels:(e.state.initialFilters||[]).map(e=>({label:e.key,op:e.operator,value:e.value})),dataSource:e.state.initialDS,from:String(r.state.from),to:String(r.state.to),groupBy:t})}function V(e,t,r){return{type:"timeseries",height:r?S.N.XS:S.N.M,title:e,fixedColorIndex:t,behaviors:r?[E({description:{ctaText:""}})]:[C(),E()],headerActions:r?()=>[]:()=>[new B({label:e})],menu:r?void 0:()=>new L.G({labelName:e}),legend:r?{showLegend:!1}:{placement:"bottom"}}}class $ extends i.SceneObjectBase{onActivate(){(0,p.kj)(this).state.embeddedMini&&(this.state.body.setState({initialPageSize:3,pageSizeIncrement:0}),this.state.body.state.body.setState({autoRows:S.N.XS,templateColumns:v._O})),this.subscribeToLayoutChange(),this.subscribeToEvents()}subscribeToEvents(){const e=new Map;this.subscribeToEvent(k.s,t=>{const{panelKey:r,series:n}=t.payload,a=i.sceneGraph.findByKeyAndType(this,r,i.VizPanel);if(1===n.length)return e.has(r)||e.set(r,a.state.headerActions||[]),void a.setState({headerActions:[]});e.has(r)&&a.setState({headerActions:e.get(r)})})}subscribeToLayoutChange(){if((0,p.kj)(this).state.embeddedMini)return;const e=i.sceneGraph.findByKeyAndType(this,"layout-switcher",y.U),t=(e,t)=>{e.layout!==(null==t?void 0:t.layout)&&this.state.body.state.body.setState({templateColumns:e.layout===y.p.ROWS?v._O:v.MV})};i.sceneUtils.syncStateFromSearchParams(e,new URLSearchParams(window.location.search)),t(e.state),this._subs.add(e.subscribeToState(t))}Controls({model:e}){const t=(0,o.useStyles2)(F),{layoutSwitcher:r}=e.useState();return l().createElement(o.Field,{label:(0,a.t)("breakdown.labels-list.view-label","View"),className:t.field},l().createElement(r.Component,{model:r}))}constructor({metric:e}){super({key:"metric-labels-list",metric:e,layoutSwitcher:new y.U({}),body:new f.k({variableName:x.yr,initialPageSize:60,pageSizeIncrement:9,body:new i.SceneCSSGridLayout({children:[],isLazy:!0,templateColumns:v.MV,autoRows:S.N.M,$behaviors:[new i.behaviors.CursorSync({key:"metricCrosshairSync",sync:b.DashboardCursorSync.Crosshair}),(0,T.U)()]}),getLayoutLoading:()=>new i.SceneReactObject({reactNode:l().createElement(o.Spinner,{inline:!0})}),getLayoutEmpty:()=>new i.SceneReactObject({reactNode:l().createElement(h._,{title:"",severity:"info"},(0,a.t)("breakdown.labels-list.no-labels","No labels found for the current filters and time range."))}),getLayoutError:e=>new i.SceneReactObject({reactNode:l().createElement(h._,{severity:"error",title:(0,a.t)("breakdown.labels-list.error-title","Error while loading labels!"),error:e})}),getLayoutChild:(t,r)=>{const n=t.value;let o,s=!1;try{var l;o=(0,p.kj)(this),s=null!==(l=o.state.embeddedMini)&&void 0!==l&&l}catch(e){}const c=(0,O.B)({metric:e,panelConfig:V(n,r,s),queryConfig:{resolution:w.I.MEDIUM,groupBy:n,labelMatchers:[],addIgnoreUsageFilter:!0}});return s&&o?new i.SceneCSSGridItem({body:new I({panel:c,navigationUrl:R(o,n),title:(0,a.t)("breakdown.labels-list.breakdown-by-label","Breakdown by {{label}}",{label:n})})}):new i.SceneCSSGridItem({body:c})}})}),this.addActivationHandler(this.onActivate.bind(this))}}function F(e){return{field:(0,n.css)({marginBottom:0}),footer:(0,n.css)({display:"flex",justifyContent:"center",alignItems:"center",marginTop:e.spacing(4),"& button":{height:"40px",borderRadius:"8px"}})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}($,"Component",({model:e})=>{const t=(0,o.useStyles2)(F),{body:r}=e.useState(),n=(0,p.kj)(e),{embeddedMini:s}=n.state,c=i.sceneGraph.lookupVariable(x.yr,e),{loading:u,error:d}=c.useState(),m=r.useSizes(),b=!s&&!u&&!d&&m.total>0&&m.current<m.total;return l().createElement("div",{"data-testid":"labels-list"},l().createElement(r.Component,{model:r}),b&&l().createElement("div",{className:t.footer},l().createElement(g.d,{label:(0,a.t)("breakdown.labels-list.label-label","label"),batchSizes:m,onClick:()=>{r.increaseBatchSize()}})))});var q=r(71415),G=r(62935),z=r(4367),H=r(34936),U=r(67787),K=r(92738);function Q(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class W extends i.SceneObjectBase{constructor(...e){super(...e),Q(this,"onClick",()=>{const{labelName:e,labelValue:t}=this.state;(0,c.z)("label_filter_changed",{label:e,action:"added",cause:"breakdown"}),(0,p.kj)(this).addFilterWithoutReportingInteraction({key:e,operator:"=",value:t})})}}function Y(e){var t;const r=(null===(t=e.fields[1])||void 0===t?void 0:t.labels)||{},n=Object.keys(r);return 0===n.length?"<unspecified>":r[n[0]]}Q(W,"Component",({model:e})=>l().createElement(o.Button,{variant:"secondary",size:"sm",fill:"outline",onClick:e.onClick},(0,a.t)("breakdown.add-to-filters","Add to filters")));var X=r(20225),Z=r(21015),J=r(26875),ee=r(81311);function te(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function re(){return[{value:"outliers",label:(0,a.t)("sort-by.option.outliers","Outlying series"),description:(0,a.t)("sort-by.option.outliers-description","Prioritizes values that show distinct behavior from others within the same label")},{value:"alphabetical",label:(0,a.t)("sort-by.option.alphabetical","Name [A-Z]"),description:(0,a.t)("sort-by.option.alphabetical-description","Alphabetical order")},{value:"alphabetical-reversed",label:(0,a.t)("sort-by.option.alphabetical-reversed","Name [Z-A]"),description:(0,a.t)("sort-by.option.alphabetical-reversed-description","Reversed alphabetical order")}]}class ne extends i.SceneObjectBase{constructor(e){const t=ee.x.getItem(J.V.BREAKDOWN_SORTBY);super({key:"breakdown-sort-by",target:e.target,options:ne.DEFAULT_OPTIONS,value:t&&ne.DEFAULT_OPTIONS.find(e=>e.value===t)||ne.DEFAULT_OPTIONS[0]}),te(this,"onChange",e=>{this.setState({value:e}),ee.x.setItem(J.V.BREAKDOWN_SORTBY,e.value)})}}function ae(e){return{sortByTooltip:(0,n.css)({display:"flex",gap:e.spacing(1)}),field:(0,n.css)({marginBottom:0})}}te(ne,"DEFAULT_OPTIONS",re()),te(ne,"Component",({model:e})=>{const t=(0,o.useStyles2)(ae),{value:r}=e.useState(),n=re();return l().createElement(o.Field,{className:t.field,"data-testid":"sort-by-select",htmlFor:"sort-by-criteria",label:l().createElement("div",{className:t.sortByTooltip},(0,a.t)("sort-by.label","Sort by"),l().createElement(o.IconButton,{name:"info-circle",size:"sm",variant:"secondary",tooltip:(0,a.t)("sort-by.tooltip","Sorts values using standard or smart time series calculations.")}))},l().createElement(o.Combobox,{id:"sort-by-criteria",placeholder:(0,a.t)("sort-by.placeholder","Choose criteria"),width:20,options:n,value:r,onChange:e.onChange,isClearable:!1}))});var ie=r(65593),oe=r(75413);function se(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class le extends i.SceneObjectBase{performRepeat(e){var t,r,n,a;if(e.state===b.LoadingState.Loading)return void this.setState({loadingLayout:null===(t=(r=this.state).getLayoutLoading)||void 0===t?void 0:t.call(r),errorLayout:void 0,emptyLayout:void 0,currentBatchSize:0});if(e.state===b.LoadingState.Error)return void this.setState({errorLayout:null===(n=(a=this.state).getLayoutError)||void 0===n?void 0:n.call(a,e),loadingLayout:void 0,emptyLayout:void 0,currentBatchSize:0});const i=this.filterAndSort(e.series);var o,s;if(!i.length)return void this.setState({emptyLayout:null===(o=(s=this.state).getLayoutEmpty)||void 0===o?void 0:o.call(s),errorLayout:void 0,loadingLayout:void 0,currentBatchSize:0,counts:{current:0,total:e.series.length}});this.setState({loadingLayout:void 0,errorLayout:void 0,emptyLayout:void 0,currentBatchSize:this.state.initialPageSize,counts:{current:i.length,total:e.series.length}});const l=i.slice(0,this.state.initialPageSize).map((t,r)=>this.state.getLayoutChild(e,t,r)).filter(Boolean);this.state.body.setState({children:l})}initFilterAndSort(){this.searchText=i.sceneGraph.findByKeyAndType(this,"quick-search",G.I).state.value,this.sortBy=i.sceneGraph.findByKeyAndType(this,"breakdown-sort-by",ne).state.value.value}filterAndSort(e){let t=[];if(this.searchText){const r=this.searchText.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{try{return new RegExp(e)}catch(e){return null}}).filter(Boolean);for(let n=0;n<e.length;n+=1){const a=e[n];r.some(e=>e.test(Y(a)))&&t.push(a)}}else t=e;return this.sortBy&&(t=(0,Z.sortSeries)(t,this.sortBy)),t}filter(e){this.searchText=e;const{data:t}=i.sceneGraph.getData(this).state;t&&(this.publishEvent(new oe.H({}),!0),this.performRepeat(t))}sort(e){this.sortBy=e;const{data:t}=i.sceneGraph.getData(this).state;t&&(this.publishEvent(new oe.H({}),!0),this.performRepeat(t))}increaseBatchSize(){const{data:e}=i.sceneGraph.getData(this).state;if(!e)return;const t=this.state.currentBatchSize+this.state.pageSizeIncrement,r=this.filterAndSort(e.series).slice(this.state.currentBatchSize,t).map((t,r)=>this.state.getLayoutChild(e,t,r)).filter(Boolean);this.state.body.setState({children:[...this.state.body.state.children,...r]}),this.setState({currentBatchSize:t}),this.publishEvent(new ie.N({}),!0)}useSizes(){const{currentBatchSize:e,pageSizeIncrement:t}=this.useState(),{data:r}=i.sceneGraph.getData(this).state,n=r?this.filterAndSort(r.series).length:0,a=n-e;return{increment:a<t?a:t,current:e,total:n}}getCounts(){const{data:e}=i.sceneGraph.getData(this).state;return{current:0,total:e?e.series.length:0}}constructor({$behaviors:e,body:t,getLayoutChild:r,getLayoutLoading:n,getLayoutError:a,getLayoutEmpty:o,initialPageSize:s,pageSizeIncrement:l,$data:c}){super({key:"breakdown-by-frame-repeater",$behaviors:e,body:t,getLayoutChild:r,getLayoutLoading:n,getLayoutError:a,getLayoutEmpty:o,currentBatchSize:0,initialPageSize:s||120,pageSizeIncrement:l||9,loadingLayout:void 0,errorLayout:void 0,emptyLayout:void 0,counts:{current:0,total:0},$data:c}),se(this,"searchText",""),se(this,"sortBy",void 0),this.addActivationHandler(()=>{const e=i.sceneGraph.getData(this);if(!e)throw new Error("No data provider found!");this.initFilterAndSort(),this._subs.add(e.subscribeToState(e=>{e.data&&this.performRepeat(e.data)})),e.state.data&&this.performRepeat(e.state.data)})}}se(le,"Component",({model:e})=>{const{body:t,loadingLayout:r,errorLayout:n,emptyLayout:a}=e.useState();return r?l().createElement(r.Component,{model:r}):n?l().createElement(n.Component,{model:n}):a?l().createElement(a.Component,{model:a}):l().createElement(t.Component,{model:t})});class ce extends X.I{constructor(){super({key:"LabelValuesCountsProvider"}),this.addActivationHandler(()=>{const e=i.sceneGraph.findByKeyAndType(this,"breakdown-by-frame-repeater",le);this._subs.add(e.subscribeToState((e,t)=>{e.counts!==t.counts&&this.setState({counts:e.counts})}))})}}function ue(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){ue(e,t,r[t])})}return e}function pe(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class me extends i.SceneObjectBase{onActivate(){this.subscribeToLayoutChange()}subscribeToQuickSearchChange(){i.sceneUtils.syncStateFromSearchParams(this.state.quickSearch,new URLSearchParams(window.location.search)),this._subs.add(this.subscribeToEvent(q.W,e=>{const t=i.sceneGraph.findDescendents(this,le)[0];t&&t.filter(e.payload.searchText)}))}subscribeToSortByChange(){const{sortBySelector:e}=this.state;this._subs.add(e.subscribeToState((e,t)=>{if(e.value.value!==(null==t?void 0:t.value.value)){const t=i.sceneGraph.findDescendents(this,le)[0];t&&t.sort(e.value.value)}}))}subscribeToLayoutChange(){const{layoutSwitcher:e}=this.state;i.sceneUtils.syncStateFromSearchParams(e,new URLSearchParams(window.location.search));const t=(e,t)=>{e.layout!==(null==t?void 0:t.layout)&&this.updateBody(e.layout)};t(e.state),this._subs.add(e.subscribeToState(t))}updateBody(e){if(e===y.p.SINGLE)return void this.setState({body:this.buildSinglePanel()});const t=i.sceneGraph.findDescendents(this,le)[0],r=t||this.buildByFrameRepeater();r.state.body.setState({templateColumns:e===y.p.ROWS?v._O:v.MV}),this.setState({body:r}),t||(this.subscribeToQuickSearchChange(),this.subscribeToSortByChange())}buildSinglePanel(){const{metric:e,label:t}=this.state;return new H.m({metric:e.name,discardUserPrefs:!0,panelOptions:{type:"timeseries",height:S.N.XL,headerActions:()=>[],behaviors:[E({description:{ctaText:""}})]},queryOptions:{groupBy:t,data:i.sceneGraph.getData(this)}})}buildByFrameRepeater(){const{metric:e,label:t}=this.state,r=(0,z.N)(e.name);return new le({$behaviors:[(0,T.U)(),new i.behaviors.CursorSync({key:"metricCrosshairSync",sync:b.DashboardCursorSync.Crosshair})],body:new i.SceneCSSGridLayout({children:[],isLazy:!0,templateColumns:v.MV,autoRows:S.N.M}),getLayoutLoading:()=>new i.SceneReactObject({reactNode:l().createElement(o.Spinner,{inline:!0})}),getLayoutEmpty:()=>new i.SceneReactObject({reactNode:l().createElement(h._,{title:"",severity:"info"},(0,a.t)("breakdown.label-values-list.no-values","No label values found for the current filters and time range."))}),getLayoutError:e=>new i.SceneReactObject({reactNode:l().createElement(h._,{severity:"error",title:(0,a.t)("breakdown.label-values-list.error-title","Error while loading metrics!"),error:e.errors[0]})}),getLayoutChild:(n,a,o)=>{if(a.length<2)return null;const s=Y(a),l=s.startsWith("<unspecified"),c=l?"":s,u=new H.m({metric:e.name,discardUserPrefs:!0,panelOptions:pe(de({},null==r?void 0:r.panelOptions),{title:s,fixedColorIndex:o,description:"",headerActions:l?()=>[]:()=>[new W({labelName:t,labelValue:c})],menu:()=>new L.G({labelName:t}),behaviors:[C()]}),queryOptions:pe(de({},null==r?void 0:r.queryOptions),{labelMatchers:[{key:t,operator:"=",value:c}]})});return new i.SceneCSSGridItem({body:u})}})}Controls({model:e}){const t=(0,o.useStyles2)(be),{body:r,quickSearch:i,layoutSwitcher:s,sortBySelector:c}=e.useState();return l().createElement(l().Fragment,null,r instanceof le&&l().createElement(l().Fragment,null,l().createElement(o.Field,{className:(0,n.cx)(t.field,t.quickSearchField),label:(0,a.t)("breakdown.label-values-list.search-label","Search")},l().createElement(i.Component,{model:i})),l().createElement(c.Component,{model:c})),l().createElement(o.Field,{label:(0,a.t)("breakdown.label-values-list.view-label","View"),className:t.field},l().createElement(s.Component,{model:s})))}constructor({metric:e,label:t}){const r=(0,U.H)({metric:e,queryConfig:{resolution:w.I.MEDIUM,labelMatchers:[],addIgnoreUsageFilter:!1,groupBy:t}});super({key:"metric-label-values-list",metric:e,label:t,layoutSwitcher:new y.U({urlSearchParamName:"breakdownLayout",options:[{label:(0,a.t)("layout-switcher.option.single","Single"),value:y.p.SINGLE},{label:(0,a.t)("layout-switcher.option.grid","Grid"),value:y.p.GRID},{label:(0,a.t)("layout-switcher.option.rows","Rows"),value:y.p.ROWS}]}),quickSearch:new G.I({urlSearchParamName:"breakdownSearchText",targetName:"label value",countsProvider:new ce,displayCounts:!0}),sortBySelector:new ne({target:"labels"}),$data:new i.SceneDataTransformer({$data:new i.SceneQueryRunner({datasource:x.GH,maxDataPoints:r.maxDataPoints,queries:r.queries}),transformations:[(0,K.b)(t)]}),body:void 0}),this.addActivationHandler(this.onActivate.bind(this))}}function be(e){return{singlePanelContainer:(0,n.css)({width:"100%",height:"300px"}),listContainer:(0,n.css)({width:"100%"}),listFooter:(0,n.css)({display:"flex",justifyContent:"center",alignItems:"center",marginTop:e.spacing(4),"& button":{height:"40px",borderRadius:"8px"}}),quickSearchField:(0,n.css)({flexGrow:1}),field:(0,n.css)({marginBottom:0})}}ue(me,"Component",({model:e})=>{const{body:t}=e.useState();return l().createElement(l().Fragment,null,t instanceof H.m&&l().createElement(me.SingleMetricPanelComponent,{model:e}),t instanceof le&&l().createElement(me.ByFrameRepeaterComponent,{model:e}))}),ue(me,"SingleMetricPanelComponent",({model:e})=>{const t=(0,o.useStyles2)(be),{body:r}=e.useState();return l().createElement("div",{"data-testid":"single-metric-panel"},l().createElement("div",{className:t.singlePanelContainer},r instanceof H.m&&l().createElement(r.Component,{model:r})))}),ue(me,"ByFrameRepeaterComponent",({model:e})=>{const t=(0,o.useStyles2)(be),{body:r}=e.useState(),n=i.sceneGraph.getData(e),{state:s,errors:c}=n.useState().data||{},u=r,d=u.useSizes(),p=s!==b.LoadingState.Loading&&!(null==c?void 0:c.length)&&d.total>0&&d.current<d.total;return l().createElement("div",{"data-testid":"label-values-list"},l().createElement("div",{className:t.listContainer},r instanceof le&&l().createElement(r.Component,{model:r})),p&&l().createElement("div",{className:t.listFooter},l().createElement(g.d,{label:(0,a.t)("breakdown.label-values-list.label","label value"),batchSizes:d,onClick:()=>{u.increaseBatchSize()}})))});var he=r(15107);function fe(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}class ge extends i.SceneObjectBase{onActivate(){const e=this.getVariable();e.subscribeToState((t,r)=>{t.value!==r.value&&this.updateBody(e)}),u.config.featureToggles.enableScopesInMetricsExplore&&this.subscribeToEvent(x.H0,()=>{this.updateBody(e)}),this.updateBody(e)}getVariable(){const e=i.sceneGraph.lookupVariable(x.yr,this);if(!(0,D.bA)(e))throw new Error("Group by variable not found");return e}updateBody(e){return(t=function*(){const{metric:t}=this.state,r={name:t,type:yield(0,d.B)(t,(0,p.kj)(this))},n=e.hasAllValue()?new $({metric:r}):new me({metric:r,label:e.state.value});this.setState({body:n}),n.isActive?(0,he.$)(this,Fe.breakdown):n.addActivationHandler(()=>{(0,he.$)(this,Fe.breakdown)})},function(){var e=this,r=arguments;return new Promise(function(n,a){var i=t.apply(e,r);function o(e){fe(i,n,a,o,s,"next",e)}function s(e){fe(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var t}constructor({metric:e}){super({metric:e,body:void 0,$behaviors:[new i.behaviors.SceneQueryController]}),this.addActivationHandler(this.onActivate.bind(this))}}function ye(e,t,r){return{container:(0,n.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column"}),stickyControls:(0,n.css)({margin:e.spacing(1,0,1.5,0),position:"sticky",top:`calc(var(--app-controls-height, 0px) + ${t}px + var(--action-bar-height, 0px))`,zIndex:10,background:(0,m.T)(e,r),paddingBottom:e.spacing(1)}),controls:(0,n.css)({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"end",flexWrap:"wrap",gap:e.spacing(1)}),searchField:(0,n.css)({flexGrow:1}),miniSectionLabel:(0,n.css)({marginTop:e.spacing(2),marginBottom:e.spacing(1),fontSize:e.typography.bodySmall.fontSize,fontWeight:e.typography.fontWeightMedium,color:e.colors.text.secondary,textTransform:"uppercase",letterSpacing:"0.5px"})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(ge,"Component",({model:e})=>{const t=(0,u.useChromeHeaderHeight)(),r=(0,p.kj)(e),{embeddedMini:n}=r.state,i=(0,o.useStyles2)(ye,r.state.embedded?0:null!=t?t:0,r),{body:s}=e.useState(),c=e.getVariable();return l().createElement("div",{className:i.container},!n&&l().createElement("div",{className:i.stickyControls,"data-testid":"breakdown-controls"},l().createElement("div",{className:i.controls},l().createElement(c.Component,{model:c}),s instanceof $&&l().createElement(s.Controls,{model:s}),s instanceof me&&l().createElement(s.Controls,{model:s}))),n&&l().createElement("div",{className:i.miniSectionLabel},(0,a.t)("breakdown.section-label","Breakdown")),l().createElement("div",{"data-testid":"panels-list"},s instanceof $&&l().createElement(s.Component,{model:s}),s instanceof me&&l().createElement(s.Component,{model:s})))});var ve=r(63282),Se=r(92458),we=r(55699),Oe=r(46304),Ee=r(74406),xe=r(25067),ke=r(74415),Ce=r(93649),Pe=r(29810),je=r(7509),_e=r(43659);function Te(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ie(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const Ae={label:"All metric names",value:"all"};class De extends i.SceneObjectBase{getUrlState(){return{metricPrefix:this.state.value}}updateFromUrl(e){"string"!=typeof e.metricPrefix?this.setState({value:Ae.value}):this.state.value!==e.metricPrefix&&this.setState({value:e.metricPrefix})}onActivate(){this.parseMetricPrefixes()}parseMetricPrefixes(){if(this._variableDependency.hasDependencyInLoadingState())return void this.setState({error:void 0,loading:!0});const e=i.sceneGraph.lookupVariable(xe.$,this);if(e.state.error)return void this.setState({error:e.state.error,loading:!1,options:[]});const t=(0,_e.w)((0,f.a)(e)),r=[Ae,...t.map(e=>({value:e.value,label:`${e.label} (${e.count})`}))],{value:n}=this.state,a=r.find(e=>e.value===n)?n:Ae.value;this.setState({error:null,loading:!1,options:r}),this.selectOption({value:a,label:a})}constructor(e){super(Ie(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){Te(e,t,r[t])})}return e}({},e),{key:"related-prefix-filter",loading:!0,error:null,options:[Ae],value:Ae.value})),Te(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[xe.$],onVariableUpdateCompleted:()=>this.parseMetricPrefixes()})),Te(this,"_urlSync",new i.SceneObjectUrlSyncConfig(this,{keys:["metricPrefix"]})),Te(this,"selectOption",e=>{const t=null===e?Ae.value:e.value;this.setState({value:t}),this.publishEvent(new Pe.Y({type:"prefixes",filters:t===Ae.value?[]:[t]}),!0)}),this.addActivationHandler(this.onActivate.bind(this))}}function Ne(e){return{container:n.css`
|
|
display: flex;
|
|
|
|
& > div {
|
|
margin: 0;
|
|
}
|
|
`,label:n.css`
|
|
margin-right: 0;
|
|
background-color: ${e.colors.background.primary};
|
|
border: 1px solid ${e.colors.border.medium};
|
|
border-right: 0 none;
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
`,tooltipIcon:n.css`
|
|
margin-left: ${e.spacing(.5)};
|
|
`}}function Be(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Me(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}Te(De,"Component",({model:e})=>{const t=(0,o.useStyles2)(Ne),{loading:r,options:n,value:i,error:s}=e.useState(),c=[{label:(0,a.t)("prefix-filter.all-metrics","All metric names"),value:"all"},...n.filter(e=>"all"!==e.value)];return l().createElement("div",{className:t.container,"data-testid":"prefix-filter-selector"},l().createElement(o.InlineField,{disabled:r,error:s&&s.toString(),label:l().createElement(o.InlineLabel,{width:"auto",className:t.label},l().createElement("span",null,(0,a.t)("prefix-filter.view-by-label","View by")),l().createElement(o.Tooltip,{content:(0,a.t)("prefix-filter.tooltip","View by the metric prefix. A metric prefix is a single word at the beginning of the metric name, relevant to the domain the metric belongs to."),placement:"top"},l().createElement(o.Icon,{className:t.tooltipIcon,name:"info-circle",size:"sm"})))},l().createElement(o.Combobox,{value:i,onChange:e.selectOption,options:c})))});class Le extends i.EmbeddedScene{constructor(e){super(Me(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){Be(e,t,r[t])})}return e}({},e),{key:"related-list-controls",body:new i.SceneFlexLayout({direction:"row",width:"100%",maxHeight:"32px",children:[new i.SceneFlexItem({width:"auto",body:new De({})}),new i.SceneFlexItem({body:new G.I({urlSearchParamName:"gmd-relatedSearchText",targetName:"related metric",countsProvider:new je.s,displayCounts:!0})}),new i.SceneFlexItem({width:"auto",body:new y.U({})})]})}))}}function Re(){return{controls:(0,n.css)({display:"flex",alignItems:"end"})}}Be(Le,"Component",({model:e})=>{const t=(0,o.useStyles2)(Re),{body:r}=e.useState();return l().createElement("div",{className:t.controls,"data-testid":"related-list-controls"},l().createElement(r.Component,{model:r}))});class Ve extends i.SceneObjectBase{onActivate(){const e=i.sceneGraph.findByKeyAndType(this,xe.$,xe.s);e.fetchAllMetrics(),this.subscribeToEvents(e)}subscribeToEvents(e){this.initVariablesFilteringAndSorting();const t=e.subscribeToState(e=>{!1===e.loading&&(t.unsubscribe(),this.state.body.isActive?(0,he.$)(this,Fe.related):this.state.body.addActivationHandler(()=>{(0,he.$)(this,Fe.related)}))})}initVariablesFilteringAndSorting(){const{metric:e}=this.state,t=new Map;this.subscribeToEvent(Se.x,e=>{const{key:r}=e.payload,n=i.sceneGraph.findByKey(this,r);t.set(r,{filterEngine:new ke.k(n),sortEngine:new Ce.c(n)})}),this.subscribeToEvent(we.e,e=>{t.delete(e.payload.key)});const r=i.sceneGraph.findByKeyAndType(this,"quick-search",G.I);this.subscribeToEvent(Oe.x,n=>{const{key:a,options:i}=n.payload,{filterEngine:o,sortEngine:s}=t.get(a);o.setInitOptions(i);const l={names:r.state.value?[r.state.value]:[]};o.applyFilters(l,{forceUpdate:!0,notify:!1}),s.sort("related",{metric:e})}),this.subscribeToEvent(q.W,r=>{const{searchText:n}=r.payload;for(const[,{filterEngine:r,sortEngine:a}]of t)r.applyFilters({names:n?[n]:[]}),a.sort("related",{metric:e})}),this.subscribeToEvent(Pe.Y,r=>{const{type:n,filters:a}=r.payload;for(const[,{filterEngine:r,sortEngine:i}]of t)r.applyFilters({[n]:a}),i.sort("related",{metric:e})})}constructor({metric:e}){super({metric:e,$variables:new i.SceneVariableSet({variables:[new Ee.V]}),$behaviors:[new i.behaviors.SceneQueryController],key:"RelatedMetricsScene",body:new v.Qs({variableName:Ee.h}),listControls:new Le({})}),this.addActivationHandler(this.onActivate.bind(this))}}function $e(e,t,r){return{variables:(0,n.css)({display:"none"}),searchSticky:(0,n.css)({margin:e.spacing(1,0,1.5,0),position:"sticky",top:`calc(var(--app-controls-height, 0px) + ${t}px + var(--action-bar-height, 0px))`,zIndex:10,background:(0,m.T)(e,r),paddingBottom:e.spacing(1)})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Ve,"Component",({model:e})=>{const t=(0,u.useChromeHeaderHeight)(),r=(0,p.kj)(e),n=(0,o.useStyles2)($e,r.state.embedded?0:null!=t?t:0,r),{$variables:a,body:i,listControls:s}=e.useState();return l().createElement(l().Fragment,null,l().createElement("div",{className:n.searchSticky},l().createElement(s.Component,{model:s})),l().createElement("div",{"data-testid":"panels-list"},l().createElement(i.Component,{model:i})),l().createElement("div",{className:n.variables},null==a?void 0:a.state.variables.map(e=>l().createElement(e.Component,{key:e.state.name,model:e}))))});const Fe={breakdown:"breakdown",related:"related",relatedLogs:"logs"},qe=Fe.breakdown;function Ge(){return[{displayName:(0,a.t)("action-bar.tab.breakdown","Breakdown"),value:Fe.breakdown,getScene:e=>new ge({metric:e.state.metric}),backgroundTask:()=>{}},{displayName:(0,a.t)("action-bar.tab.related-metrics","Related metrics"),value:Fe.related,getScene:e=>new Ve({metric:e.state.metric}),description:(0,a.t)("action-bar.tab.related-metrics-description","Relevant metrics based on current label filters"),backgroundTask:()=>{}},{displayName:(0,a.t)("action-bar.tab.related-logs","Related logs"),value:Fe.relatedLogs,getScene:e=>e.createRelatedLogsScene(),description:(0,a.t)("action-bar.tab.related-logs-description","Relevant logs based on current label filters and time range"),backgroundTask:e=>e.relatedLogsOrchestrator.findAndCheckAllDatasources()}]}Fe.breakdown,Fe.related,Fe.relatedLogs;class ze extends i.SceneObjectBase{}function He(e){return{actions:(0,n.css)({[e.breakpoints.up(e.breakpoints.values.md)]:{position:"absolute",right:0,top:16,zIndex:2}}),customTabsBar:(0,n.css)({paddingBottom:e.spacing(1)})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(ze,"Component",({model:e})=>{const t=i.sceneGraph.getAncestor(e,ve.R),r=(0,o.useStyles2)(He),{actionView:n}=t.useState(),a=Ge();return l().createElement(o.Box,{paddingY:1,"data-testid":"action-bar",width:"100%"},l().createElement("div",{className:r.actions},l().createElement(o.Stack,{gap:1})),l().createElement(o.TabsBar,{className:r.customTabsBar},a.map((e,r)=>{const a=e.displayName,i=n===e.value,s=e.value===Fe.relatedLogs?t.state.relatedLogsCount:void 0,u=l().createElement(o.Tab,{key:r,label:a,counter:s,active:i,onChangeTab:()=>{i||((0,c.z)("metric_action_view_changed",{view:e.value,related_logs_count:t.relatedLogsOrchestrator.checkConditionsMetForRelatedLogs()?s:void 0}),t.setActionView(e.value))}});return e.description?l().createElement(o.Tooltip,{key:r,content:e.description,placement:"top",theme:"info"},u):u})))})},39041:(e,t,r)=>{r.d(t,{B:()=>u});var n=r(37768),a=r(28904),i=r(82007),o=r(85959),s=r.n(o),l=r(15425);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class u extends a.SceneObjectBase{constructor({metric:e,variant:t,fill:r}){super({key:`select-action-${e}`,metric:e,variant:t||"primary",fill:r||"outline"}),c(this,"onClick",()=>{this.publishEvent(new l.OO({metric:this.state.metric}),!0)})}}c(u,"Component",({model:e})=>{const{variant:t,fill:r}=e.useState();return s().createElement(i.Button,{variant:t,fill:r,size:"sm",onClick:e.onClick,"data-testid":`select-action-${e.state.metric}`},s().createElement(n.x6,{i18nKey:"select-action.button"},"Select"))})},39140:(e,t,r)=>{r.d(t,{o:()=>o});var n=r(28904),a=r(69989);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const o=(e=0)=>t=>{const[r]=n.sceneGraph.findDescendents(t,n.SceneQueryRunner);if(!r)return;const o=r.subscribeToState((r,n)=>{if(r.queries!==n.queries){const n=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){i(e,t,r[t])})}return e}({},t.state.fieldConfig);n.defaults.color=void 0,n.overrides=r.queries.map((t,r)=>({matcher:{id:"byFrameRefID",options:t.refId},properties:[{id:"color",value:{mode:"fixed",fixedColor:(0,a.Vy)(e+r)}}]})),t.setState({fieldConfig:n})}});return()=>{o.unsubscribe()}}},42624:(e,t,r)=>{r.d(t,{O7:()=>m,g:()=>h,gs:()=>f});var n=r(18531),a=r(33137),i=r(38315),o=r(17621),s=r(69989),l=r(90903);function c(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const d={"drilldown.metrics.default_open_sidebar":{valueType:"string",values:["treatment","control","excluded"],defaultValue:"excluded",trackingKey:"experiment_default_open_sidebar"},"drilldown.metrics.hierarchical_prefix_filtering":{valueType:"string",values:["treatment","control","excluded"],defaultValue:"excluded",trackingKey:"experiment_hierarchical_prefix_filtering"},"drilldown.metrics.grafana_assistant_quick_search_tab_test":{valueType:"string",values:["treatment","control","excluded"],defaultValue:"excluded",trackingKey:"experiment_grafana_assistant_quick_search_tab_test"}},p=(0,s.Co)(d),m=Object.fromEntries(p.reduce((e,t)=>{const r=d[t];return"trackingKey"in r&&e.push([t,r.trackingKey]),e},[])),b="metrics-drilldown";function h(){return i.B0.setProviderAndWait(b,new a.S({baseUrl:`/apis/features.grafana.app/v0alpha1/namespaces/${n.config.namespace}`,pollInterval:-1,timeoutMs:1e4}),function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){u(e,t,r[t])})}return e}({targetingKey:n.config.namespace,namespace:n.config.namespace},n.config.openFeatureContext)).catch(e=>{l.v.warn("OpenFeature provider initialization failed, using default flag values",e)})}function f(e){return(t=function*(){try{const t=i.B0.getClient(b);yield function(e){return e.providerStatus===i.$l.READY?Promise.resolve():new Promise(t=>{e.addHandler(i.Nm.Ready,()=>t())})}(t),t.addHooks(new o.rW);const r=d[e];switch(r.valueType){case"boolean":return t.getBooleanValue(e,r.defaultValue);case"number":return t.getNumberValue(e,r.defaultValue);case"object":return t.getObjectValue(e,r.defaultValue);case"string":return t.getStringValue(e,r.defaultValue);default:throw new Error(`Invalid flag value type for flag ${e}`)}}catch(t){return l.v.error(new Error(`Error evaluating ${e} flag.`,{cause:t})),d[e].defaultValue}},function(){var e=this,r=arguments;return new Promise(function(n,a){var i=t.apply(e,r);function o(e){c(i,n,a,o,s,"next",e)}function s(e){c(i,n,a,o,s,"throw",e)}o(void 0)})})();var t}},43659:(e,t,r)=>{r.d(t,{w:()=>i});var n=r(22590);const a="<none>";function i(e){const t=new Map;for(const n of e){const e=n.value.split(/[^a-z0-9]/i),i=e.length<=1?n.value:e[0];var r;const o=null!==(r=t.get(i))&&void 0!==r?r:[];o.push(n.value),t.set(i||a,o)}const i=new Map;for(const[e,r]of t)i.set(e,r.length);return Array.from(i.entries()).sort((e,t)=>e[1]!==t[1]?t[1]-e[1]:(0,n._)(e[0],t[0])).map(([e,t])=>({value:e,count:t,label:e}))}},46304:(e,t,r)=>{r.d(t,{x:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="metrics-variable-loaded",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},46563:(e,t,r)=>{r.d(t,{H:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="panel-type-changed",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},48164:(e,t,r)=>{r.d(t,{s:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="timeseries-data-received",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},55490:(e,t,r)=>{r.d(t,{J:()=>b,c:()=>m});var n=r(87781),a=r(37768),i=r(28904),o=r(16170),s=r(15425),l=r(57014),c=r(65222),u=r(22590);function d(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){d(i,n,a,o,s,"next",e)}function s(e){d(i,n,a,o,s,"throw",e)}o(void 0)})}}const m="(none)";class b extends i.RuntimeDataSource{query(){return p(function*(){return{state:n.LoadingState.Done,data:[{name:"Labels",fields:[{name:null,type:n.FieldType.other,values:[],config:{}}],length:0}]}})()}metricFindQuery(e,t){return p(function*(){var r,n;const i=null===(n=t.scopedVars)||void 0===n||null===(r=n.__sceneObject)||void 0===r?void 0:r.valueOf(),s=yield o.q.getPrometheusDataSourceForScene(i);if(!s)return[];var l;const[,u]=null!==(l=e.match(/valuesOf\((.+)\)/))&&void 0!==l?l:[];if(u){return(yield b.fetchLabelValues(u,i)).map(e=>({value:e,text:e}))}let d=[];try{d=yield this.fetchLabels(s,i,e)}catch(e){(0,c.HA)(["Error while fetching labels! Defaulting to an empty array.",e.toString()])}return[{value:m,text:(0,a.t)("labels-datasource.none-option","(none)")},...d]}).call(this)}fetchLabels(e,t,r){return p(function*(){if(!b.getLabelsMatchAPISupport(e)){const r=b.getFiltersFromVariable(t),n=yield e.getTagKeys(r);return this.processLabelOptions(n.map(({text:e})=>({value:e,text:e})))}const n=yield o.q.fetchLabels({ds:e,timeRange:i.sceneGraph.getTimeRange(t).state.value,matcher:r});return this.processLabelOptions(n.map(e=>({value:e,text:e})))}).call(this)}static getLabelsMatchAPISupport(e){try{return e.hasLabelsMatchAPISupport()}catch(e){return(0,c.HA)(["Error while checking if the current data source supports the labels match API! Defaulting to false.",e.toString()]),!1}}static getFiltersFromVariable(e){const t=i.sceneGraph.lookupVariable(s.Ao,e);return(0,l.BE)(t)?{filters:t.state.filters}:{filters:[]}}processLabelOptions(e){return e.filter(({value:e})=>!e.startsWith("__")).sort((e,t)=>(0,u._)(e.value,t.value))}static fetchLabelValues(e,t){return p(function*(){const r=yield o.q.getPrometheusDataSourceForScene(t);if(!r)return[];try{return yield o.q.fetchLabelValues({ds:r,labelName:e,timeRange:i.sceneGraph.getTimeRange(t).state.value})}catch(t){return(0,c.HA)([`Error while retrieving label "${e}" values! Defaulting to an empty array.`,t.toString()]),[]}})()}testDatasource(){return p(function*(){return{status:"success",message:(0,a.t)("labels-datasource.test-success","OK")}})()}constructor(){super(b.uid,b.uid)}}var h,f,g;g="grafana-prometheus-labels-datasource",(f="uid")in(h=b)?Object.defineProperty(h,f,{value:g,enumerable:!0,configurable:!0,writable:!0}):h[f]=g},55699:(e,t,r)=>{r.d(t,{e:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="metrics-variable-deactivated",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},57014:(e,t,r)=>{function n(e){return null!==e&&"adhoc"===(null==e?void 0:e.state.type)}function a(e){return null!==e&&"custom"===(null==e?void 0:e.state.type)}function i(e){return null!==e&&"query"===(null==e?void 0:e.state.type)}function o(e){return{key:e.label,operator:e.op,value:e.value}}r.d(t,{BE:()=>n,Do:()=>o,UG:()=>a,bA:()=>i})},60341:(e,t,r)=>{r.d(t,{_:()=>d});var n=r(37768),a=r(82007),i=r(85959),o=r.n(i),s=r(28464),l=r(90903);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function d({severity:e,title:t,message:r,error:i,errorContext:d,children:p}){let m;return i&&(m=(0,s.U)(i,(0,n.t)("inline-banner.unknown-error","Unknown error!")),l.v.error(m,u(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){c(e,t,r[t])})}return e}({},m.cause||{},d),{bannerTitle:t}))),o().createElement(a.Alert,{title:t,severity:e},m&&o().createElement(o().Fragment,null,function(e){const t=e.message||e.toString(),r=[];return e.statusText&&r.push(e.statusText),e.status&&r.push(`HTTP ${e.status}`),r.length?`${t} (${r.join(" - ")})`:t}(m),o().createElement("br",null)),r,p)}},61641:(e,t,r)=>{r.d(t,{G:()=>m,O:()=>b});var n=r(46089),a=r(87781),i=r(37768),o=r(28904),s=r(82007),l=r(85959),c=r.n(l),u=r(22590),d=r(15425),p=r(55490);const m="labelsWingman";class b extends o.QueryVariable{onActivate(){this.subscribeToState((e,t)=>{if(e.query!==t.query&&(this.setState({staticOptions:[{value:e.value,label:e.value}]}),this.refreshOptions()),e.options!==t.options){const{value:t}=this.state;e.options.some(e=>e.value===t)&&this.setState({staticOptions:[],options:e.options.sort((e,t)=>(0,u._)(e.label,t.label))})}}),this._subs.add(o.sceneGraph.findByKeyAndType(this,d.EY,o.DataSourceVariable).subscribeToState((e,t)=>{e.value!==t.value&&(this.setState({value:p.c}),this.refreshOptions())})),this._subs.add(o.sceneGraph.findByKeyAndType(this,d.Ao,o.AdHocFiltersVariable).subscribeToState((e,t)=>{e.filterExpression!==t.filterExpression&&this.updateQuery()})),this.updateQuery()}updateQuery(){const e=o.sceneGraph.interpolate(this,d.ui,{});this.setState({query:`{__name__=~".+",${e}}`})}constructor(){super({key:m,name:m,label:(0,i.t)("labels-variable.label","Group by label"),placeholder:(0,i.t)("labels-variable.placeholder","Group by label..."),datasource:{uid:p.J.uid},query:"",includeAll:!1,isMulti:!1,allowCustomValue:!1,refresh:a.VariableRefresh.onTimeRangeChanged,hide:a.VariableHide.hideVariable}),this.addActivationHandler(this.onActivate.bind(this))}}var h,f,g;g=({model:e})=>{const t=(0,s.useStyles2)(y),{label:r}=e.useState();return c().createElement("div",{className:t.container},c().createElement(s.Label,{className:t.label},r),c().createElement(o.QueryVariable.Component,{model:e}))},(f="Component")in(h=b)?Object.defineProperty(h,f,{value:g,enumerable:!0,configurable:!0,writable:!0}):h[f]=g;const y=e=>({container:n.css`
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0;
|
|
|
|
[class*='input-wrapper'] {
|
|
width: 240px;
|
|
}
|
|
`,label:n.css`
|
|
height: 32px;
|
|
white-space: nowrap;
|
|
margin: 0;
|
|
background-color: ${e.colors.background.primary};
|
|
padding: ${e.spacing(1)};
|
|
border-radius: ${e.shape.radius.default};
|
|
border: 1px solid ${e.colors.border.weak};
|
|
border-right: none;
|
|
`})},62159:(e,t,r)=>{r.d(t,{U:()=>d,p:()=>u});var n=r(37768),a=r(28904),i=r(82007),o=r(85959),s=r.n(o),l=r(87073);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var u=function(e){return e.GRID="grid",e.ROWS="rows",e.SINGLE="single",e}({});class d extends a.SceneObjectBase{getUrlState(){return{[this.state.urlSearchParamName]:this.state.layout}}updateFromUrl(e){const t={},r=e[this.state.urlSearchParamName];r!==this.state.layout&&(t.layout=this.state.options.find(e=>e.value===r)?r:d.DEFAULT_LAYOUT),this.setState(t)}constructor({urlSearchParamName:e,options:t}){super({key:"layout-switcher",urlSearchParamName:e||"layout",options:t||d.DEFAULT_OPTIONS,layout:d.DEFAULT_LAYOUT}),c(this,"_urlSync",new a.SceneObjectUrlSyncConfig(this,{keys:[this.state.urlSearchParamName]})),c(this,"onChange",e=>{(0,l.z)("layout_changed",{layout:e}),this.setState({layout:e})})}}c(d,"DEFAULT_OPTIONS",[{label:(0,n.t)("layout-switcher.option.grid","Grid"),value:"grid"},{label:(0,n.t)("layout-switcher.option.rows","Rows"),value:"rows"}]),c(d,"DEFAULT_LAYOUT","grid"),c(d,"Component",({model:e})=>{const{layout:t,options:r}=e.useState();return s().createElement(i.RadioButtonGroup,{"aria-label":(0,n.t)("layout-switcher.aria-label","Layout switcher"),options:r,value:t,onChange:e.onChange,fullWidth:!1})})},62227:(e,t,r)=>{r.d(t,{F:()=>p});var n=r(46089),a=r(28904),i=r(82007),o=r(85959),s=r.n(o),l=r(26875),c=r(81311),u=r(78731);function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class p extends a.SceneObjectBase{constructor({metric:e,disabled:t}){var r;const n=c.x.getItem(l.V.METRIC_PREFS)||{};super({metric:e,disabled:void 0!==t&&t,isAlreadyConfigured:Boolean(null===(r=n[e.name])||void 0===r?void 0:r.config)}),d(this,"onClick",()=>{this.publishEvent(new u.H({metric:this.state.metric}),!0)})}}d(p,"Component",({model:e})=>{const t=(0,i.useStyles2)(m),{isAlreadyConfigured:r,disabled:a}=e.useState(),o=r?"Reconfigure Prometheus function":"Configure Prometheus function";return s().createElement(i.Button,{className:(0,n.cx)(t.selectButton,r&&t.active),"aria-label":o,variant:"secondary",size:"sm",fill:"text",onClick:e.onClick,icon:"cog",tooltip:o,tooltipPlacement:"top",disabled:a,"data-testid":"configure-panel"})});const m=e=>({selectButton:n.css`
|
|
padding: 0;
|
|
`,active:n.css`
|
|
color: ${e.colors.text.maxContrast};
|
|
`})},62353:(e,t,r)=>{r.d(t,{i:()=>n});const n={TIMESERIES_AVG:"timeseries-avg",TIMESERIES_SUM:"timeseries-sum",TIMESERIES_STDDEV:"timeseries-stddev",TIMESERIES_PERCENTILES:"timeseries-percentiles",TIMESERIES_MIN_MAX:"timeseries-minmax",TIMESERIES_COUNT:"timeseries-count",TIMESERIES_AGE_TIME_MINUS_AVG:"timeseries-age-time-minus-avg",TIMESERIES_AGE_TIME_MINUS_MIN_MAX:"timeseries-age-time-minus-min-max",HISTOGRAM_HEATMAP:"histogram-heatmap",HISTOGRAM_PERCENTILES:"histogram-percentiles",STATUS_UPDOWN_HISTORY:"status-updown-history",STATUS_UPDOWN_STAT:"status-updown-stat"}},62494:(e,t,r)=>{r.d(t,{S:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="sort-by-changed",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},62935:(e,t,r)=>{r.d(t,{I:()=>y});var n=r(46089),a=r(37768),i=r(28904),o=r(82007),s=r(93241),l=r(85959),c=r.n(l),u=r(42624),d=r(15425),p=r(87073);var m=r(71415),b=r(55835),h=r(57014);function f(e,t){if(!t.trim())return;const r=[],n=i.sceneGraph.findByKey(e,d.EY);var o;const s=null!==(o=null==n?void 0:n.state.value)&&void 0!==o?o:"";s&&r.push((0,b.createAssistantContextItem)("datasource",{datasourceUid:s}));const l=i.sceneGraph.lookupVariable(d.Ao,e);(0,h.BE)(l)&&l.state.filters.length>0&&r.push((0,b.createAssistantContextItem)("structured",{title:(0,a.t)("quick-search-assistant.label-filters-title","Current label filters"),data:{filters:l.state.filters.map(e=>({key:e.key,operator:e.operator,value:e.value}))}}));const c=i.sceneGraph.getTimeRange(e).state;r.push((0,b.createAssistantContextItem)("structured",{title:(0,a.t)("quick-search-assistant.time-range-title","Time range"),data:{from:c.from,to:c.to}})),(0,p.z)("quick_search_assistant_question_asked",{question:t}),(0,b.openAssistant)({origin:"grafana-metricsdrilldown-app/quick-search",prompt:t,context:r})}function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class y extends i.SceneObjectBase{getUrlState(){return{[this.state.urlSearchParamName]:this.state.value}}updateFromUrl(e){const t=e[this.state.urlSearchParamName]||"";t!==this.state.value&&this.setState({value:t})}onActivate(){(0,u.gs)("drilldown.metrics.grafana_assistant_quick_search_tab_test").then(e=>{"treatment"!==e&&"control"!==e&&"excluded"!==e||this.setState({assistantTabExperimentVariant:e})})}toggleCountsDisplay(e){this.setState({displayCounts:e})}updateValue(e){""===this.state.value&&""!==e&&!this.state.isQuestionMode&&(0,p.z)("quick_search_used",{}),this.setState({value:e}),this.state.isQuestionMode||this.notifyValueChange(e)}useHumanFriendlyCountsMessage(){const{targetName:e,countsProvider:t,displayCounts:r}=this.state,n=t.useCounts();return r?n.current===n.total?{tagName:`${n.current}`,tooltipContent:1!==n.current?(0,a.t)("quick-search.count-total-plural","{{count}} {{targetName}}s in total",{count:n.current,targetName:e}):(0,a.t)("quick-search.count-total-singular","1 {{targetName}} in total",{targetName:e})}:{tagName:`${n.current}/${n.total}`,tooltipContent:1!==n.current?(0,a.t)("quick-search.count-filtered-plural","{{current}} out of {{total}} {{targetName}}s in total",{current:n.current,total:n.total,targetName:e}):(0,a.t)("quick-search.count-filtered-singular","1 out of {{total}} {{targetName}}s in total",{total:n.total,targetName:e})}:{tagName:"",tooltipContent:""}}constructor({urlSearchParamName:e,targetName:t,countsProvider:r,displayCounts:n}){super({key:"quick-search",urlSearchParamName:e,targetName:t,countsProvider:r,displayCounts:Boolean(n),value:"",isQuestionMode:!1,assistantTabExperimentVariant:"excluded"}),g(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[d.EY],onReferencedVariableValueChanged:()=>{this.setState({value:"",isQuestionMode:!1})}})),g(this,"_urlSync",new i.SceneObjectUrlSyncConfig(this,{keys:[this.state.urlSearchParamName]})),g(this,"notifyValueChange",(0,s.debounce)(e=>{this.publishEvent(new m.W({searchText:e}),!0)},250)),g(this,"onChange",e=>{const t=e.currentTarget.value;this.updateValue(t)}),g(this,"clear",()=>{this.resetToQuickSearch()}),g(this,"resetToQuickSearch",()=>{this.setState({isQuestionMode:!1}),this.updateValue("")}),g(this,"onKeyDown",e=>{"Escape"===e.key&&(e.preventDefault(),this.clear()),"Enter"===e.key&&this.state.isQuestionMode&&this.state.value.trim()&&(e.preventDefault(),f(this,this.state.value),this.resetToQuickSearch())}),this.addActivationHandler(this.onActivate.bind(this))}}g(y,"Component",({model:e})=>{const t=(0,o.useStyles2)(v),{targetName:r,value:n,countsProvider:i,isQuestionMode:s,assistantTabExperimentVariant:u}=e.useState(),{tagName:d,tooltipContent:m}=e.useHumanFriendlyCountsMessage(),h=function(){const[e,t]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{const e=(0,b.isAssistantAvailable)().subscribe(e=>{t(e)});return()=>e.unsubscribe()},[]),e}(),g=c().useRef(null),y="treatment"===u,S=h&&(y||s),w=function(e){const{targetName:t,isQuestionMode:r,isAssistantAvailable:n,assistantHintType:i}=e;return n?r?(0,a.t)("quick-search.placeholder-question-mode","Ask the Grafana Assistant a question and press enter"):"question_mark"===i?(0,a.t)("quick-search.placeholder-with-assistant","Quick search {{targetName}}s or type ? to ask the Grafana Assistant",{targetName:t}):"tab_enter"===i?(0,a.t)("quick-search.placeholder-with-assistant-tab-enter","Quick search {{targetName}}s or press tab then enter to ask the Grafana Assistant",{targetName:t}):(0,a.t)("quick-search.placeholder","Quick search {{targetName}}s",{targetName:t}):(0,a.t)("quick-search.placeholder","Quick search {{targetName}}s",{targetName:t})}({targetName:r,isQuestionMode:s,isAssistantAvailable:h,assistantHintType:y?"tab_enter":"question_mark"});return c().createElement(o.Input,{ref:g,value:n,onChange:t=>{if("?"===t.currentTarget.value&&""===n&&!s&&!y&&h)return(0,p.z)("quick_search_assistant_mode_entered",{from:"question_mark"}),void e.setState({isQuestionMode:!0});e.onChange(t)},onKeyDown:e.onKeyDown,placeholder:w,prefix:c().createElement("i",{className:"fa fa-search"}),suffix:c().createElement(c().Fragment,null,S&&c().createElement(o.IconButton,{name:"ai-sparkle",variant:"primary",tooltip:(0,a.t)("quick-search.ask-assistant-tooltip","Ask the Grafana Assistant"),"aria-label":(0,a.t)("quick-search.ask-assistant-aria-label","Ask the Grafana Assistant"),onClick:()=>{var t,r;if(!s)return(0,p.z)("quick_search_assistant_mode_entered",{from:"button"}),e.setState({isQuestionMode:!0}),void(null===(t=g.current)||void 0===t||t.focus());n.trim()?(f(e,n),e.resetToQuickSearch()):null===(r=g.current)||void 0===r||r.focus()}}),c().createElement(i.Component,{model:i}),!s&&d&&c().createElement(o.Tooltip,{content:m,placement:"top"},c().createElement(o.Tag,{className:t.counts,name:d,colorIndex:9})),c().createElement(o.IconButton,{name:"times",variant:"secondary",tooltip:(0,a.t)("quick-search.clear-search-tooltip","Clear search"),onClick:e.clear,disabled:!n&&!s}))})});const v=e=>({counts:n.css`
|
|
margin-right: ${e.spacing(1)};
|
|
border-radius: 11px;
|
|
padding: 2px ${e.spacing(1)};
|
|
color: ${e.colors.text.primary};
|
|
background-color: ${e.colors.background.secondary};
|
|
`})},63213:(e,t,r)=>{function n(e,t){return(null==t?void 0:t.state.embedded)||e.isLight?e.colors.background.primary:e.colors.background.canvas}function a(e){return`\n position: relative;\n cursor: pointer;\n &:hover {\n background: ${e.colors.background.secondary};\n }\n /* Invisible overlay covering entire panel - z-index ensures it's above panel content */\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n cursor: inherit;\n z-index: 1;\n }\n `}r.d(t,{T:()=>n,v:()=>a})},63282:(e,t,r)=>{r.d(t,{R:()=>W});var n=r(46089),a=r(18531),i=r(28904),o=r(64774),s=r(82007),l=r(85959),c=r.n(l),u=r(15425),d=r(19967),p=r(15681),m=r(38664),b=r(11082),h=r(87781);var f=r(69989),g=r(37846),y=r(57014);function v(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function S(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){v(i,n,a,o,s,"next",e)}function s(e){v(i,n,a,o,s,"throw",e)}o(void 0)})}}const w={job:"service_name",instance:"service_instance_id"};function O(e){return e in w?w[e]:e}const E=e=>{let t=!1;return{name:"labelsCrossReference",checkConditionsMetForRelatedLogs:()=>t,getDataSources:()=>S(function*(){var r;const n=(0,f.kj)(e),o=i.sceneGraph.lookupVariable(u.Ao,n);if(!(0,y.BE)(o)||!o.state.filters.length)return t=!1,[];t=!0;const s=o.state.filters.map(({key:e,operator:t,value:r})=>({key:e,operator:t,value:r})),l=null===(r=e.state.$timeRange)||void 0===r?void 0:r.state.value,c=yield(0,g.tS)().getHealthyDataSources("loki"),d=yield Promise.all(c.map(({uid:e,name:t})=>S(function*(){const r=yield function(e,t,r){return S(function*(){var n;const i=yield(0,a.getDataSourceSrv)().get(e),o=yield null===(n=i.getTagKeys)||void 0===n?void 0:n.call(i,{timeRange:r,filters:t.map(({key:e,operator:t,value:r})=>({key:O(e),operator:t,value:r}))});if(!Array.isArray(o))return!1;const s=new Set(o.map(e=>e.text));return!!t.map(e=>O(e.key)).every(e=>s.has(e))&&(yield Promise.all(t.map(e=>S(function*(){var n;const a=O(e.key),o=yield null===(n=i.getTagValues)||void 0===n?void 0:n.call(i,{key:a,timeRange:r,filters:t});return!!Array.isArray(o)&&o.some(t=>t.text===e.value)})()))).every(Boolean)})()}(e,s,l);return r?{uid:e,name:t}:null})()));return d.filter(e=>null!==e)})(),getLokiQueryExpr(){const t=(0,f.kj)(e),r=i.sceneGraph.lookupVariable(u.Ao,t);if(!(0,y.BE)(r)||!r.state.filters.length)return"";return`{${r.state.filters.map(e=>`${O(e.key)}${e.operator}"${e.value}"`).join(",")}}`}}};var x=r(24626),k=r(31269),C=r(90903);function P(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function j(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){P(i,n,a,o,s,"next",e)}function s(e){P(i,n,a,o,s,"throw",e)}o(void 0)})}}function _(e,t,r){if(!t||!r[t])return"";const n=r[t].find(t=>t.name===e);if(!n)return"";return function(e){if(function(e){if(e.trim().length<=2)return!1;let t=!1;const r=x.K3.parse(e);return r.iterate({enter:({type:e})=>{if(e.id===x.Yw)return t=!0,!1}}),!t}(e))return e;const t=A(e,x.MD);if(!t)return"";const r=e.substring(t.from,t.to),n=A(e,x.AL),a=n?e.substring(n.from,n.to):"";return`${r} ${a}`.trim()}(n.query)}function T(){return j(function*(){const e=yield(0,g.tS)().getHealthyDataSources("loki"),t={};return yield Promise.all(e.map(e=>j(function*(){try{const n=function(e,t){if(0===e.length)return[];const r=new Map;return e.forEach(e=>{e.rules.filter(e=>"recording"===e.type).forEach(({type:e,name:n,query:a})=>{if(r.has(n)){const e=r.get(n);e&&(e.hasMultipleOccurrences=!0,r.set(n,e))}else r.set(n,{type:e,name:n,query:a,datasource:{name:t.name,uid:t.uid},hasMultipleOccurrences:!1})})}),Array.from(r.values())}(yield(r=e,j(function*(){const e={url:`api/prometheus/${r.uid}/api/v1/rules`,showErrorAlert:!1,showSuccessAlert:!1},t=yield(0,k.lastValueFrom)((0,a.getBackendSrv)().fetch(e));return t.ok?t.data.data.groups:(C.v.warn(`Failed to fetch recording rules from Loki data source: ${r.name}`),[])})()),e);t[e.uid]=n}catch(e){C.v.warn(e)}var r})())),t})()}const I=()=>{let e={},t=!1;return{name:"lokiRecordingRules",checkConditionsMetForRelatedLogs:()=>t,getDataSources:r=>j(function*(){e=yield T();const n=function(e,t){const r=[];return Object.values(t).forEach(t=>{t.filter(t=>t.name===e).forEach(e=>{r.push(e.datasource)})}),r}(r,e);return t=Boolean(n.length),n})(),getLokiQueryExpr:(t,r)=>_(t,r,e)}};function A(e,t){let r;return x.K3.parse(e).iterate({enter:e=>{if(e.type.id===t)return r=e.node,!1}}),r}var D=r(62533);function N(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function B(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class M{get lokiDataSources(){return this._internalState.lokiDataSources}set lokiDataSources(e){const t=this._internalState.lokiDataSources.map(e=>e.uid).join(","),r=e.map(e=>e.uid).join(",");t&&t===r||(this._internalState.lokiDataSources=e,this._changeHandlers.lokiDataSources.forEach(e=>e(this._internalState.lokiDataSources)))}set relatedLogsCount(e){this._internalState.relatedLogsCount=e,this._changeHandlers.relatedLogsCount.forEach(e=>e(this._internalState.relatedLogsCount))}addLokiDataSourcesChangeHandler(e){this._changeHandlers.lokiDataSources.push(e)}addRelatedLogsCountChangeHandler(e){this._changeHandlers.relatedLogsCount.push(e)}handleFiltersChange(){this.lokiDataSources&&(this.lokiDataSources=[],this.relatedLogsCount=0,this.findAndCheckAllDatasources())}findAndCheckAllDatasources(){return(e=function*(){const e=(yield this._dataSourceFetcher.getHealthyDataSources("loki")).slice(0,5);e.length>0?this.checkLogsInDataSources(e):(this.lokiDataSources=[],this.relatedLogsCount=0)},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){N(i,n,a,o,s,"next",e)}function s(e){N(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var e}getLokiQueries(e,t=100){const{metric:r}=this._metricScene.state,n=this._logsConnectors.reduce((t,n,a)=>{const i=n.getLokiQueryExpr(r,e);var o;i&&(t[null!==(o=n.name)&&void 0!==o?o:`connector-${a}`]=i);return t},{});return Object.keys(n).map(e=>({refId:`RelatedLogs-${e}`,expr:n[e],maxLines:t,supportingQueryType:D.id}))}checkLogsInDataSources(e){const t=[];let r=0,n=0;if(0===e.length)return this.lokiDataSources=[],void(this.relatedLogsCount=0);e.forEach(a=>{const o=new i.SceneQueryRunner({datasource:{uid:a.uid},queries:this.getLokiQueries(a.uid),key:`related_logs_check_${a.uid}`,$timeRange:this._metricScene.state.$timeRange});o.subscribeToState(i=>{var o;if((null===(o=i.data)||void 0===o?void 0:o.state)===h.LoadingState.Done){var s;if(n++,null===(s=i.data)||void 0===s?void 0:s.series){const e=this.countLogsLines(i);e>0&&(t.push(a),r+=e)}n===e.length&&(this.lokiDataSources=t,this.relatedLogsCount=r)}}),o.activate()})}checkConditionsMetForRelatedLogs(){return this._logsConnectors.some(e=>e.checkConditionsMetForRelatedLogs())}countLogsLines(e){var t,r;return null!==(r=null===(t=e.data)||void 0===t?void 0:t.series.reduce((e,t)=>e+t.length,0))&&void 0!==r?r:0}constructor(e){B(this,"_logsConnectors",void 0),B(this,"_metricScene",void 0),B(this,"_dataSourceFetcher",(0,g.tS)()),B(this,"_changeHandlers",{lokiDataSources:[],relatedLogsCount:[]}),B(this,"_internalState",{relatedLogsCount:0,lokiDataSources:[]}),this._metricScene=e,this._logsConnectors=[I(),E(e)]}}var L=r(37768);function R(){const e=(0,s.useStyles2)(V);return c().createElement(s.Stack,{direction:"column",gap:2},c().createElement(s.Alert,{title:(0,L.t)("related-logs.no-logs-title","No related logs found"),severity:"info"},(0,L.t)("related-logs.no-logs-message","We couldn't find any logs related to the current metric with your selected filters.")),c().createElement(s.Text,null,c().createElement(L.x6,{i18nKey:"related-logs.suggestions"},"To find related logs, try the following:",c().createElement("ul",{className:e.list},c().createElement("li",null,"Adjust your label filters to include labels that exist in both the current metric and your logs"),c().createElement("li",null,"Select a metric created by a"," ",c().createElement(s.TextLink,{external:!0,href:"https://grafana.com/docs/loki/latest/alert/#recording-rules"},"Loki Recording Rule")),c().createElement("li",null,"Broaden the time range to include more data")))),c().createElement(s.Text,{variant:"bodySmall",color:"secondary"},(0,L.t)("related-logs.experimental-note","Note: Related logs is an experimental feature.")))}function V(e){return{list:(0,n.css)({paddingLeft:e.spacing(2),marginTop:e.spacing(1)})}}var $=r(87073);function F({context:e}){const t=(0,l.useMemo)(()=>e,[e]),{links:r,isLoading:n}=(0,a.usePluginLinks)({extensionPointId:"grafana-metricsdrilldown-app/open-in-logs-drilldown/v1",limitPerPlugin:1,context:t}),i=(0,l.useMemo)(()=>r.find(({pluginId:e})=>"grafana-lokiexplore-app"===e),[r]);if(n)return c().createElement(s.LinkButton,{variant:"secondary",size:"sm",disabled:!0},(0,L.t)("related-logs.loading","Loading..."));const o=void 0!==i;return c().createElement(s.LinkButton,{href:o?`${a.config.appSubUrl}${i.path}`:`${a.config.appSubUrl}/a/grafana-lokiexplore-app`,target:"_blank",tooltip:o?(0,L.t)("related-logs.open-in-drilldown-tooltip","Use the Logs Drilldown app to explore these logs"):(0,L.t)("related-logs.open-drilldown-tooltip","Navigate to the Logs Drilldown app"),variant:"secondary",size:"sm",onClick:()=>(0,$.z)("related_logs_action_clicked",{action:"open_logs_drilldown"})},o?(0,L.t)("related-logs.open-in-drilldown","Open in Logs Drilldown"):(0,L.t)("related-logs.open-drilldown","Open Logs Drilldown"))}var q=r(15107);function G(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class U extends i.SceneObjectBase{_onActivate(){return(e=function*(){this.state.orchestrator.addLokiDataSourcesChangeHandler(()=>this.setupLogsPanel()),this.state.orchestrator.lokiDataSources.length?this.setupLogsPanel():(this.setState({loading:!0}),yield this.state.orchestrator.findAndCheckAllDatasources(),this.setState({loading:!1})),(0,q.$)(this,m.x3.relatedLogs)},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){G(i,n,a,o,s,"next",e)}function s(e){G(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var e}showNoLogsFound(){this.setState({body:new i.SceneReactObject({component:R}),controls:void 0}),this.state.orchestrator.relatedLogsCount=0}_buildQueryRunner(){this._queryRunner=new i.SceneQueryRunner({datasource:{uid:u.Kf},queries:[],key:"related_logs/logs_query"}),this._constructLogsDrilldownLinkContext(this._queryRunner.state),this._subs.add(this._queryRunner.subscribeToState(e=>{var t;if((null===(t=e.data)||void 0===t?void 0:t.state)!==h.LoadingState.Done)return;0===this.state.orchestrator.countLogsLines(e)&&this.showNoLogsFound(),this._constructLogsDrilldownLinkContext(e)}))}setupLogsPanel(){if(this._buildQueryRunner(),!this.state.orchestrator.lokiDataSources.length)return void this.showNoLogsFound();this.setState({body:i.PanelBuilders.logs().setTitle("Logs").setOption("showLogContextToggle",!0).setOption("showTime",!0).setOption("showControls",!0).setOption("controlsStorageKey","grafana.explore.logs").setData(this._queryRunner).build()});const e=new i.CustomVariable({name:u.Az,label:(0,L.t)("related-logs.datasource-label","Logs data source"),query:this.state.orchestrator.lokiDataSources.map(e=>`${e.name} : ${e.uid}`).join(","),description:(0,L.t)("related-logs.datasource-description","Some Loki data sources might be missing from the dropdown if they took longer than {{timeout}} seconds to respond. To view logs for all Loki data sources, try using Logs Drilldown.",{timeout:g.UO})});this.setState({$variables:new i.SceneVariableSet({variables:[e]}),controls:[new i.VariableValueSelectors({layout:"vertical"})]}),this._subs.add(e.subscribeToState((e,t)=>{e.value!==t.value&&(0,$.z)("related_logs_action_clicked",{action:"logs_data_source_changed"})})),this.updateLokiQuery()}_constructLogsDrilldownLinkContext(e){var t,r;const n=null!==(r=null===(t=i.sceneGraph.lookupVariable(u.Az,this))||void 0===t?void 0:t.getValue())&&void 0!==r?r:"",a=e.queries,o=[];n&&a.length&&a.forEach(e=>{o.push(H(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){z(e,t,r[t])})}return e}({},e),{datasource:{uid:n,type:"loki"}}))}),this.setState({logsDrilldownLinkContext:{targets:o,timeRange:i.sceneGraph.getTimeRange(this).state}})}updateLokiQuery(){if(!this._queryRunner)return;const e=i.sceneGraph.lookupVariable(u.Az,this);let t;if((0,y.UG)(e)&&(t=e.getValue()),!t)return;const r=this.state.orchestrator.getLokiQueries(t);0!==r.length?this._queryRunner.setState({queries:r}):this.showNoLogsFound()}constructor(e){super({loading:!1,controls:[],body:new i.SceneReactObject({component:()=>c().createElement(s.Spinner,null)}),orchestrator:e.orchestrator,logsDrilldownLinkContext:{targets:[]}}),z(this,"_queryRunner",void 0),z(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[u.Az,u.Ao],onReferencedVariableValueChanged:e=>{e.state.name===u.Ao?this.state.orchestrator.handleFiltersChange():e.state.name===u.Az&&this.updateLokiQuery()}})),this.addActivationHandler(()=>{this._onActivate()})}}function K(){return{bodyContainer:(0,n.css)({flexGrow:1,minHeight:500,position:"relative"}),bodyContent:(0,n.css)({position:"absolute",top:0,left:0,right:0,bottom:0})}}function Q(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}z(U,"Component",({model:e})=>{const{controls:t,body:r,logsDrilldownLinkContext:n,loading:a}=e.useState(),i=(0,s.useStyles2)(K);return a?c().createElement(s.Spinner,null):c().createElement(s.Stack,{gap:1,direction:"column",grow:1,height:"100%"},c().createElement(s.Stack,{gap:1,direction:"row",justifyContent:"space-between",alignItems:"start"},c().createElement(s.Stack,{gap:1},null==t?void 0:t.map(e=>c().createElement(e.Component,{key:e.state.key,model:e}))),c().createElement(F,{context:n})),c().createElement("div",{className:i.bodyContainer},c().createElement("div",{className:i.bodyContent},c().createElement(r.Component,{model:r}))))});class W extends i.SceneObjectBase{_onActivate(){void 0===this.state.actionView&&this.setActionView(m.nh),this.relatedLogsOrchestrator.addRelatedLogsCountChangeHandler(e=>{this.setState({relatedLogsCount:e})}),this.subscribeToEvents()}subscribeToEvents(){a.config.featureToggles.enableScopesInMetricsExplore&&this.subscribeToEvent(u.H0,e=>{var t;null===(t=this.state.body.state.selectedTab)||void 0===t||t.publishEvent(e)}),this.subscribeToEvent(p.N,e=>{(0,m.Rs)().filter(t=>t.value!==e.payload.currentActionView).forEach(({backgroundTask:e,value:t})=>{this.backgroundTaskHasRun[t]||(e(this),this.backgroundTaskHasRun[t]=!0)})})}getUrlState(){return{actionView:this.state.actionView}}updateFromUrl(e){if("string"==typeof e.actionView){if(this.state.actionView!==e.actionView){const t=(0,m.Rs)().find(t=>t.value===e.actionView);t&&this.setActionView(t.value)}}else null===e.actionView&&this.setActionView(null)}setActionView(e){const{body:t}=this.state,r=e?(0,m.Rs)().find(t=>t.value===e):null;r&&r.value!==this.state.actionView?(t.setState({selectedTab:r.getScene(this)}),this.setState({actionView:r.value})):(t.setState({selectedTab:void 0}),this.setState({actionView:void 0}))}getActionViewName(){var e,t;return this.state.actionView&&null!==(t=null===(e=(0,m.Rs)().find(e=>e.value===this.state.actionView))||void 0===e?void 0:e.displayName)&&void 0!==t?t:""}createRelatedLogsScene(){return new U({orchestrator:this.relatedLogsOrchestrator})}constructor(e){var t,r,n;super(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){Q(e,t,r[t])})}return e}({$variables:null!==(t=e.$variables)&&void 0!==t?t:(n=e.metric,new i.SceneVariableSet({variables:[new i.ConstantVariable({name:u.PU,value:n,hide:o.zL.hideVariable}),new d.Z]})),body:null!==(r=e.body)&&void 0!==r?r:new b.j({metric:e.metric})},e)),Q(this,"relatedLogsOrchestrator",new M(this)),Q(this,"_urlSync",new i.SceneObjectUrlSyncConfig(this,{keys:["actionView"]})),Q(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[u.Ao],onReferencedVariableValueChanged:()=>{this.relatedLogsOrchestrator.handleFiltersChange()}})),Q(this,"backgroundTaskHasRun",{[m.x3.breakdown]:!1,[m.x3.related]:!1,[m.x3.relatedLogs]:!1}),this.addActivationHandler(this._onActivate.bind(this))}}Q(W,"Component",({model:e})=>{const{body:t}=e.useState(),r=(0,s.useStyles2)(Y);return c().createElement("div",{className:r.container,"data-testid":"metric-scene"},c().createElement(t.Component,{model:t}))});const Y=()=>({container:(0,n.css)({position:"relative",height:"100%",width:"100%",display:"flex",flexDirection:"column"})})},63386:(e,t,r)=>{r.d(t,{z:()=>ue,G:()=>le});var n=r(46089),a=r(87781),i=r(37768),o=r(28904),s=r(82007),l=r(85959),c=r.n(l),u=r(55490),d=r(61641),p=r(43659),m=r(22590);function b(e){const t=new Map;for(const n of e){const e=n.value.split(/[^a-z0-9]/i),a=e.length<=1?n.value:e[e.length-1];var r;const i=null!==(r=t.get(a))&&void 0!==r?r:[];i.push(n.value),t.set(a||"<none>",i)}const n=new Map;for(const[e,r]of t)n.set(e,r.length);return Array.from(n.entries()).sort((e,t)=>e[1]!==t[1]?t[1]-e[1]:(0,m._)(e[0],t[0])).map(([e,t])=>({value:e,count:t,label:e}))}var h=r(11223);function f(e){return/^\w*:.*?(?::\w+)?$/.test(e)}function g(e){const t=new Map([["metrics",[]],["rules",[]]]);for(const n of e){const{value:e}=n,a=f(e)?"rules":"metrics";var r;const i=null!==(r=t.get(a))&&void 0!==r?r:[];i.push(e),t.set(a,i)}return[{value:"^(?!.*:.*)",label:h.b.metrics,count:t.get("metrics").length},{value:":",label:h.b.rules,count:t.get("rules").length}]}var y=r(42624),v=r(15425),S=r(26875),w=r(81311),O=r(69989),E=r(57014),x=r(73787),k=r(65222),C=r(65191);function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){P(e,t,r[t])})}return e}function _(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const T=(e,t,r)=>e.length+2+t.length>r?t.substring(0,r-e.length-5)+"...":t;function I(e){const t=(0,s.useStyles2)(A),{onSelect:r,onDelete:n,bookmark:o}=e,{createdAt:l,urlValues:u}=o,d=u.metric||"?",p=(e=>{const t=e[`var-${v.Ao}`];return t.length?t.map(e=>e.split("|")):[]})(u),m=T("",(0,O.aO)(d),27),b=`${e.compactHeight&&p.length>0?t.cardTall:""}`,h=`${t.card} ${e.wide?t.cardWide:""} ${b}`;return c().createElement("article",{"data-testid":`data-trail-card ${d}`},c().createElement(s.Card,{onClick:r,className:h},c().createElement(s.Card.Heading,null,c().createElement("div",null,m)),c().createElement(s.Card.Meta,{className:t.meta},p.map(([e,r,n],a)=>c().createElement("div",{key:a,className:t.filter},c().createElement(s.Text,{variant:"bodySmall",color:"secondary"},e," ",r),c().createElement(s.Text,{variant:"bodySmall",color:"primary",weight:"medium"}," ",T(e,n,44))))),c().createElement("div",{className:t.deleteButton},c().createElement(s.Card.SecondaryActions,null,c().createElement(s.IconButton,{key:"delete",name:"trash-alt",className:t.secondary,tooltip:(0,i.t)("sidebar.bookmarks.remove-tooltip","Remove bookmark"),tooltipPlacement:"top",onClick:n})))),c().createElement("div",{className:t.date},c().createElement(s.Text,{variant:"bodySmall",color:"secondary"},(0,i.t)("sidebar.bookmarks.date-created","Date created:")," "),c().createElement(s.Text,{variant:"bodySmall",color:"primary",weight:"medium"},l>0&&(0,a.dateTimeFormat)(l,{format:"YYYY-MM-DD"}))))}function A(e){return{card:(0,n.css)({padding:`12px ${e.spacing(2)} ${e.spacing(1)} ${e.spacing(2)}`,alignItems:"start",marginBottom:0,borderTop:`1px solid ${e.colors.border.weak}`,borderRight:`1px solid ${e.colors.border.weak}`,borderLeft:`1px solid ${e.colors.border.weak}`,borderBottom:"none",borderRadius:"2px 2px 0 0"}),cardWide:(0,n.css)({width:"100%"}),cardTall:(0,n.css)({height:"110px"}),secondary:(0,n.css)({color:e.colors.text.secondary,fontSize:"12px"}),date:(0,n.css)({border:`1px solid ${e.colors.border.weak}`,borderRadius:"0 0 2px 2px",padding:`${e.spacing(1)} ${e.spacing(2)}`,backgroundColor:e.colors.background.primary}),meta:(0,n.css)({flexWrap:"wrap",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"36px",gridArea:"Meta",color:e.colors.text.secondary,whiteSpace:"nowrap"}),filter:(0,n.css)({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),deleteButton:(0,n.css)({position:"absolute",bottom:e.spacing(1.5),right:e.spacing(.5)})}}var D,N,B,M=r(87073),L=r(89047);class R extends o.SceneObjectBase{constructor({key:e,title:t,description:r,icon:n,disabled:a}){super({key:e,title:t,description:r,icon:n,disabled:null!=a&&a,active:!1})}}function V(e){return{bookmarksList:(0,n.css)({overflowY:"auto",paddingRight:e.spacing(1)}),emptyState:(0,n.css)({height:"100px"})}}B=({model:e})=>{const t=(0,s.useStyles2)(V),{title:r,description:n}=e.useState(),{bookmarks:a,gotoBookmark:u,removeBookmark:d}=function(e){const[t,r]=(0,l.useState)({}),n=(0,O.kj)(e);(0,l.useEffect)(()=>{const e=w.x.getItem(S.V.BOOKMARKS)||[],t={};for(const r of e){const e=(0,C.o)(r.urlValues);t[e]=_(j({},r),{key:e})}r(t)},[]);const{value:a}=o.sceneGraph.findByKeyAndType(n,v.EY,x.i).useState();return{bookmarks:(0,l.useMemo)(()=>Object.values(t).filter(e=>e.urlValues[`var-${v.EY}`]===a),[t,a]),addBookmark:()=>{const e={urlValues:o.sceneUtils.getUrlState(n),createdAt:Date.now()},a=Object.values(t).map(e=>_(j({},e),{key:void 0}));w.x.setItem(S.V.BOOKMARKS,[...a,e]);const i=(0,C.o)(e.urlValues);r(_(j({},t),{[i]:_(j({},e),{key:i})}))},removeBookmark:e=>{delete t[e];const n=Object.values(t).map(e=>_(j({},e),{key:void 0}));w.x.setItem(S.V.BOOKMARKS,n),r(j({},t))},gotoBookmark:e=>{const r=t[e];if(!r){const e=new Error("Bookmark not found!");return void(0,k.jx)(e,[e.toString()])}n.publishEvent(new v.OO({metric:r.urlValues.metric,urlValues:r.urlValues}),!0)}}}(e);return c().createElement(s.Stack,{direction:"column",gap:1,height:"100%"},c().createElement(L._,{title:r,description:n,"data-testid":"bookmarks-list-sidebar"}),a.length>0?c().createElement("div",{className:t.bookmarksList},c().createElement(s.Stack,{direction:"column",gap:1.5},a.map(e=>c().createElement(I,{key:e.key,bookmark:e,onSelect:()=>{return t=e.key,(0,M.z)("exploration_started",{cause:"bookmark_clicked"}),void u(t);var t},onDelete:()=>{return t=e.key,(0,M.z)("bookmark_changed",{action:"deleted"}),void d(t);var t},wide:!0,compactHeight:!0})))):c().createElement("div",{className:t.emptyState},c().createElement(s.Stack,{direction:"column",alignItems:"center"},c().createElement(s.Text,{color:"secondary",italic:!0},c().createElement(i.x6,{i18nKey:"sidebar.bookmarks.empty-state"},"No bookmarks yet for the",c().createElement("br",null),"current data source.")))))},(N="Component")in(D=R)?Object.defineProperty(D,N,{value:B,enumerable:!0,configurable:!0,writable:!0}):D[N]=B;var $=r(91826);function F({labels:e,selectedLabel:t,onSelectLabel:r,onClearSelection:n}){const a=(0,s.useStyles2)(q);return c().createElement(c().Fragment,null,c().createElement("div",{className:a.listHeader},c().createElement("div",{className:a.selected},t===u.c?(0,i.t)("labels-list.no-selection","No selection"):(0,i.t)("labels-list.selected",'Selected: "{{selectedLabel}}"',{selectedLabel:t})),c().createElement(s.Button,{variant:"secondary",fill:"text",onClick:n,disabled:t===u.c},(0,i.t)("labels-list.clear","clear"))),!e.length&&c().createElement("div",{className:a.noResults},(0,i.t)("labels-list.no-results","No results.")),e.length>0&&c().createElement("div",{className:a.list,"data-testid":"labels-list"},c().createElement(s.RadioButtonList,{name:"labels-list",options:e,onChange:r,value:t})))}function q(e){return{listHeader:(0,n.css)({display:"flex",justifyContent:"space-between",alignItems:"center",color:e.colors.text.secondary,margin:e.spacing(0),padding:e.spacing(0,0,0,1)}),selected:(0,n.css)({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),list:(0,n.css)({display:"flex",flex:1,flexDirection:"column",gap:0,overflowY:"auto",'& [role="radiogroup"]':{gap:0},"& label":{cursor:"pointer",padding:e.spacing(.5,1),"&:hover":{background:e.colors.background.secondary}},"& label div":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}),noResults:(0,n.css)({fontStyle:"italic",padding:e.spacing(0,1,1,1)})}}function G(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class z extends o.SceneObjectBase{selectLabel(e){o.sceneGraph.lookupVariable(this.state.variableName,this).changeValueTo(e);const t=Boolean(e&&e!==u.c);this.setState({active:t})}constructor({key:e,variableName:t,title:r,description:n,icon:a,disabled:i,active:s}){super({key:e,variableName:t,title:r,description:n,icon:a,disabled:null!=i&&i,active:null!=s&&s}),G(this,"onSelectLabel",e=>{(0,M.z)("sidebar_group_by_label_filter_applied",{label:e}),this.selectLabel(e)}),G(this,"onClearSelection",()=>{this.selectLabel(u.c)}),G(this,"useLabelsBrowser",()=>{const{variableName:e,title:t,description:r}=this.useState(),n=o.sceneGraph.lookupVariable(e,this),{loading:a,options:i,value:s}=n.useState(),[c,d]=(0,l.useState)("");return{title:t,description:r,loading:a,selectedLabel:s,labelsList:(0,l.useMemo)(()=>{const e=[e=>e!==u.c,e=>e.toLowerCase().includes(c.toLowerCase())];return i.filter(t=>e.every(e=>e(t.value)))},[i,c]),searchValue:c,onInputChange:e=>{d(e.currentTarget.value)},onInputKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),d(""))},onInputClear:()=>{d("")}}})}}function H(e){return{container:(0,n.css)({display:"flex",flexDirection:"column",gap:e.spacing(1),height:"100%",overflowY:"hidden"}),search:(0,n.css)({marginBottom:e.spacing(1),padding:e.spacing(0,.5)})}}G(z,"Component",({model:e})=>{const t=(0,s.useStyles2)(H),{title:r,description:n,loading:a,labelsList:o,selectedLabel:l,searchValue:u,onInputChange:d,onInputKeyDown:p,onInputClear:m}=e.useLabelsBrowser();return c().createElement("div",{className:t.container,"data-testid":"labels-browser"},c().createElement(L._,{title:r,description:n}),c().createElement(s.Input,{className:t.search,prefix:c().createElement(s.Icon,{name:"search"}),placeholder:(0,i.t)("sidebar.labels-browser.search-placeholder","Search..."),value:u,onChange:d,onKeyDown:p,suffix:c().createElement(s.IconButton,{name:"times",variant:"secondary",tooltip:(0,i.t)("sidebar.labels-browser.clear-search-tooltip","Clear search"),onClick:m})}),a&&c().createElement(s.Spinner,{inline:!0}),!a&&c().createElement(F,{labels:o,selectedLabel:l,onSelectLabel:e.onSelectLabel,onClearSelection:e.onClearSelection}))});var U=r(31468),K=r(25067),Q=r(65348);function W(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function Y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const X=["1m","3m","5m","15m","30m","1h","3h","6h","12h","24h"];const Z=[{value:"all",label:"All time"},...X.map(e=>({value:e,label:`Past ${e}`}))];class J extends o.SceneObjectBase{getUrlState(){const e="all"===this.state.currentInterval?"":this.state.currentInterval;return{[this.state.key]:e}}updateFromUrl(e){const t=e[this.state.key]||"all";t!==this.state.currentInterval&&Z.some(e=>e.value===t)&&this.setState({currentInterval:t})}onActivate(){this.subscribeToState((e,t)=>{return(r=function*(){e.currentInterval!==t.currentInterval&&(this.setState({active:Boolean("all"!==e.currentInterval)}),this.publishEvent(new $.B({key:this.state.key,values:"all"!==e.currentInterval?[e.currentInterval]:[]}),!0))},function(){var e=this,t=arguments;return new Promise(function(n,a){var i=r.apply(e,t);function o(e){W(i,n,a,o,s,"next",e)}function s(e){W(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var r})}update(e){this.setState({currentInterval:e});const t=[...o.sceneGraph.findAllObjects(o.sceneGraph.getAncestor(this,Q.m),e=>e instanceof K.s),o.sceneGraph.findByKeyAndType(this,K.$,K.s)];"all"===e?t.forEach(e=>e.fetchAllMetrics()):t.forEach(t=>t.fetchRecentMetrics(e))}constructor({key:e,title:t,description:r,icon:n,active:a,disabled:i}){super({key:e,title:t,description:r,icon:n,active:null!=a&&a,disabled:null!=i&&i,intervalOptions:Z,currentInterval:"all"}),Y(this,"_urlSync",new o.SceneObjectUrlSyncConfig(this,{keys:[this.state.key]})),Y(this,"onChangeInterval",e=>{(0,M.z)("sidebar_recent_filter_selected",{interval:e}),this.update(e)}),this.addActivationHandler(this.onActivate.bind(this))}}function ee(e){return{container:(0,n.css)({display:"flex",flexDirection:"column",gap:e.spacing(1),height:"100%",overflowY:"hidden"}),list:(0,n.css)({height:"100%",padding:e.spacing(0,1,1,1),overflowY:"auto"})}}Y(J,"Component",({model:e})=>{const t=(0,s.useStyles2)(ee),{title:r,description:n,currentInterval:a}=e.useState(),o=[{value:"all",label:(0,i.t)("sidebar.recent-metrics.all-time","All time")},...X.map(e=>({value:e,label:(0,i.t)("sidebar.recent-metrics.past-interval","Past {{interval}}",{interval:e})}))];return c().createElement("div",{className:t.container,"data-testid":"new-metrics"},c().createElement(L._,{title:r,description:n}),c().createElement("div",{className:t.list},c().createElement(s.RadioButtonList,{name:"offsets",value:a,options:o,onChange:e.onChangeInterval})))});class te extends o.SceneObjectBase{onActivate(){}constructor({key:e,title:t,description:r,icon:n,disabled:a}){super({key:e,title:t,description:r,icon:n,disabled:null!=a&&a,active:!1}),this.addActivationHandler(this.onActivate.bind(this))}}function re(e){return{container:(0,n.css)({display:"flex",flexDirection:"column",gap:e.spacing(1),height:"100%",overflowY:"hidden"})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(te,"Component",({model:e})=>{const t=(0,s.useStyles2)(re),{title:r,description:n}=e.useState();return c().createElement("div",{className:t.container},c().createElement(L._,{title:r,description:n}))});var ne=r(34901);const ae=new Map([["rules",function(){return c().createElement("svg",{stroke:"currentColor",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},c().createElement("rect",{x:"1.25",y:"1.625",width:"5.25",height:"5.25",rx:"1",strokeWidth:"1.5"}),c().createElement("circle",{cx:"12.25",cy:"4.25",r:"2.75",strokeWidth:"1.5"}),c().createElement("circle",{cx:"3.75",cy:"11.75",r:"2.75",strokeWidth:"1.5"}),c().createElement("rect",{x:"9.5",y:"9.125",width:"5.25",height:"5.25",rx:"1",strokeWidth:"1.5"}))}],["groups",ne.Y]]);function ie({ariaLabel:e,disabled:t,visible:r,active:i,tooltip:o,iconOrText:l,onClick:u}){const d=(0,s.useStyles2)(oe);let p,m;return l in a.availableIconsIndex?p=l:m=ae.has(l)?ae.get(l):function(){return c().createElement(c().Fragment,null,l)},c().createElement(s.Button,{className:(0,n.cx)(d.button,t&&"disabled",r&&"visible",i&&"active"),size:"md",variant:"secondary",fill:"text",icon:p,"aria-label":e,tooltip:o,tooltipPlacement:"right",onClick:u,disabled:t},m&&c().createElement(m,null))}function oe(e){return{button:(0,n.css)({color:e.colors.text.secondary,"&:hover":{color:e.colors.text.maxContrast,background:"transparent"},"&.disabled":{opacity:.5},"&.disabled:hover":{color:e.colors.text.secondary},"&.visible":{color:e.colors.text.maxContrast},"&.active":{color:e.colors.text.maxContrast}})}}function se(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const le={rule:"filters-rule",prefix:"filters-prefix",suffix:"filters-suffix",recent:"filters-recent"},ce=(0,O.Ui)(le);class ue extends o.SceneObjectBase{onActivate(){var e;const t=this.initOtherMetricsVar();return this.subscribeToEvent($.B,e=>{const{key:t,values:r}=e.payload,{sectionValues:n}=this.state,a=new Map(n).set(t,r);this.setOtherMetricFilters(a),this.setState({sectionValues:a})}),(null===(e=this.state.visibleSection)||void 0===e?void 0:e.state.key)||(0,y.gs)("drilldown.metrics.default_open_sidebar").then(e=>{var t;"treatment"!==e||(null===(t=this.state.visibleSection)||void 0===t?void 0:t.state.key)||this.setActiveSection(w.x.getItem(S.V.SIDEBAR_SECTION)||"filters-prefix")}),(0,y.gs)("drilldown.metrics.hierarchical_prefix_filtering").then(e=>{if("treatment"===e){const e=this.state.sections.find(e=>"filters-prefix"===e.state.key);e instanceof U.r&&e.setState({hierarchical:!0})}}),()=>{t()}}setOtherMetricFilters(e){const t=o.sceneGraph.lookupVariable(v.hc,this);if(!(0,E.BE)(t))return;const r={"filters-rule":(0,i.t)("sidebar.filter-type.rule-group","rule group"),"filters-prefix":(0,i.t)("sidebar.filter-type.prefix","prefix"),"filters-suffix":(0,i.t)("sidebar.filter-type.suffix","suffix"),"filters-recent":(0,i.t)("sidebar.filter-type.recent","recent")},n=Array.from(e.entries()).reduce((e,[t,n])=>(n.length&&ce.includes(t)&&e.push({key:t,operator:"=",value:n.join(", "),keyLabel:r[t]}),e),[]);t.setState({filters:n,hide:n.length?a.VariableHide.hideLabel:a.VariableHide.hideVariable})}initOtherMetricsVar(){const e=(0,O.kj)(this).state.$variables;if(!e)return()=>{};const t=new o.AdHocFiltersVariable({name:v.hc,readOnly:!0,skipUrlSync:!0,datasource:null,hide:a.VariableHide.hideVariable,layout:"combobox",applyMode:"manual",allowCustomValue:!0});return e.setState({variables:[...e.state.variables,t]}),this.setOtherMetricFilters(this.state.sectionValues),()=>{e.setState({variables:[...e.state.variables.filter(e=>e!==t)]})}}static getSectionValuesFromUrl(){const e=new URLSearchParams(window.location.search),t=new Map;for(const r of ce){const n=`${O.mc}-${r}`,a=e.get(n)||e.get(r);t.set(r,a?a.split(",").map(e=>e.trim()):[])}return t}setActiveSection(e){const{visibleSection:t,sections:r}=this.state;if(!e||e===(null==t?void 0:t.state.key))return(0,M.z)("metrics_sidebar_toggled",{action:"closed",section:null==t?void 0:t.state.key}),void this.setState({visibleSection:null});var n;w.x.setItem(S.V.SIDEBAR_SECTION,e),(0,M.z)("metrics_sidebar_toggled",{action:"opened",section:e}),"filters-prefix"===e?(0,M.z)("sidebar_prefix_filter_section_clicked",{}):"filters-suffix"===e?(0,M.z)("sidebar_suffix_filter_section_clicked",{}):"filters-recent"===e&&(0,M.z)("sidebar_recent_filter_section_clicked",{}),this.setState({visibleSection:null!==(n=r.find(t=>t.state.key===e))&&void 0!==n?n:null})}constructor(e){var t,r,n,a;const o=ue.getSectionValuesFromUrl();super(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){se(e,t,r[t])})}return e}({key:"sidebar",visibleSection:null,sections:[new U.r({key:"filters-rule",type:"categories",title:(0,i.t)("sidebar.section.rules-filters","Rules filters"),description:(0,i.t)("sidebar.section.rules-filters-description","Filter metrics and recording rules"),icon:"rules",computeGroups:g,showHideEmpty:!1,showSearch:!1,active:Boolean(null===(t=o.get("filters-rule"))||void 0===t?void 0:t.length)}),new U.r({key:"filters-prefix",type:"prefixes",title:(0,i.t)("sidebar.section.prefix-filters","Prefix filters"),description:(0,i.t)("sidebar.section.prefix-filters-description","Filter metrics based on their name prefix (Prometheus namespace)"),icon:"A_",computeGroups:p.w,active:Boolean(null===(r=o.get("filters-prefix"))||void 0===r?void 0:r.length)}),new U.r({key:"filters-suffix",type:"suffixes",title:(0,i.t)("sidebar.section.suffix-filters","Suffix filters"),description:(0,i.t)("sidebar.section.suffix-filters-description","Filter metrics based on their name suffix"),icon:"_Z",computeGroups:b,active:Boolean(null===(n=o.get("filters-suffix"))||void 0===n?void 0:n.length)}),new J({key:"filters-recent",title:(0,i.t)("sidebar.section.recent-metrics","Recent metrics filters"),description:(0,i.t)("sidebar.section.recent-metrics-description","Filter metrics based on when they started being ingested"),icon:"clock-nine",active:Boolean(null===(a=o.get("filters-recent"))||void 0===a?void 0:a.length)}),new z({key:"groupby-labels",variableName:d.G,title:(0,i.t)("sidebar.section.group-by-labels","Group by labels"),description:(0,i.t)("sidebar.section.group-by-labels-description","Group metrics by their label values"),icon:"groups"}),new R({key:"bookmarks",title:(0,i.t)("sidebar.section.bookmarks","Bookmarks"),description:(0,i.t)("sidebar.section.bookmarks-description","Access your saved metrics for quick reference"),icon:"star"}),new te({key:"settings",title:(0,i.t)("sidebar.section.settings","Settings"),description:(0,i.t)("sidebar.section.settings-description","Settings"),icon:"cog",disabled:!0})],sectionValues:o},e)),this.addActivationHandler(this.onActivate.bind(this))}}function de(e){return{container:(0,n.css)({position:"relative",height:"100%",overflow:"hidden"}),buttonsBar:(0,n.css)({width:"42px",border:`1px solid ${e.colors.border.weak}`,borderRadius:e.shape.radius.default,backgroundColor:e.colors.background.primary,position:"relative"}),buttonContainer:(0,n.css)({marginTop:e.spacing(1),"&::before":{transition:"0.5s ease",content:'""',position:"absolute",left:0,height:"32px",borderLeft:`2px solid ${e.colors.action.selectedBorder}`,boxSizing:"border-box",opacity:0,visibility:"hidden"},"&:hover::before":{opacity:1,visibility:"visible"},"&.visible::before":{opacity:1,visibility:"visible"},"&.disabled::before":{opacity:0,visibility:"hidden"},"&.active::after":{content:'""',position:"absolute",right:0,width:"8px",height:"8px",backgroundColor:e.colors.action.selectedBorder,borderRadius:"50%",margin:"2px 4px 0 0"}}),content:(0,n.css)({width:"calc(300px - 42px)",boxSizing:"border-box",border:`1px solid ${e.colors.border.weak}`,borderLeft:"none",borderRadius:e.shape.radius.default,backgroundColor:e.colors.background.canvas,padding:e.spacing(1.5)}),closeButton:(0,n.css)({position:"absolute",top:e.spacing(1.5),right:e.spacing(1)})}}se(ue,"Component",({model:e})=>{const t=(0,s.useStyles2)(de),{sections:r,visibleSection:a,sectionValues:l}=e.useState(),p=o.sceneGraph.findByKeyAndType(e,d.G,d.O).useState().value;return c().createElement("div",{className:t.container},c().createElement(s.Stack,{direction:"row",height:"100%",gap:0},c().createElement("div",{className:t.buttonsBar,"data-testid":"sidebar-buttons"},c().createElement(s.Stack,{direction:"column",alignItems:"center",gap:0},r.map(r=>{const{key:o,icon:s,disabled:d,active:m}=r.state,b=(null==a?void 0:a.state.key)===o,h=function(e){return{"filters-rule":{title:(0,i.t)("sidebar.section.rules-filters","Rules filters"),description:(0,i.t)("sidebar.section.rules-filters-description","Filter metrics and recording rules")},"filters-prefix":{title:(0,i.t)("sidebar.section.prefix-filters","Prefix filters"),description:(0,i.t)("sidebar.section.prefix-filters-description","Filter metrics based on their name prefix (Prometheus namespace)")},"filters-suffix":{title:(0,i.t)("sidebar.section.suffix-filters","Suffix filters"),description:(0,i.t)("sidebar.section.suffix-filters-description","Filter metrics based on their name suffix")},"filters-recent":{title:(0,i.t)("sidebar.section.recent-metrics","Recent metrics filters"),description:(0,i.t)("sidebar.section.recent-metrics-description","Filter metrics based on when they started being ingested")},"groupby-labels":{title:(0,i.t)("sidebar.section.group-by-labels","Group by labels"),description:(0,i.t)("sidebar.section.group-by-labels-description","Group metrics by their label values")},bookmarks:{title:(0,i.t)("sidebar.section.bookmarks","Bookmarks"),description:(0,i.t)("sidebar.section.bookmarks-description","Access your saved metrics for quick reference")},settings:{title:(0,i.t)("sidebar.section.settings","Settings"),description:(0,i.t)("sidebar.section.settings-description","Settings")}}[e]||{title:e,description:""}}(o);let f,g;var y,v;"groupby-labels"===o?(f=Boolean(p&&p!==u.c),g=`${h.title}: ${p}`):(f=m,g=(null===(y=l.get(o))||void 0===y?void 0:y.length)?`${h.title}: ${null===(v=l.get(o))||void 0===v?void 0:v.join(", ")}`:h.title);return c().createElement("div",{key:o,className:(0,n.cx)(t.buttonContainer,b&&"visible",f&&"active",d&&"disabled")},c().createElement(ie,{key:o,ariaLabel:h.title,disabled:d,visible:b,active:f,tooltip:g,onClick:()=>e.setActiveSection(o),iconOrText:s}))}))),a&&c().createElement("div",{className:t.content,"data-testid":"sidebar-content"},c().createElement(s.IconButton,{className:t.closeButton,name:"times","aria-label":(0,i.t)("sidebar.close-aria-label","Close"),tooltip:(0,i.t)("sidebar.close-tooltip","Close"),tooltipPlacement:"top",onClick:()=>e.setActiveSection("")}),a instanceof U.r&&c().createElement(a.Component,{model:a}),a instanceof J&&c().createElement(a.Component,{model:a}),a instanceof z&&c().createElement(a.Component,{model:a}),a instanceof R&&c().createElement(a.Component,{model:a}),a instanceof te&&c().createElement(a.Component,{model:a}))))})},65191:(e,t,r)=>{function n(e){return JSON.stringify(function(e){return delete e.actionView,delete e.layout,delete e.refresh,Array.isArray(e["var-filters"])&&(e["var-filters"]=e["var-filters"].filter(Boolean)),e}(e))}r.d(t,{o:()=>n})},65222:(e,t,r)=>{r.d(t,{HA:()=>c,jx:()=>l,qq:()=>u});var n=r(87781),a=r(18531),i=r(90903);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function l(e,t){const r=t.reduce((e,t,r)=>s(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){o(e,t,r[t])})}return e}({},e),{[`info${r+1}`]:t}),{handheldBy:"displayError"});i.v.error(e,r);const l=(0,a.getAppEvents)();l&&l.publish({type:n.AppEvents.alertError.name,payload:t})}function c(e){i.v.warn(e);const t=(0,a.getAppEvents)();t&&t.publish({type:n.AppEvents.alertWarning.name,payload:e})}function u(e){const t=(0,a.getAppEvents)();t&&t.publish({type:n.AppEvents.alertSuccess.name,payload:e})}},65348:(e,t,r)=>{r.d(t,{m:()=>J});var n=r(46089),a=r(18531),i=r(28904),o=r(82007),s=r(85959),l=r.n(s),c=r(87073),u=r(55490),d=r(61641),p=r(62159),m=r(83535),b=r(7509),h=r(62935);function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class y extends i.EmbeddedScene{constructor(e){super(g(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){f(e,t,r[t])})}return e}({},e),{key:"list-controls",body:new i.SceneFlexLayout({direction:"row",width:"100%",maxHeight:"32px",children:[new i.SceneFlexItem({body:new h.I({urlSearchParamName:"search_txt",targetName:"metric",countsProvider:new b.s})}),new i.SceneFlexItem({width:"auto",body:new m.fD({})}),new i.SceneFlexItem({width:"auto",body:new p.U({})})]})}))}}f(y,"Component",({model:e})=>{const{body:t}=e.useState();return l().createElement(o.Stack,{direction:"row",alignItems:"center"},l().createElement(t.Component,{model:t}))});var v,S,w,O=r(62494),E=r(71415),x=r(92458),k=r(55699),C=r(46304),P=r(74406),j=r(74415),_=r(93649),T=r(37768),I=r(93056),A=r(73303),D=r(87781),N=r(25067),B=r(85518),M=r(34901),L=r(62227),R=r(39041),V=r(34936),$=r(15425),F=r(25081),q=r(60341);class G extends i.SceneObjectBase{onActivate(){this.subscribeToLayoutChange()}subscribeToLayoutChange(){const e=i.sceneGraph.findByKeyAndType(this,"layout-switcher",p.U),t=this.state.body.state.body,r=(e,r)=>{e.layout!==(null==r?void 0:r.layout)&&t.setState({templateColumns:e.layout===p.p.ROWS?F._O:F.MV})};r(e.state),this._subs.add(e.subscribeToState(r))}constructor({index:e,labelName:t,labelValue:r,labelCardinality:n}){const a=`var-metrics-${t}-${r}`;super({index:e,labelName:t,labelValue:r,labelCardinality:n,key:`${t}-${r}`,$variables:new i.SceneVariableSet({variables:[new N.s({key:a,name:a,labelMatcher:{key:t,operator:"=",value:r},addLifeCycleEvents:!0})]}),body:new I.k({variableName:a,initialPageSize:3,body:new i.SceneCSSGridLayout({children:[],isLazy:!0,templateColumns:F.MV,autoRows:B.On,$behaviors:[new i.behaviors.CursorSync({key:"metricCrosshairSync",sync:D.DashboardCursorSync.Crosshair})]}),getLayoutLoading:()=>new i.SceneReactObject({reactNode:l().createElement(o.Spinner,{inline:!0})}),getLayoutEmpty:()=>new i.SceneReactObject({reactNode:l().createElement(q._,{title:"",severity:"info"},(0,T.t)("metrics-group-by-row.no-metrics","No metrics found for the current filters and time range."))}),getLayoutError:e=>new i.SceneReactObject({reactNode:l().createElement(q._,{severity:"error",title:(0,T.t)("metrics-group-by-row.error-title","Error while loading metrics!"),error:e})}),getLayoutChild:(e,n)=>new i.SceneCSSGridItem({body:new B.c0({metric:e.value,vizPanelInGridItem:new V.m({metric:e.value,panelOptions:{fixedColorIndex:n,headerActions:({metric:e})=>[new R.B({metric:e.name}),new L.F({metric:e})]},queryOptions:{labelMatchers:[{key:t,operator:"=",value:r}]}})})})})}),this.addActivationHandler(this.onActivate.bind(this))}}function z(e){return{container:(0,n.css)({background:e.colors.background.canvas,margin:e.spacing(1,0,0,0),"& div:focus-within":{boxShadow:"none !important"}}),containerHeader:(0,n.css)({marginBottom:"-36px",paddingBottom:e.spacing(1.5),borderBottom:`1px solid ${e.colors.border.medium}`}),headerButtons:(0,n.css)({position:"relative",top:"3px",marginLeft:"auto",marginRight:"30px",zIndex:100}),selectButton:(0,n.css)({height:"28px"}),collapsableSectionBody:(0,n.css)({padding:e.spacing(1)}),groupName:(0,n.css)({fontSize:"1.3rem",lineHeight:"1.3rem"}),labelValue:(0,n.css)({fontSize:"16px",marginLeft:"8px"}),index:(0,n.css)({fontSize:"12px",color:e.colors.text.secondary,marginLeft:"8px"}),footer:(0,n.css)({marginTop:e.spacing(1),"& button":{height:"40px"}}),variable:(0,n.css)({display:"none"})}}w=({model:e})=>{const[t,r]=(0,s.useState)(!1),n=(0,o.useStyles2)(z),{index:a,labelName:c,labelValue:p,labelCardinality:m,$variables:b,body:h}=e.useState(),f=b.state.variables[0],{loading:g,error:y}=f.useState(),v=h.useSizes(),S=!g&&!y&&v.total>0&&v.current<v.total;return l().createElement("div",{className:n.container,"data-testid":`${c}-${p}-metrics-group`},l().createElement("div",{className:n.containerHeader},l().createElement(o.Stack,{direction:"row",alignItems:"center",gap:1},l().createElement("div",{className:n.headerButtons},l().createElement(o.Button,{className:n.selectButton,variant:"secondary",onClick:()=>{var t;const r=i.sceneGraph.lookupVariable($.Ao,e);r.setState({filters:[...r.state.filters,{key:c,operator:"=",value:p}]}),null===(t=i.sceneGraph.lookupVariable(d.G,e))||void 0===t||t.changeValueTo(u.c)},tooltip:(0,T.t)("metrics-group-by-row.select-tooltip","See metrics with {{labelName}}={{labelValue}}",{labelName:c,labelValue:p}),tooltipPlacement:"top"},(0,T.t)("metrics-group-by-row.select","Select"))))),l().createElement(o.CollapsableSection,{isOpen:!t,onToggle:()=>r(!t),label:l().createElement("div",{className:n.groupName},l().createElement(o.Stack,{direction:"row",alignItems:"center"},l().createElement(M.Y,null),l().createElement("div",{className:n.labelValue},p),m>1&&l().createElement("div",{className:n.index},"(",a+1,"/",m,")")))},l().createElement("div",{className:n.collapsableSectionBody},l().createElement(o.Stack,{direction:"column",gap:3},l().createElement(h.Component,{model:h}))),S&&l().createElement("div",{className:n.footer},l().createElement(o.Stack,{direction:"row",justifyContent:"center",alignItems:"center"},l().createElement(A.d,{label:(0,T.t)("metrics-group-by-row.metric-label","metric"),batchSizes:v,onClick:()=>{h.increaseBatchSize()},tooltip:(0,T.t)("metrics-group-by-row.show-more-tooltip",'Show more metrics for {{labelName}}="{{labelValue}}"',{labelName:c,labelValue:p})})))),l().createElement("div",{className:n.variable},l().createElement(f.Component,{key:f.state.name,model:f})))},(S="Component")in(v=G)?Object.defineProperty(v,S,{value:w,enumerable:!0,configurable:!0,writable:!0}):v[S]=w;const H="wingmanLabelValues";class U extends i.QueryVariable{constructor({labelName:e}){super({name:H,datasource:{uid:u.J.uid},query:`valuesOf(${e})`,isMulti:!1,allowCustomValue:!1,refresh:D.VariableRefresh.onTimeRangeChanged,hide:D.VariableHide.hideVariable,value:"$__all",includeAll:!0})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(U,"Component",()=>l().createElement(l().Fragment,null));class K extends i.SceneObjectBase{constructor({labelName:e}){super({key:"metrics-group-list",labelName:e,$variables:new i.SceneVariableSet({variables:[new U({labelName:e})]}),body:new I.k({variableName:H,initialPageSize:20,pageSizeIncrement:10,body:new i.SceneCSSGridLayout({children:[],isLazy:!0,templateColumns:"1fr",autoRows:"auto",rowGap:1}),getLayoutLoading:()=>new i.SceneReactObject({reactNode:l().createElement(o.Spinner,{inline:!0})}),getLayoutEmpty:()=>new i.SceneReactObject({reactNode:l().createElement(q._,{title:"",severity:"info"},(0,T.t)("metrics-group-by-list.no-values",'No label values found for label "{{labelName}}".',{labelName:e}))}),getLayoutError:t=>new i.SceneReactObject({reactNode:l().createElement(q._,{severity:"error",title:(0,T.t)("metrics-group-by-list.error-title",'Error while loading label "{{labelName}}" values!',{labelName:e}),error:t})}),getLayoutChild:(t,r,n)=>new i.SceneCSSGridItem({body:new G({index:r,labelName:e,labelValue:t.value,labelCardinality:n.length})})})})}}function Q(e){return{footer:(0,n.css)({display:"flex",justifyContent:"center",alignItems:"center",margin:e.spacing(3,0,1,0),"& button":{height:"40px"}}),variable:(0,n.css)({display:"none"})}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(K,"Component",({model:e})=>{const t=(0,o.useStyles2)(Q),{body:r,$variables:n,labelName:a}=e.useState(),i=n.state.variables[0],{loading:s,error:c}=i.useState(),u=r.useSizes(),d=!s&&!c&&u.total>0&&u.current<u.total;return l().createElement("div",{"data-testid":"metrics-groupby-list"},l().createElement(r.Component,{model:r}),d&&l().createElement("div",{className:t.footer},l().createElement(A.d,{label:(0,T.t)("metrics-group-by-list.show-more-label",'"{{labelName}}" value',{labelName:a}),batchSizes:u,onClick:()=>{r.increaseBatchSize()}})),l().createElement("div",{className:t.variable},l().createElement(i.Component,{key:i.state.name,model:i})))});var W=r(29810),Y=r(31468),X=r(63386);function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class J extends i.SceneObjectBase{onActivate(){const e=i.sceneGraph.lookupVariable(d.G,this).state.value;this.updateBasedOnGroupBy(e),this.subscribeToEvents()}updateBasedOnGroupBy(e){const t=Boolean(e&&e!==u.c);i.sceneGraph.findByKeyAndType(this,"quick-search",h.I).toggleCountsDisplay(!t),!t&&this.state.body instanceof F.Qs||t&&this.state.body instanceof K&&this.state.body.state.labelName===e||this.setState({body:t?new K({labelName:e}):new F.Qs({variableName:P.h})})}subscribeToEvents(){this.initVariablesFilteringAndSorting()}initVariablesFilteringAndSorting(){this.subscribeToEvent(x.x,e=>{const{key:t}=e.payload,r=i.sceneGraph.findByKey(this,t);this.state.enginesMap.set(t,{filterEngine:new j.k(r),sortEngine:new _.c(r)})}),this.subscribeToEvent(k.e,e=>{this.state.enginesMap.delete(e.payload.key)});const e=i.sceneGraph.findByKeyAndType(this,"quick-search",h.I),t=i.sceneGraph.findAllObjects(this,e=>e instanceof Y.r),r=i.sceneGraph.findByKeyAndType(this,"metrics-sorter",m.fD).state.$variables.getByName(m.NJ);this.subscribeToEvent(C.x,n=>{const{key:a,options:i}=n.payload,{filterEngine:o,sortEngine:s}=this.state.enginesMap.get(a);o.setInitOptions(i);const l={names:e.state.value?[e.state.value]:[]};for(const e of t)l[e.state.type]=e.state.selectedGroups.map(e=>e.value);o.applyFilters(l,{forceUpdate:!0,notify:!1}),s.sort(r.state.value)}),this.subscribeToEvent(E.W,e=>{const{searchText:t}=e.payload;for(const[,{filterEngine:e,sortEngine:n}]of this.state.enginesMap)e.applyFilters({names:t?[t]:[]}),n.sort(r.state.value)}),this.subscribeToEvent(W.Y,e=>{const{type:t,filters:n}=e.payload;for(const[,{filterEngine:e,sortEngine:a}]of this.state.enginesMap)e.applyFilters({[t]:n}),a.sort(r.state.value)}),this.subscribeToEvent(O.S,e=>{const{sortBy:t}=e.payload;(0,c.z)("sorting_changed",{from:"metrics-reducer",sortBy:t});for(const[,{sortEngine:e}]of this.state.enginesMap)e.sort(t)})}constructor(){super({$variables:new i.SceneVariableSet({variables:[new P.V]}),listControls:new y({}),sidebar:new X.z({}),body:void 0,enginesMap:new Map}),Z(this,"_variableDependency",new i.VariableDependencyConfig(this,{variableNames:[d.G],onReferencedVariableValueChanged:e=>{this.updateBasedOnGroupBy(e.state.value)}})),this.addActivationHandler(this.onActivate.bind(this))}}Z(J,"Component",({model:e})=>{var t;const r=null!==(t=(0,a.useChromeHeaderHeight)())&&void 0!==t?t:0,n=(0,o.useStyles2)(te),{$variables:i,body:s,listControls:c,sidebar:u}=e.useState();return l().createElement(l().Fragment,null,l().createElement("div",{className:n.listControls,"data-testid":"list-controls"},l().createElement(c.Component,{model:c})),l().createElement(o.Stack,{direction:"row",gap:1,height:`calc(100vh - ${r+ee}px)`},l().createElement("div",{className:n.sidebar,"data-testid":"sidebar"},l().createElement(u.Component,{model:u})),l().createElement("div",{className:n.list},s&&l().createElement(s.Component,{model:s}))),l().createElement("div",{className:n.variables},null==i?void 0:i.state.variables.map(e=>l().createElement(e.Component,{key:e.state.name,model:e}))))});const ee=144;function te(e){return{listControls:(0,n.css)({marginBottom:e.spacing(1.5)}),list:(0,n.css)({width:"100%",overflowY:"auto"}),sidebar:(0,n.css)({flex:"0 0 auto",overflowY:"auto"}),variables:(0,n.css)({display:"none"})}}},65593:(e,t,r)=>{r.d(t,{N:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="force-sync-y-axis",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},67709:(e,t,r)=>{r.d(t,{y:()=>i});r(18531);var n=r(76217),a=r(98928);function i({metric:e,labels:t,dataSource:r,from:i,to:o,groupBy:s}){const l=(0,n.PQ)(r,t,e,i,o),c=(0,n.e6)(l);return c.append("actionView","breakdown"),c.append("var-groupby",null!=s?s:"$__all"),(0,n.Rk)(a.b.Drilldown,c)}},67787:(e,t,r)=>{r.d(t,{H:()=>l});var n=r(76064),a=r(97666),i=r(87560),o=r(27212),s=r(93265);function l(e){const{metric:t,queryConfig:r}=e,n=(0,i.d)({metric:t,labelMatchers:r.labelMatchers,addIgnoreUsageFilter:r.addIgnoreUsageFilter,addExtremeValuesFiltering:r.addExtremeValuesFiltering}),o="counter"===t.type,l=o?a.GH.rate({expr:n,interval:"$__rate_interval"}):n;return{isRateQuery:o,maxDataPoints:r.resolution===s.I.HIGH?500:250,queries:r.groupBy?c({metric:t,queryConfig:r,expr:l}):u({metric:t,queryConfig:r,expr:l})}}function c({metric:e,queryConfig:t,expr:r}){let i="avg";"counter"===e.type?i="sum":"info"===e.type&&(i="count");const o=(0,n.Nc)(t.groupBy);return[{refId:`${e.name}-by-${t.groupBy}`,expr:a.GH[i]({expr:r,by:[o]}),legendFormat:`{{${o}}}`,fromExploreMetrics:!0}]}function u({metric:e,queryConfig:t,expr:r}){var n;let a="avg";"counter"===e.type?a="sum":"info"===e.type&&(a="count");const i=(null===(n=t.queries)||void 0===n?void 0:n.length)?t.queries:[{fn:a}],s=[];for(const{fn:t}of i){const n=o.q.get(t),a=n.fn({expr:r}),i="counter"===e.type?`${n.name}(rate)`:n.name;s.push({refId:`${e.name}-${i}`,expr:a,legendFormat:i,fromExploreMetrics:!0})}return s}},69989:(e,t,r)=>{r.d(t,{mc:()=>Je,Vy:()=>it,aO:()=>at,Co:()=>lt,Ui:()=>st,kj:()=>Ze,xi:()=>tt,ef:()=>et,fZ:()=>ot});var n=r(18531),a=r(28904),i=r(90903),o=r(15425),s=r(87781),l=r(46089),c=r(37768),u=r(76064),d=r(82007),p=r(85959),m=r.n(p),b=r(87073);function h(){(0,b.z)("give_feedback_clicked",{})}const f=()=>{const e=(0,d.useStyles2)(g);return m().createElement("div",{className:e.wrapper},m().createElement("a",{href:"https://forms.gle/dKHDM4GDXVYPny3L6",className:e.feedback,title:(0,c.t)("give-feedback.tooltip","Share your thoughts about Metrics in Grafana."),target:"_blank",rel:"noreferrer noopener",onClick:h},m().createElement(d.Icon,{name:"comment-alt-message"})," ",(0,c.t)("give-feedback.button","Give feedback")))},g=e=>({wrapper:(0,l.css)({position:"absolute",top:0,right:0}),feedback:(0,l.css)({color:e.colors.text.secondary,fontSize:e.typography.bodySmall.fontSize,"&:hover":{color:e.colors.text.link}})});function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}function S(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class w extends a.SceneObjectBase{constructor(e){super(v({key:"drawer",isOpen:!1},e)),y(this,"open",({title:e,subTitle:t,body:r})=>{this.setState(S(v({},this.state),{isOpen:!0,title:e,subTitle:t,body:r}))}),y(this,"close",()=>{this.setState({isOpen:!1})})}}y(w,"Component",({model:e})=>{const{isOpen:t,title:r,subTitle:n,body:a}=e.useState();return m().createElement(m().Fragment,null,a&&t&&m().createElement(d.Drawer,{size:"lg",title:r,subtitle:n,closeOnMaskClick:!0,onClose:e.close},m().createElement(a.Component,{model:a})))});var O=r(65222);var E=r(55490),x=r(61641),k=r(83535),C=r(14796),P=r(25067),j=r(65348),_=r(26949),T=r(84138),I=r(93241),A=r(25081),D=r(4367),N=r(88048),B=r(19148),M=r(62353);const L={[M.i.TIMESERIES_AGE_TIME_MINUS_AVG]:{id:M.i.TIMESERIES_AGE_TIME_MINUS_AVG,name:"Average age",panelOptions:{type:"timeseries",description:'Suitable only for metrics that store unix timestamps (usually containing "timestamp_seconds" in their name) to calculate an average age. Calculates the age by subtracting the average timestamp value from current time.'},queryOptions:{queries:[{fn:"time-avg(metric)"}]}},[M.i.TIMESERIES_AGE_TIME_MINUS_MIN_MAX]:{id:M.i.TIMESERIES_AGE_TIME_MINUS_MIN_MAX,name:"Minimum and maximum ages",panelOptions:{type:"timeseries",description:'Suitable only for metrics that store unix timestamps (usually containing "timestamp_seconds" in their name) to calculate a minimum and a maximum age. Calculates the ages by subtracting the min and the max timestamp values from current time.'},queryOptions:{queries:[{fn:"time-min(metric)"},{fn:"time-max(metric)"}]}}},R={[M.i.HISTOGRAM_HEATMAP]:{id:M.i.HISTOGRAM_HEATMAP,name:"Heatmap (default)",panelOptions:{type:"heatmap",description:"Visualizes the full distribution of histogram data over time using color intensity. Perfect for spotting patterns, identifying performance degradation, and understanding latency distribution changes. Shows density of values across different buckets."},queryOptions:{queries:[]}},[M.i.HISTOGRAM_PERCENTILES]:{id:M.i.HISTOGRAM_PERCENTILES,name:"Percentiles",panelOptions:{type:"percentiles",description:"Extracts specific percentile values from histogram data. Essential for SLA monitoring and performance analysis, showing how response times or other metrics behave for different user experience tiers."},queryOptions:{queries:[{fn:"histogram_quantile",params:{percentiles:[99,90,50]}}]}}},V={[M.i.TIMESERIES_COUNT]:{id:M.i.TIMESERIES_COUNT,name:"Count",panelOptions:{type:"timeseries",description:"Counts how many time series emit this info metric. Useful for validating presence of instances and tracking metadata changes (e.g. version rollouts). Combine with a group by label (such as version or instance) to see the breakdown."},queryOptions:{queries:[{fn:"count"}]}}},$={[M.i.STATUS_UPDOWN_HISTORY]:{id:M.i.STATUS_UPDOWN_HISTORY,name:"Status History (default)",panelOptions:{type:"statushistory",description:"Displays binary status changes over time as colored bars (green=up, red=down). Perfect for monitoring service availability, health checks, or any binary state metrics. Shows patterns in uptime/downtime and helps identify recurring issues."},queryOptions:{queries:[{fn:"min"}]}},[M.i.STATUS_UPDOWN_STAT]:{id:M.i.STATUS_UPDOWN_STAT,name:"Stat with latest value",panelOptions:{type:"stat",description:'Shows the current status as a single value display with color coding (green=up, red=down). Ideal for dashboards where you need an at-a-glance view of service health or binary state. Uses minimum value to ensure any "down" status is highlighted.'},queryOptions:{queries:[{fn:"min"}]}}};function F(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){F(e,t,r[t])})}return e}function G(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const z={[M.i.TIMESERIES_AVG]:{id:M.i.TIMESERIES_AVG,name:"Average (default)",panelOptions:{type:"timeseries",description:"Shows the average value across all time series. Ideal for understanding typical behavior and smoothing out variations between different targets. For rate queries, displays average throughput per target."},queryOptions:{queries:[{fn:"avg"}]}},[M.i.TIMESERIES_SUM]:{id:M.i.TIMESERIES_SUM,name:"Sum",panelOptions:{type:"timeseries",description:"Aggregates total values across all time series. Perfect for measuring overall system throughput, total resource consumption, or fleet-wide capacity. Essential for rate queries showing total request rates."},queryOptions:{queries:[{fn:"sum"}]}},[M.i.TIMESERIES_STDDEV]:{id:M.i.TIMESERIES_STDDEV,name:"Standard deviation",panelOptions:{type:"timeseries",description:"Measures variability and consistency across time series. High values indicate uneven load distribution or inconsistent behavior. Useful for detecting load balancing issues or identifying when some targets behave differently."},queryOptions:{queries:[{fn:"stddev"}]}},[M.i.TIMESERIES_PERCENTILES]:{id:M.i.TIMESERIES_PERCENTILES,name:"Percentiles",panelOptions:{type:"percentiles",description:"Displays percentiles to show value distribution. Excellent for SLA monitoring and understanding outlier behavior without being skewed by extreme values. Critical for performance analysis."},queryOptions:{queries:[{fn:"quantile",params:{percentiles:[99,90,50]}}]}},[M.i.TIMESERIES_MIN_MAX]:{id:M.i.TIMESERIES_MIN_MAX,name:"Minimum and maximum",panelOptions:{type:"timeseries",description:"Shows the range between lowest and highest values across time series. Useful for capacity planning, identifying idle resources (min), and spotting overloaded targets (max). Helps detect outliers and resource utilization patterns."},queryOptions:{queries:[{fn:"min"},{fn:"max"}]}}},H={[M.i.TIMESERIES_SUM]:G(q({},z[M.i.TIMESERIES_SUM]),{name:"Sum (default)",id:M.i.TIMESERIES_SUM}),[M.i.TIMESERIES_AVG]:G(q({},z[M.i.TIMESERIES_AVG]),{name:"Average"}),[M.i.TIMESERIES_STDDEV]:z[M.i.TIMESERIES_STDDEV],[M.i.TIMESERIES_PERCENTILES]:z[M.i.TIMESERIES_PERCENTILES],[M.i.TIMESERIES_MIN_MAX]:z[M.i.TIMESERIES_MIN_MAX]};function U(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function K(e,t){return(r=function*(){switch(yield(0,B.B)(e,t)){case"counter":return Object.values(H);case"classic-histogram":case"native-histogram":return Object.values(R);case"age":return[Object.values(z)[0],...Object.values(L)];case"status-updown":return Object.values($);case"info":return Object.values(V);default:return Object.values(z)}},function(){var e=this,t=arguments;return new Promise(function(n,a){var i=r.apply(e,t);function o(e){U(i,n,a,o,s,"next",e)}function s(e){U(i,n,a,o,s,"throw",e)}o(void 0)})})();var r}var Q,W,Y,X=r(34936),Z=r(26875),J=r(81311);class ee extends s.BusEventWithPayload{}Y="apply-panel-config",(W="type")in(Q=ee)?Object.defineProperty(Q,W,{value:Y,enumerable:!0,configurable:!0,writable:!0}):Q[W]=Y;class te extends s.BusEventWithPayload{}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(te,"type","cancel-configure-panel");const re=[{value:99,label:"P99"},{value:95,label:"P95"},{value:90,label:"P90"},{value:75,label:"P75"},{value:50,label:"P50"}];function ne(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ae(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class ie extends a.SceneObjectBase{onActivate(){this.initPercentilesParams()}initPercentilesParams(){var e,t,r;const n=this.state.body.state.queryConfig,a=new Set((null===(r=n.queries)||void 0===r||null===(t=r.find(e=>{var t;return null===(t=e.params)||void 0===t?void 0:t.percentiles}))||void 0===t||null===(e=t.params)||void 0===e?void 0:e.percentiles)||[]),i=a.size>0?re.map(e=>ae(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){ne(e,t,r[t])})}return e}({},e),{checked:a.has(e.value)})):[];this.setState({queryParams:{show:i.length>0,options:i}})}constructor({body:e,presetId:t,isSelected:r,onSelect:n}){super({presetId:t,body:e,isSelected:r,onSelect:n,queryParams:{show:!1,options:[]}}),ne(this,"onTogglePercentile",e=>{var t;const{queryParams:r,body:n}=this.state,a=Number(e.target.value),i=r.options.find(e=>e.value===a);if(!i)return;i.checked=!i.checked;const o=r.options.filter(e=>e.checked);if(!o.length)return;const s=(0,I.cloneDeep)(n.state.queryConfig);null===(t=s.queries)||void 0===t||t.some(e=>{var t;return!!(null===(t=e.params)||void 0===t?void 0:t.percentiles)&&(e.params.percentiles=o.map(e=>e.value),!0)}),n.update({},s),this.setState({queryParams:r})}),ne(this,"onClickPreset",()=>{this.state.onSelect(this.state.presetId)}),this.addActivationHandler(this.onActivate.bind(this))}}function oe(e){return{container:l.css`
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: ${e.spacing(1)};
|
|
padding: ${e.spacing(1,1,1.25,1)};
|
|
border: 1px solid transparent;
|
|
transition: all 0.2s ease-in-out;
|
|
|
|
&:hover {
|
|
border: 1px solid ${e.colors.border.weak};
|
|
border-color: ${e.colors.primary.border};
|
|
}
|
|
&:focus {
|
|
border: 1px solid ${e.colors.border.weak};
|
|
outline: 1px solid ${e.colors.primary.main};
|
|
outline-offset: 1px;
|
|
}
|
|
`,selected:l.css`
|
|
cursor: default;
|
|
border: 1px solid ${e.colors.border.weak};
|
|
border-color: ${e.colors.primary.border};
|
|
`,bodyAndParams:l.css`
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: ${e.spacing(1.25)};
|
|
width: 100%;
|
|
`,paramsContainer:l.css`
|
|
margin-top: ${e.spacing(1)};
|
|
`,param:l.css`
|
|
display: flex;
|
|
align-items: center;
|
|
gap: ${e.spacing(.5)};
|
|
margin-bottom: ${e.spacing(.5)};
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
|
|
& [type='checkbox'] {
|
|
cursor: pointer;
|
|
}
|
|
`,radioContainer:l.css`
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
& [type='radio'] {
|
|
cursor: pointer;
|
|
}
|
|
`}}function se(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function le(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){le(e,t,r[t])})}return e}function ue(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}ne(ie,"Component",({model:e})=>{const t=(0,d.useStyles2)(oe),{body:r,isSelected:n,queryParams:a}=e.useState(),i=!n,o=i?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.onClickPreset())}:void 0;return m().createElement("div",{className:(0,l.cx)(t.container,n&&t.selected),onClick:i?e.onClickPreset:void 0,onKeyDown:o,role:i?"button":void 0,tabIndex:i?0:void 0},m().createElement("div",{className:(0,l.cx)(t.bodyAndParams)},m().createElement(r.Component,{model:r}),a.show&&m().createElement("div",{className:t.paramsContainer},a.options.map(r=>m().createElement("label",{key:r.value,className:(0,l.cx)("param",t.param),htmlFor:`checkbox-${r.value}`},m().createElement("input",{id:`checkbox-${r.value}`,type:"checkbox",value:r.value,checked:r.checked,onChange:e.onTogglePercentile}),m().createElement("span",null,r.label))))),m().createElement("div",{className:t.radioContainer},m().createElement(d.Tooltip,{content:n?(0,c.t)("with-config-panel-options.current-config","Current configuration"):(0,c.t)("with-config-panel-options.click-to-select","Click to select this configuration"),placement:"top"},m().createElement("input",{type:"radio",name:"select-config",checked:n}))))});class de extends a.SceneObjectBase{onActivate(){this.syncTimeRange(),this.buildBody(),this.subscribeToEvents()}syncTimeRange(){const e=a.sceneGraph.getAncestor(this,Le),{from:t,to:r,timeZone:n,value:i}=a.sceneGraph.getTimeRange(e).state;a.sceneGraph.getTimeRange(this).setState({from:t,to:r,timeZone:n,value:i})}buildBody(){return(e=function*(){const{metric:e}=this.state,t=(0,D.N)(e.name),r=yield K(e.name,Ze(this)),n=(t||r[0]).id,i=new a.SceneCSSGridLayout({templateColumns:A.MV,autoRows:N.N.M+46,isLazy:!0,$behaviors:[new a.behaviors.CursorSync({key:"metricCrosshairSync",sync:s.DashboardCursorSync.Crosshair})],children:r.map((r,i)=>new a.SceneCSSGridItem({body:new ie({presetId:r.id,isSelected:n===r.id,onSelect:e=>this.onSelectPreset(e),body:new X.m({key:`panel-${r.id}`,discardUserPrefs:r.id!==(null==t?void 0:t.id),metric:e.name,panelOptions:ue(ce({},r.panelOptions),{title:r.name,fixedColorIndex:i,headerActions:()=>[]}),queryOptions:r.queryOptions})})}))});this.setState({presets:r,selectedPresetId:n,body:i})},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){se(i,n,a,o,s,"next",e)}function s(e){se(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var e}subscribeToEvents(){const{metric:e}=this.state;this.subscribeToEvent(ee,t=>{const{config:r,restoreDefault:n}=t.payload,a=J.x.getItem(Z.V.METRIC_PREFS)||{},i=a[e.name];n&&i?delete a[e.name].config:a[e.name]=ue(ce({},i),{config:r}),J.x.setItem(Z.V.METRIC_PREFS,a)})}static getPanelConfigFromPreset(e){return(0,I.omit)(e,["name","panelOptions.description"])}constructor({metric:e}){super({metric:e,$timeRange:new a.SceneTimeRange({}),controls:[new a.SceneTimePicker({}),new a.SceneRefreshPicker({})],isConfirmModalOpen:!1,presets:[],selectedPresetId:void 0,body:void 0}),le(this,"onSelectPreset",e=>{for(const t of a.sceneGraph.findDescendents(this,ie))t.setState({isSelected:t.state.presetId===e});this.setState({selectedPresetId:e})}),le(this,"onClickRestoreDefault",()=>{this.setState({isConfirmModalOpen:!0})}),le(this,"onClickConfirmRestoreDefault",()=>{const{metric:e,presets:t}=this.state,[r]=t;r?(this.publishEvent(new ee({metric:e,config:de.getPanelConfigFromPreset(r),restoreDefault:!0}),!0),this.closeConfirmModal()):(0,O.jx)(new Error(`No default config found for metric ${e}!`),["Cannot restore default configuration."])}),le(this,"closeConfirmModal",()=>{this.setState({isConfirmModalOpen:!1})}),le(this,"onClickCancel",()=>{this.publishEvent(new te({metric:this.state.metric}),!0)}),le(this,"onClickApplyConfig",()=>{const{metric:e,presets:t,selectedPresetId:r}=this.state,n=a.sceneGraph.findByKeyAndType(this,`panel-${r}`,X.m);if(!n)throw new Error(`Panel not found for preset id="${r}"!`);const i=t.find(e=>e.id===r);if(!i)throw new Error(`Preset with id="${r}" not found!`);const o=(0,I.cloneDeep)(i);o.queryOptions.queries=n.state.queryConfig.queries,this.publishEvent(new ee({metric:e,config:de.getPanelConfigFromPreset(o)}),!0)}),this.addActivationHandler(this.onActivate.bind(this))}}function pe(e){return{controlsContainer:l.css`
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: ${e.spacing(1)};
|
|
margin-bottom: ${e.spacing(2)};
|
|
`,messageContainer:l.css`
|
|
margin: ${e.spacing(2.5,0,1,0)};
|
|
`,controls:l.css`
|
|
display: flex;
|
|
`,formButtonsContainer:l.css`
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: ${e.spacing(2)};
|
|
position: sticky;
|
|
bottom: 0;
|
|
background: ${e.colors.background.primary};
|
|
padding: ${e.spacing(2,0)};
|
|
border-top: 1px solid ${e.colors.border.weak};
|
|
`}}le(de,"Component",({model:e})=>{const t=(0,d.useStyles2)(pe),{metric:r,body:n,controls:a,isConfirmModalOpen:i}=e.useState();return m().createElement("div",null,m().createElement("div",{className:t.controlsContainer},m().createElement(d.Button,{variant:"secondary",size:"md",onClick:e.onClickRestoreDefault},(0,c.t)("configure-panel.restore-default","Restore default config")),m().createElement("div",{className:t.controls},a.map(e=>m().createElement(e.Component,{key:e.state.key,model:e})))),m().createElement("div",{className:t.messageContainer},m().createElement("p",null,(0,c.t)("configure-panel.select-function-message","Select a Prometheus function that will be used by default to display the {{metricName}} metric.",{metricName:r.name}))),n&&m().createElement(n.Component,{model:n}),m().createElement("div",{className:t.formButtonsContainer},m().createElement(d.Button,{variant:"primary",size:"md",onClick:e.onClickApplyConfig},(0,c.t)("configure-panel.apply","Apply")),m().createElement(d.Button,{variant:"secondary",size:"md",onClick:e.onClickCancel},(0,c.t)("configure-panel.cancel","Cancel"))),m().createElement(d.ConfirmModal,{isOpen:i,title:(0,c.t)("configure-panel.restore-modal-title","Restore default configuration"),body:(0,c.t)("configure-panel.restore-modal-body","Are you sure you want to restore the default configuration for the {{metric}} metric?",{metric:r.name}),confirmText:(0,c.t)("configure-panel.restore-modal-confirm","Restore"),onConfirm:e.onClickConfirmRestoreDefault,onDismiss:e.closeConfirmModal}))});var me=r(78731),be=r(95830),he=r(63282),fe=r(63213),ge=r(57014),ye=r(84558);const ve=(0,p.memo)(function({size:e}){const t=(0,d.useStyles2)(Se);return m().createElement("img",{className:(0,l.cx)(t.logo,e),src:"public/plugins/grafana-metricsdrilldown-app/img/logo.svg",alt:"Metrics Drilldown Logo"})}),Se=()=>({logo:l.css`
|
|
&.small {
|
|
width: 24px;
|
|
height: 24px;
|
|
margin-right: 4px;
|
|
position: relative;
|
|
top: -2px;
|
|
}
|
|
|
|
&.large {
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
`}),we=ye.t,Oe=`https://github.com/grafana/metrics-drilldown/commit/${we}`,{buildInfo:Ee}=n.config;function xe(){const e=(0,d.useStyles2)(Pe),{meta:{info:{version:t,updated:r}}}=(0,s.usePluginContext)()||{meta:{info:{version:"?.?.?",updated:"?"}}};return m().createElement("div",{className:e.menuHeader},m().createElement("h5",null,m().createElement(ve,{size:"small"}),(0,c.t)("plugin-info.header.title","Grafana Metrics Drilldown v{{version}}",{version:t})),m().createElement("div",{className:e.subTitle},(0,c.t)("plugin-info.header.last-update","Last update: {{updated}}",{updated:r})))}function ke({getPrometheusBuildInfo:e}){const t=(0,d.useStyles2)(Pe),r="dev"===we,n=r?we:we.slice(0,8),[a,o]=(0,p.useState)();return(0,p.useEffect)(()=>{e().then(e=>o(e)).catch(e=>{i.v.warn("Error while fetching Prometheus build info!"),i.v.warn(e),o(void 0)})},[e]),m().createElement(d.Menu,{header:m().createElement(xe,null)},m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.commit-sha","Commit SHA: {{sha}}",{sha:n}),icon:"github",onClick:()=>window.open(Oe),disabled:r}),m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.changelog","Changelog"),icon:"list-ul",onClick:()=>window.open("https://github.com/grafana/metrics-drilldown/blob/main/CHANGELOG.md","_blank","noopener,noreferrer")}),m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.contribute","Contribute"),icon:"external-link-alt",onClick:()=>window.open("https://github.com/grafana/metrics-drilldown/blob/main/docs/contributing.md","_blank","noopener,noreferrer")}),m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.documentation","Documentation"),icon:"document-info",onClick:()=>window.open("https://grafana.com/docs/grafana/latest/explore/simplified-exploration/metrics","_blank","noopener,noreferrer")}),m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.report-issue","Report an issue"),icon:"bug",onClick:()=>window.open("https://github.com/grafana/metrics-drilldown/issues/new?template=bug_report.md","_blank","noopener,noreferrer")}),m().createElement(d.Menu.Divider,null),m().createElement(d.Menu.Item,{label:(0,c.t)("plugin-info.menu.grafana-version","Grafana {{edition}} v{{version}} ({{env}})",{edition:Ee.edition,version:Ee.version,env:Ee.env}),icon:"grafana",onClick:()=>window.open(`https://github.com/grafana/grafana/commit/${Ee.commit}`,"_blank","noopener,noreferrer")}),a&&m().createElement(d.Menu.Item,{className:t.promBuildInfo,label:(0,c.t)("plugin-info.menu.prom-build-info","{{application}} {{version}} {{buildDate}}",{application:a.application||"?",version:a.version,buildDate:a.buildDate?`(${a.buildDate})`:""}),icon:"gf-prometheus",onClick:()=>window.open(`${a.repository}/commit/${a.revision}`,"_blank","noopener,noreferrer")}))}function Ce({getPrometheusBuildInfo:e}){return m().createElement(d.Dropdown,{overlay:()=>m().createElement(ke,{getPrometheusBuildInfo:e}),placement:"bottom-end"},m().createElement(d.Button,{icon:"info-circle",variant:"secondary",tooltip:(0,c.t)("plugin-info.button.tooltip","Plugin info"),tooltipPlacement:"top",title:(0,c.t)("plugin-info.button.title","Plugin info"),"data-testid":"plugin-info-button"}))}const Pe=e=>({button:l.css`
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
line-height: 30px;
|
|
border: 1px solid ${e.colors.border.weak};
|
|
border-radius: 2px;
|
|
border-left: 0;
|
|
color: ${e.colors.text.primary};
|
|
background: ${e.colors.background.secondary};
|
|
|
|
&:hover {
|
|
border-color: ${e.colors.border.medium};
|
|
background-color: ${e.colors.background.canvas};
|
|
}
|
|
`,menuHeader:l.css`
|
|
padding: ${e.spacing(.5,1)};
|
|
white-space: nowrap;
|
|
`,subTitle:l.css`
|
|
color: ${e.colors.text.secondary};
|
|
font-size: ${e.typography.bodySmall.fontSize};
|
|
`,promBuildInfo:l.css`
|
|
& svg {
|
|
color: #e5502a;
|
|
}
|
|
`});var je=r(76217);const _e={OPEN_EXPLORE_LABEL:"Open in explore",COPY_URL_LABEL:"Copy url",BOOKMARK_LABEL:"Bookmark",SELECT_NEW_METRIC_TOOLTIP:"Remove existing metric and choose a new metric"};function Te(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Ie extends a.SceneObjectBase{constructor(e={}){super(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){Te(e,t,r[t])})}return e}({},e)),Te(this,"onSelectNewMetric",()=>{const e=Ze(this);(0,b.z)("selected_metric_action_clicked",{action:"unselect"}),e.publishEvent(new o.OO({}))})}}Te(Ie,"Component",({model:e})=>{const t=Ze(e),{embedded:r}=t.useState();return r?m().createElement(d.LinkButton,{href:(0,je.Rk)(tt(t)),variant:"secondary",icon:"arrow-right",tooltip:(0,c.t)("select-new-metric.open-in-drilldown-tooltip","Open in Metrics Drilldown"),onClick:()=>(0,b.z)("selected_metric_action_clicked",{action:"open_from_embedded"}),"data-testid":"open-metrics-drilldown-button"},(0,c.t)("select-new-metric.metrics-drilldown","Metrics Drilldown")):m().createElement(d.ToolbarButton,{variant:"canvas",tooltip:_e.SELECT_NEW_METRIC_TOOLTIP,onClick:e.onSelectNewMetric,"data-testid":"select-new-metric-button"},(0,c.t)("select-new-metric.button","Select new metric"))});var Ae=r(16170),De=r(73787);function Ne(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function Be(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){Ne(i,n,a,o,s,"next",e)}function s(e){Ne(i,n,a,o,s,"throw",e)}o(void 0)})}}function Me(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Le extends a.SceneObjectBase{getUrlState(){return{metric:this.state.metric}}updateFromUrl(e){this.state.embedded||this.updateStateForNewMetric(e.metric||void 0)}onActivate(){!function(e){try{for(const t of e)(0,a.registerRuntimeDataSource)({dataSource:t})}catch(e){const{message:t}=e;/A runtime data source with uid (.+) has already been registered/.test(t)||(0,O.jx)(e,["Fail to register all the runtime data sources!","The application cannot work as expected, please try reloading the page or if the problem persists, contact your organization admin."])}}([new E.J]),setTimeout(()=>{this.datasourceHelper.init()},0),this.updateStateForNewMetric(this.state.metric),this.subscribeToEvent(o.OO,e=>this.handleMetricSelectedEvent(e)),this.subscribeToEvent(T.Z,e=>{this.openAddToDashboardModal(e.payload.panelData)}),this.initFilters(),this.initConfigPrometheusFunction()}updateStateForNewMetric(e){if(!this.state.topScene||e!==this.state.metric){const t=[new a.VariableValueSelectors({layout:"vertical"}),new a.SceneControlsSpacer],r=e?[...t,new Ie,new a.SceneTimePicker({}),new a.SceneRefreshPicker({})]:[...t,new a.SceneTimePicker({}),new a.SceneRefreshPicker({})];this.setState({metric:e,topScene:e?new he.R({metric:e}):new j.m,controls:r})}}initFilters(){const e=a.sceneGraph.lookupVariable(o.Ao,this);(0,ge.BE)(e)&&(!function(e,t,r){if(!(0,ge.BE)(t))return;t.setState({getTagKeysProvider:()=>Qe(function*(){var n;const a={filters:t.state.filters,scopes:null===(n=ze())||void 0===n?void 0:n.value,queries:t.state.useQueriesAsFilterForOptions?rt(e):[]};return a.queries.length>20&&(a.queries=[]),{replace:!0,values:(yield r.getTagKeys(a)).slice(0,nt)}})(),getTagValuesProvider:(n,a)=>Qe(function*(){var n;const i=t.state.filters.filter(e=>e.key!==a.key),o={key:a.key,filters:i,scopes:null===(n=ze())||void 0===n?void 0:n.value,queries:t.state.useQueriesAsFilterForOptions?rt(e):[]};o.queries.length>20&&(o.queries=[]);return{replace:!0,values:(yield r.getTagValues(o)).slice(0,nt)}})()})}(this,e,this.datasourceHelper),null==e||e.setState({useQueriesAsFilterForOptions:Boolean(this.state.metric)}),this.subscribeToState((e,t)=>{if(e.metric!==t.metric){const t=a.sceneGraph.lookupVariable(o.Ao,this);(0,ge.BE)(t)&&t.setState({useQueriesAsFilterForOptions:Boolean(e.metric)})}}),this._subs.add(null==e?void 0:e.subscribeToState((e,t)=>{this.disableReportFiltersInteraction||e.filters===t.filters||(0,b.h)(e.filters,t.filters)})))}initConfigPrometheusFunction(){this.subscribeToState((e,t)=>{e.metric!==t.metric&&this.state.drawer.close()}),this.subscribeToEvent(me.H,e=>Be(function*(){const{metric:t}=e.payload;(0,b.z)("configure_panel_opened",{metricType:t.type}),this.state.drawer.open({title:(0,c.t)("data-trail.configure-drawer.title","Configure the Prometheus function"),subTitle:`${t.name} (${t.type})`,body:new de({metric:t})})}).call(this)),this.subscribeToEvent(te,()=>{this.state.drawer.close()}),this.subscribeToEvent(ee,e=>Be(function*(){const{metric:t,config:r,restoreDefault:n}=e.payload;n?(0,b.z)("default_panel_config_restored",{metricType:t.type}):(0,b.z)("panel_config_applied",{metricType:t.type,configId:r.id}),this.state.drawer.close(),(0,be.b)(this.state.topScene||this);const i=a.sceneGraph.findAllObjects(this.state.topScene||this,e=>e instanceof X.m&&e.state.metric===t.name&&!e.state.queryConfig.groupBy);for(const e of i)e.update(r.panelOptions,r.queryOptions);(0,O.qq)([`Configuration successfully ${n?"restored":"applied"} for metric ${t.name}!`])}).call(this))}handleMetricSelectedEvent(e){return Be(function*(){const{metric:t,urlValues:r}=e.payload;if(t){var n;(0,k.VN)(t);const e=((null===(n=new URLSearchParams(window.location.search).get("filters-prefix"))||void 0===n?void 0:n.split(",").filter(e=>e))||[]).filter(e=>e.includes(":"));(0,b.z)("metric_selected",{from:"metric_list",searchTermCount:null,has_hierarchical_filter:e.length>0,hierarchical_filter_count:e.length})}else a.sceneGraph.findByKeyAndType(this,P.$,P.s).fetchAllOrRecentMetrics();const i=a.sceneGraph.lookupVariable(o.Ao,this);(0,ge.BE)(i)&&i.setState({baseFilters:$e(t)}),this._urlSync.performBrowserHistoryAction(()=>{if(this.updateStateForNewMetric(t),r){var e;(null===(e=r[`var-${o.Ao}`])||void 0===e?void 0:e.length)||(r[`var-${o.Ao}`]=[""]);const t=s.urlUtil.renderUrl("",r);a.sceneUtils.syncStateFromSearchParams(this,new URLSearchParams(t))}})}).call(this)}addFilterWithoutReportingInteraction(e){const t=a.sceneGraph.lookupVariable(o.Ao,this);(0,ge.BE)(t)&&(this.disableReportFiltersInteraction=!0,t.setState({filters:[...t.state.filters,e]}),this.disableReportFiltersInteraction=!1)}getMetadataForMetric(e){return Be(function*(){return this.datasourceHelper.getMetadataForMetric(e)}).call(this)}fetchRecentMetrics(e){return Be(function*({interval:e,extraFilter:t}){return this.datasourceHelper.fetchRecentMetrics({interval:e,extraFilter:t})}).apply(this,arguments)}openAddToDashboardModal(e){(0,b.z)("add_to_dashboard_modal_opened",{}),this.setState({isAddToDashboardModalOpen:!0,addToDashboardPanelData:e})}constructor(e){var t,r,n,i,s;super(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){Me(e,t,r[t])})}return e}({$timeRange:null!==(r=e.$timeRange)&&void 0!==r?r:new a.SceneTimeRange({}),$variables:null!==(n=e.$variables)&&void 0!==n?n:Re(e.initialDS,e.metric,e.initialFilters),controls:null!==(i=e.controls)&&void 0!==i?i:[new a.VariableValueSelectors({layout:"vertical"}),new a.SceneControlsSpacer,new a.SceneTimePicker({}),new a.SceneRefreshPicker({})],createdAt:null!==(s=e.createdAt)&&void 0!==s?s:(new Date).getTime(),dashboardMetrics:{},alertingMetrics:{},drawer:new w({}),isAddToDashboardAvailable:!1,isAddToDashboardModalOpen:!1},e)),Me(t=this,"disableReportFiltersInteraction",!1),Me(t,"datasourceHelper",new Ae.q(t)),Me(t,"_variableDependency",new a.VariableDependencyConfig(t,{variableNames:[o.EY],onReferencedVariableValueChanged:()=>{t.datasourceHelper.reset()}})),Me(t,"_urlSync",new a.SceneObjectUrlSyncConfig(t,{keys:["metric"]})),Me(t,"getPrometheusBuildInfo",()=>Be(function*(){return t.datasourceHelper.getPrometheusBuildInfo()})()),Me(t,"closeAddToDashboardModal",()=>{t.setState({isAddToDashboardModalOpen:!1,addToDashboardPanelData:void 0})}),t.addActivationHandler(t.onActivate.bind(t))}}function Re(e,t,r){let i=[new De.i({initialDS:e}),new P.s,new C.P,new a.AdHocFiltersVariable({key:o.Ao,name:o.Ao,label:(0,c.t)("data-trail.filters.label","Filters"),addFilterButtonText:(0,c.t)("data-trail.filters.add-label","Add label"),datasource:o.GH,hide:s.VariableHide.dontHide,layout:"combobox",filters:null!=r?r:[],baseFilters:$e(t),applyMode:"manual",allowCustomValue:!0,useQueriesAsFilterForOptions:!1,expressionBuilder:e=>e.filter(e=>"__name__"!==e.key).map(e=>`${(0,u.Nc)(e.key)}${e.operator}"${e.value}"`).join(",")}),new x.O];return Boolean(n.config.featureToggles.scopeFilters&&n.config.featureToggles.enableScopesInMetricsExplore&&!n.config.buildInfo.version.startsWith("11."))&&i.unshift(new a.ScopesVariable({enable:!0})),new a.SceneVariableSet({variables:i})}function Ve(e,t,r){const n=(0,fe.T)(e,r);return{container:(0,l.css)({flexGrow:1,padding:e.spacing(1,2),position:"relative",background:n}),body:(0,l.css)({flexGrow:1,minHeight:0}),controls:(0,l.css)({padding:e.spacing(1,0),position:"sticky",background:n,zIndex:e.zIndex.navbarFixed,top:t,borderBottom:`1px solid ${e.colors.border.weak}`})}}function $e(e){return e?[{key:"__name__",operator:"=",value:e}]:[]}function Fe(){const e=document.querySelector('[data-testid="app-controls"]');if(!e)return;const{height:t}=e.getBoundingClientRect();document.documentElement.style.setProperty("--app-controls-height",`${t}px`)}Me(Le,"Component",({model:e})=>{const{controls:t,topScene:r,embedded:o,embeddedMini:s,drawer:l,isAddToDashboardModalOpen:c,addToDashboardPanelData:u}=e.useState();var h;const g=null!==(h=(0,n.useChromeHeaderHeight)())&&void 0!==h?h:0,y=o?0:g,v=(0,d.useStyles2)(Ve,y,e),{component:S,isLoading:w}=(0,n.usePluginComponent)(_.N);return(0,p.useEffect)(()=>{const t=!w&&Boolean(S);w||S||i.v.warn(`Failed to load add to dashboard component: ${_.N}`),e.state.isAddToDashboardAvailable!==t&&e.setState({isAddToDashboardAvailable:t})},[w,S,e]),(0,p.useEffect)(()=>{Fe();const e=document.querySelector('[data-testid="app-controls"]');if(!e)return;const t=new ResizeObserver(Fe);return t.observe(e),()=>{t.disconnect(),document.documentElement.style.removeProperty("--app-controls-height")}},[o,t]),m().createElement(m().Fragment,null,m().createElement("div",{className:v.container},m().createElement(d.Stack,{direction:"column",gap:1,grow:1},t&&!s&&m().createElement("div",{className:v.controls,"data-testid":"app-controls"},m().createElement(d.Stack,{direction:"row",gap:1,alignItems:"flex-end",wrap:"wrap"},!o&&m().createElement(f,null),t.map(e=>m().createElement(e.Component,{key:e.state.key,model:e})),m().createElement(d.Stack,{direction:"row",gap:.5},m().createElement(Ce,{getPrometheusBuildInfo:e.getPrometheusBuildInfo})))),r&&(s?m().createElement("div",{className:v.body},m().createElement(r.Component,{model:r})):m().createElement(a.UrlSyncContextProvider,{scene:r,createBrowserHistorySteps:!0,updateUrlOnInit:!0,namespace:e.state.urlNamespace},m().createElement("div",{className:v.body},m().createElement(d.Stack,{direction:"column",grow:1},m().createElement(r.Component,{model:r}))))))),m().createElement(l.Component,{model:l}),c&&S&&u&&m().createElement(d.Modal,{title:_.E,isOpen:!0,onDismiss:e.closeAddToDashboardModal},(0,p.createElement)(S,{onClose:e.closeAddToDashboardModal,buildPanel:()=>{var e,t,r,n;const a=null!==(n=String(null==u||null===(r=u.panel)||void 0===r||null===(t=r.targets)||void 0===t||null===(e=t[0])||void 0===e?void 0:e.expr))&&void 0!==n?n:"";return(0,b.z)("add_to_dashboard_build_panel",{expr:a}),u.panel},timeRange:u.range,options:{useAbsolutePath:!0}})))});var qe=r(90927);function Ge(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ze(){return new He}class He extends a.SceneObjectBase{getSelectedScopes(){return this.selectedScopes}getSelectedScopesNames(){return this.selectedScopes.map(({scope:e})=>e.metadata.name)}setSelectedScopes(e){this.selectedScopes=e,this.notifySubscribers()}onScopesChange(e){return this.onScopesChangeCallbacks.push(e),()=>{this.onScopesChangeCallbacks=this.onScopesChangeCallbacks.filter(t=>t!==e)}}notifySubscribers(){for(const e of this.onScopesChangeCallbacks)e(this.selectedScopes)}get value(){return[]}constructor(){super({}),Ge(this,"selectedScopes",[]),Ge(this,"onScopesChangeCallbacks",[])}}var Ue=r(98928);function Ke(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function Qe(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){Ke(i,n,a,o,s,"next",e)}function s(e){Ke(i,n,a,o,s,"throw",e)}o(void 0)})}}function We(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ye(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){We(e,t,r[t])})}return e}function Xe(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function Ze(e){return a.sceneGraph.getAncestor(e,Le)}const Je="gmd";function et(e){var t,r,n;return new Le(Ye({initialDS:null==e?void 0:e.initialDS,$timeRange:null!==(t=null==e?void 0:e.$timeRange)&&void 0!==t?t:new a.SceneTimeRange({from:"now-1h",to:"now"}),embedded:null!==(r=null==e?void 0:e.embedded)&&void 0!==r&&r,embeddedMini:null!==(n=null==e?void 0:e.embeddedMini)&&void 0!==n&&n,urlNamespace:(null==e?void 0:e.embedded)&&!(null==e?void 0:e.embeddedMini)?Je:void 0},e))}function tt(e){const t=a.sceneUtils.getUrlState(e);return s.urlUtil.renderUrl(Ue.b.Drilldown,t)}function rt(e){return a.sceneGraph.findAllObjects(e,qe.x).flatMap(e=>e.state.queries.map(t=>Xe(Ye({},t),{expr:a.sceneGraph.interpolate(e,t.expr)})))}const nt=1e4;function at(e){return e?e===o.td?"Logs":e:"All metrics"}function it(e){const t=n.config.theme2.visualization;return t.getColorByName(t.palette[e%8])}function ot(){}function st(e){return Object.values(e)}function lt(e){return Object.keys(e)}},71415:(e,t,r)=>{r.d(t,{W:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="quick-search-changed",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},73303:(e,t,r)=>{r.d(t,{d:()=>s});var n=r(37768),a=r(82007),i=r(85959),o=r.n(i);function s({label:e,batchSizes:t,onClick:r,tooltip:i}){const s=1===t.increment?(0,n.t)("show-more-button.text-singular","Show {{increment}} more {{label}} ({{current}}/{{total}})",{increment:t.increment,label:e,current:t.current,total:t.total}):(0,n.t)("show-more-button.text-plural","Show {{increment}} more {{label}}s ({{current}}/{{total}})",{increment:t.increment,label:e,current:t.current,total:t.total});return o().createElement(a.Button,{variant:"secondary",fill:"outline",onClick:r,tooltip:i,tooltipPlacement:"top"},s)}},73787:(e,t,r)=>{r.d(t,{i:()=>d});var n=r(37768),a=r(18531),i=r(28904),o=r(90903),s=r(15425),l=r(26875),c=r(81311),u=r(37846);class d extends i.DataSourceVariable{onActivate(){this.setState({skipUrlSync:!1}),this.subscribeToState((e,t)=>{e.value&&e.value!==t.value&&c.x.setItem(l.V.DATASOURCE,e.value)})}static getCurrentDataSource(){const e=Object.values(a.config.datasources).filter(e=>(0,u.aQ)(e)),t=new URL(window.location.href).searchParams.get(`var-${s.EY}`),r=c.x.getItem(l.V.DATASOURCE),n=e.find(e=>e.uid===t)||e.find(e=>e.uid===r)||e.find(e=>e.isDefault)||e[0];return n?n.uid:(o.v.warn("Cannot find any Prometheus data source!"),"no-data-source-configured")}constructor({initialDS:e}){super({key:s.EY,name:s.EY,pluginId:"prometheus",label:(0,n.t)("data-source-variable.label","Data source"),description:(0,n.t)("data-source-variable.description","Only prometheus data sources are supported"),skipUrlSync:!e,value:e||d.getCurrentDataSource()}),this.addActivationHandler(this.onActivate.bind(this))}}},74406:(e,t,r)=>{r.d(t,{V:()=>c,h:()=>l});var n=r(37768),a=r(28904),i=r(25067),o=r(22719);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const l="filtered-metrics-wingman";class c extends a.CustomVariable{onActivate(){const e=a.sceneGraph.findByKeyAndType(this,i.$,i.s),{loading:t,error:r,options:n}=e.state;this.setState({loading:t,error:r,options:n}),this._subs.add(e.subscribeToState((e,t)=>{const r=t.loading&&!e.loading;this.setState(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){s(e,t,r[t])})}return e}({loading:e.loading,error:e.error},r&&{options:e.options}))}))}constructor(){return super({key:l,name:l,label:(0,n.t)("filtered-metrics-variable.label","Filtered Metrics"),loading:!1,error:null,options:[],includeAll:!0,value:"$__all",skipUrlSync:!0}),this.addActivationHandler(this.onActivate.bind(this)),(0,o.I)(this)}}},74415:(e,t,r)=>{r.d(t,{k:()=>s});var n=r(28904),a=r(93241),i=r(18765);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class s{setInitOptions(e){this.initOptions=(0,a.cloneDeep)(e)}getFilters(){return this.filters}static getFilteredOptions(e,t){let r=e;return t.categories.length>0&&(r=s.applyCategoryFilters(r,t.categories)),t.prefixes.length>0&&(r=s.applyPrefixFilters(r,t.prefixes)),t.suffixes.length>0&&(r=s.applySuffixFilters(r,t.suffixes)),t.names.length>0&&(r=s.applyNameFilters(r,t.names)),r}applyFilters(e=this.filters,t={forceUpdate:!1,notify:!0}){const r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){o(e,t,r[t])})}return e}({},this.filters,e);if(!t.forceUpdate&&(0,a.isEqual)(this.filters,r))return;if(!(r.categories.length||r.prefixes.length||r.suffixes.length||r.names.length))return this.filters=r,this.variable.setState({options:this.initOptions}),void(t.notify&&this.notifyUpdate());this.filters=r;const n=s.getFilteredOptions(this.initOptions,this.filters);this.variable.setState({options:n}),t.notify&&this.notifyUpdate()}static applyCategoryFilters(e,t){let r=[];for(const n of t){const t=s.buildRegex(n,"i");r=r.concat(e.filter(e=>t.test(e.value)))}return r}static applyPrefixFilters(e,t){const r=t.map(e=>{if(e.includes(i._)){const[t,r]=e.split(i._);return`^${t}[^a-z0-9]${r}([^a-z0-9]|$)`}return e.includes("|")?`${e.split("|").map(e=>`^${e}([^a-z0-9]|$)`).join("|")}`:`^${e}([^a-z0-9]|$)`}).join("|"),n=s.buildRegex(`(${r})`);return e.filter(e=>n.test(e.value))}static applySuffixFilters(e,t){const r=t.map(e=>e.includes("|")?`${e.split("|").map(e=>`(^|[^a-z0-9])${e}$`).join("|")}`:`(^|[^a-z0-9])${e}$`).join("|"),n=s.buildRegex(`(${r})`);return e.filter(e=>n.test(e.value))}static applyNameFilters(e,t){const[r]=t,n=r.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{try{return new RegExp(e)}catch(e){return null}}).filter(Boolean);return e.filter(e=>n.some(t=>t.test(e.value)))}static buildRegex(e,t){try{return new RegExp(e,t)}catch(e){return new RegExp(".*")}}notifyUpdate(){this.variable.publishEvent(new n.SceneVariableValueChangedEvent(this.variable),!0)}constructor(e){o(this,"variable",void 0),o(this,"initOptions",[]),o(this,"filters",{categories:[],prefixes:[],suffixes:[],names:[]}),this.variable=e}}},75413:(e,t,r)=>{r.d(t,{H:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="reset-sync-y-axis",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},78731:(e,t,r)=>{r.d(t,{H:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="configure-panel",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},80446:(e,t,r)=>{r.d(t,{D:()=>n});const n=e=>e.endsWith("_bucket")},81311:(e,t,r)=>{r.d(t,{x:()=>a});var n=r(62533);const a=new class{buildStorageKey(e){return`${this.service}.${e}`}getItem(e){const t=this.buildStorageKey(e),r=localStorage.getItem(t);return null===r?null:JSON.parse(r)}setItem(e,t){const r=this.buildStorageKey(e);localStorage.setItem(r,JSON.stringify(t))}removeItem(e){const t=this.buildStorageKey(e);localStorage.removeItem(t)}clear(){localStorage.clear()}constructor(e){var t,r,n;n=void 0,(r="service")in(t=this)?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,this.service=e}}(n.id)},83535:(e,t,r)=>{r.d(t,{NJ:()=>w,Rm:()=>k,VN:()=>y,bG:()=>x,fD:()=>O,yH:()=>E});var n=r(37768),a=r(28904),i=r(85959),o=r.n(i),s=r(22590),l=r(90903),c=r(26875),u=r(81311),d=r(62494),p=r(16535);function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const f=6,g=30;function y(e){try{const t=v(),r=Date.now(),n=t.filter(t=>t.name!==e);n.unshift({name:e,timestamp:r});const a=n.slice(0,f);u.x.setItem(c.V.RECENT_METRICS,a)}catch(t){const r=t instanceof Error?t:new Error(String(t));l.v.error(r,h(b({},r.cause||{}),{metricName:e}))}}function v(){try{const e=u.x.getItem(c.V.RECENT_METRICS)||[];if(!e.length)return[];const t=Date.now()-24*g*60*60*1e3,r=e.filter(e=>e.timestamp>t);return r.length!==e.length&&u.x.setItem(c.V.RECENT_METRICS,r),r}catch(e){return l.v.error(e,{message:(0,n.t)("metrics-sorter.error.get-recent-metrics","Failed to get recent metrics:")}),[]}}const S=[{label:(0,n.t)("metrics-sorter.option.default","Default"),value:"default"},{label:(0,n.t)("metrics-sorter.option.alphabetical","Alphabetical [A-Z]"),value:"alphabetical"},{label:(0,n.t)("metrics-sorter.option.alphabetical-reversed","Alphabetical [Z-A]"),value:"alphabetical-reversed"},{label:(0,n.t)("metrics-sorter.option.dashboard-usage","Dashboard Usage"),value:"dashboard-usage"},{label:(0,n.t)("metrics-sorter.option.alerting-usage","Alerting Usage"),value:"alerting-usage"}],w="metrics-reducer-sort-by";class O extends a.SceneObjectBase{activationHandler(){const e=a.sceneGraph.getVariables(this).getByName(w);this.supportedSortByOptions.has(e.getValue())||e.changeValueTo("default"),this._subs.add(e.subscribeToState((e,t)=>{e.value!==t.value&&this.publishEvent(new d.S({sortBy:e.value}),!0)}))}getUsageDetailsForMetric(e,t){return this.usageFetcher.getUsageDetailsForMetric(e,t)}getUsageMetrics(e){return this.usageFetcher.getUsageMetrics(e).then(e=>{const t={};for(const r in e)t[r]=e[r].count;return t})}constructor(e){super(h(b({},e),{key:"metrics-sorter",$variables:new a.SceneVariableSet({variables:[new a.CustomVariable({name:w,label:(0,n.t)("metrics-sorter.label","Sort by"),value:"default",query:S.map(e=>`${e.label} : ${e.value}`).join(","),description:"Default metric sorting is alphabetical with recently-selected metrics first. Metrics can also be sorted purely alphabetically, by prevalence in dashboard panel queries, or by prevalence in alerting rules"})]}),inputControls:new a.VariableValueSelectors({layout:"horizontal"})})),m(this,"initialized",!1),m(this,"supportedSortByOptions",new Set(["alerting-usage","alphabetical","alphabetical-reversed","dashboard-usage","default"])),m(this,"usageFetcher",new p.d),this.addActivationHandler(()=>this.activationHandler())}}function E(e,t){return[...e].sort((e,r)=>{const n=t[e]||0,a=t[r]||0;return a!==n?a-n:(0,s._)(e,r)})}function x(e,t="asc"){const r="asc"===t?(e,t)=>(0,s._)(e,t):(e,t)=>(0,s._)(t,e);return[...e].sort((e,t)=>r(e,t))}function k(e){const t=v().map(e=>e.name),r=new Set(t),[n,a]=e.reduce(([e,t],n)=>(r.has(n)?e.push(n):t.push(n),[e,t]),[[],[]]),i=x(a);return[...t.filter(e=>n.includes(e)),...i]}m(O,"Component",({model:e})=>{const{inputControls:t}=e.useState();return o().createElement("div",{"data-testid":"sort-by-select"},o().createElement(t.Component,{model:t}))})},84138:(e,t,r)=>{r.d(t,{Z:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="open-add-to-dashboard",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},85518:(e,t,r)=>{r.d(t,{fe:()=>S,On:()=>w,c0:()=>O});var n=r(28904),a=r(85959),i=r.n(a),o=r(83535),s=r(16535),l=r(74406),c=r(65348),u=r(90903),d=r(57014),p=r(46089),m=r(37768),b=r(82007);function h({usageType:e,usageCount:t,singularUsageType:r,pluralUsageType:n,icon:a,dashboardItems:o}){const s=(0,b.useStyles2)(f);return i().createElement("div",{className:s.usageContainer,"data-testid":"usage-data-panel"},i().createElement(b.Stack,{direction:"row",justifyContent:"flex-start",alignItems:"center",gap:2},"dashboard-usage"===e?i().createElement(b.Dropdown,{placement:"right-start",overlay:i().createElement(b.Menu,{style:{maxWidth:"240px",maxHeight:"245px",overflowY:"auto"}},o.map(e=>i().createElement(b.Menu.Item,{key:e.id,label:"",url:e.url,target:"_blank",className:s.menuItem,component:()=>i().createElement(b.Tooltip,{content:1===e.count?(0,m.t)("usage-data.used-time-singular","Used {{count}} time in {{label}}",{count:e.count,label:e.label}):(0,m.t)("usage-data.used-time-plural","Used {{count}} times in {{label}}",{count:e.count,label:e.label}),placement:"right"},i().createElement("div",{className:s.menuItemContent},i().createElement(b.Icon,{name:"external-link-alt"})," ",e.label," (",e.count,")"))})))},i().createElement(b.Button,{variant:"secondary",size:"sm",tooltip:1===t?(0,m.t)("usage-data.metric-used-singular","Metric used {{count}} time in dashboard queries. Click to view the dashboards.",{count:t}):(0,m.t)("usage-data.metric-used-plural","Metric used {{count}} times in dashboard queries. Click to view the dashboards.",{count:t}),className:(0,p.cx)(s.usageItem,s.clickableUsageItem)},i().createElement(b.Stack,{direction:"row",alignItems:"center",gap:.5,"data-testid":e},i().createElement(b.Icon,{name:a}),i().createElement("span",null,t)))):i().createElement(b.Tooltip,{content:1===t?(0,m.t)("usage-data.metric-used-in-singular","Metric is used in {{count}} {{usageType}}",{count:t,usageType:r}):(0,m.t)("usage-data.metric-used-in-plural","Metric is used in {{count}} {{usageType}}",{count:t,usageType:n}),placement:"top"},i().createElement("span",{className:s.usageItem,"data-testid":e},i().createElement(b.Stack,{direction:"row",alignItems:"center",gap:.5},i().createElement(b.Icon,{name:a}),i().createElement("span",null,t))))))}function f(e){return{usageContainer:(0,p.css)({padding:"8px 12px",border:`1px solid ${e.colors.border.weak}`,borderTopWidth:0,backgroundColor:e.colors.background.primary}),usageItem:(0,p.css)({color:e.colors.text.secondary,opacity:"65%"}),clickableUsageItem:(0,p.css)({backgroundColor:"transparent",border:"none"}),menuItem:(0,p.css)({color:e.colors.text.primary,textDecoration:"none","&:hover":{color:e.colors.text.link}}),menuItemContent:(0,p.css)({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:e.colors.text.primary,"&:hover":{color:e.colors.text.link}})}}function g(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const S="220px",w="260px";class O extends n.SceneObjectBase{_onActivate(){let e;try{e=n.sceneGraph.getAncestor(this,c.m)}catch(e){return}if(!e.state.enginesMap.get(l.h))return;const t=n.sceneGraph.findByKeyAndType(this,"metrics-sorter",o.fD),r=n.sceneGraph.getVariables(t).getByName(o.NJ);(0,d.UG)(r)&&(this.updateSortBy(t,r.getValue()),this._subs.add(r.subscribeToState(({value:e})=>{this.updateSortBy(t,e)})))}updateSortBy(e,t){return(r=function*(){if(this.setState({sortBy:t}),this.updateLayout(t),!(0,s.a)(t))return;const r=yield e.getUsageDetailsForMetric(this.state.metric,t);switch(r.usageType){case"dashboard-usage":this.setState({usageCount:r.count,singularUsageType:"dashboard panel query",pluralUsageType:"dashboard panel queries",icon:"apps",dashboardItems:Object.entries(r.dashboards).map(([e,t])=>({id:t.uid,label:e,count:t.count,url:t.url})).sort((e,t)=>t.count-e.count)});break;case"alerting-usage":this.setState({usageCount:r.count,singularUsageType:"alert rule",pluralUsageType:"alert rules",icon:"bell"})}},function(){var e=this,t=arguments;return new Promise(function(n,a){var i=r.apply(e,t);function o(e){g(i,n,a,o,s,"next",e)}function s(e){g(i,n,a,o,s,"throw",e)}o(void 0)})}).call(this);var r}updateLayout(e){const t=n.sceneGraph.getAncestor(this,n.SceneCSSGridLayout),r=null==t?void 0:t.state.autoRows,a=(0,s.a)(e)?w:S;r!==a&&t.setState({autoRows:a})}constructor(e){super(v(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}({},e),{sortBy:"default",usageCount:0,singularUsageType:"",pluralUsageType:"",icon:"",dashboardItems:[]})),this.addActivationHandler(this._onActivate.bind(this))}}y(O,"Component",({model:e})=>{const{vizPanelInGridItem:t,sortBy:r,usageCount:n,singularUsageType:a,pluralUsageType:o,icon:l,dashboardItems:c}=e.useState();if(t)return i().createElement("div",{"data-testid":"with-usage-data-preview-panel"},i().createElement(t.Component,{model:t}),(0,s.a)(r)&&i().createElement(h,{usageType:r,usageCount:n,singularUsageType:a,pluralUsageType:o,icon:l,dashboardItems:c}));u.v.log("no viz panel")})},87073:(e,t,r)=>{r.d(t,{h:()=>m,z:()=>d});var n=r(18531),a=r(17621),i=r(84558),o=r(40313);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const c="grafana_explore_metrics_";function u(e,t){return l(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){s(e,t,r[t])})}return e}({},t,function(e){const t={};return e.includes("sidebar")&&Object.assign(t,(0,a.rp)("experiment_default_open_sidebar",!0)),"metric_selected"===e&&Object.assign(t,(0,a.rp)("experiment_hierarchical_prefix_filtering",!0)),"quick_search_assistant_question_asked"!==e&&"quick_search_assistant_mode_entered"!==e||Object.assign(t,(0,a.rp)("experiment_grafana_assistant_quick_search_tab_test",!0)),t}(e)),{meta:{appRelease:n.config.apps[o.s].version,appVersion:i.t}})}function d(e,t){(0,n.reportInteraction)(`${c}${e}`,u(e,t))}function p(e,t){d("label_filter_changed",{label:e,action:t,cause:"adhoc_filter"})}function m(e,t){e.length===t.length?function(e,t){for(const r of t)for(const t of e)r.key===t.key&&r.value!==t.value&&p(r.key,"changed")}(e,t):e.length<t.length?function(e,t){for(const r of t)e.some(e=>e.key===r.key)||p(r.key,"removed")}(e,t):function(e,t){for(const r of e)!t.some(e=>e.key===r.key)&&p(r.key,"added")}(e,t)}},87560:(e,t,r)=>{r.d(t,{d:()=>o});var n=r(76064),a=r(97666),i=r(15425);function o(e){const{metric:t,labelMatchers:r=[],addIgnoreUsageFilter:o=!0,addExtremeValuesFiltering:s=!1}=e,l=r.map(e=>({label:(0,n.Nc)(e.key),operator:e.operator,value:e.value}));o&&l.push({label:"__ignore_usage__",operator:a.md.equal,value:""});const c=!(0,n.Rq)(t.name);c&&l.push({label:(0,n.Nc)(t.name),operator:a.md.equal,value:"__REMOVE__"}),l.push({label:`\${${i.Ao}:raw}`,operator:a.md.equal,value:"__REMOVE__"});const u=function(e){return e.toString().replaceAll('="__REMOVE__"',"")}(new a.r4({metric:c?"":t.name,values:{},defaultOperator:a.md.equal,defaultSelectors:l}));return s?a.GH.and({left:u,right:`${u} > -Inf`}):u}},88048:(e,t,r)=>{r.d(t,{N:()=>n});var n=function(e){return e[e.XS=100]="XS",e[e.S=180]="S",e[e.M=220]="M",e[e.L=260]="L",e[e.XL=280]="XL",e}({})},88758:(e,t,r)=>{r.d(t,{B:()=>a});var n=r(93241);const a=(e,t)=>e.length===t.length&&(0,n.isEqual)(e,t)},89047:(e,t,r)=>{r.d(t,{_:()=>s});var n=r(46089),a=r(82007),i=r(85959),o=r.n(i);function s({title:e,description:t}){const r=(0,a.useStyles2)(l);return o().createElement("h6",{className:r.title},o().createElement("span",null,e),o().createElement(a.Tooltip,{content:t,placement:"top"},o().createElement(a.Icon,{name:"info-circle",size:"sm",className:r.infoIcon})))}function l(e){return{title:(0,n.css)({fontSize:"15px",fontWeight:e.typography.fontWeightLight,borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(.5)}),infoIcon:(0,n.css)({marginLeft:e.spacing(1),cursor:"pointer",color:e.colors.text.secondary,position:"relative",top:"-4px"})}}},90927:(e,t,r)=>{function n(e){return null!=e&&"state"in e&&"runQueries"in e}function a(e){return e.includes("__ignore_usage__")?e.replace(/,?__ignore_usage__="",?/,""):e}r.d(t,{C:()=>a,x:()=>n})},91382:(e,t,r)=>{r.d(t,{MM:()=>b,l_:()=>m});const n="none",a="cps",i="bytes",o="seconds",s="percent",l="count",c={[i]:i,[o]:"s",[s]:s,[l]:n},u=Object.keys(c),d={[i]:"Bps",[o]:n,[l]:a,[s]:s};function p(e){const t=e.toLowerCase().split("_").slice(-2);for(let e=t.length-1;e>=Math.max(0,t.length-2);e--){const r=t[e];if(u.includes(r))return r}return null}function m(e){const t=p(e);return t&&c[t.toLowerCase()]||n}function b(e){const t=p(e);return t&&d[t]||a}},91826:(e,t,r)=>{r.d(t,{B:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="section-value-changed",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},92458:(e,t,r)=>{r.d(t,{x:()=>s});var n,a,i,o=r(87781);class s extends o.BusEventWithPayload{}i="metrics-variable-activated",(a="type")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},92738:(e,t,r)=>{r.d(t,{b:()=>o});var n=r(31269);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const o=e=>()=>t=>t.pipe((0,n.map)(t=>null==t?void 0:t.map(t=>{var r;return(null==t?void 0:t.fields[1])?((null===(r=t.fields[1].labels)||void 0===r?void 0:r[e])||(t.fields[1].labels=i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){a(e,t,r[t])})}return e}({},t.fields[1].labels),{[e]:`<unspecified ${e}>`})),t):t})))},93056:(e,t,r)=>{r.d(t,{a:()=>p,k:()=>l});var n=r(28904),a=r(85959),i=r.n(a),o=r(88758),s=r(90903);class l extends n.SceneObjectBase{performRepeat(e){var t,r,n,a;if(e.state.error)return void this.setState({errorLayout:null===(t=(r=this.state).getLayoutError)||void 0===t?void 0:t.call(r,e.state.error),loadingLayout:void 0,emptyLayout:void 0,currentBatchSize:0});if(e.state.loading)return void this.setState({loadingLayout:null===(n=(a=this.state).getLayoutLoading)||void 0===n?void 0:n.call(a),errorLayout:void 0,emptyLayout:void 0,currentBatchSize:0});const i=p(e);var o,s;if(!i.length)return void this.setState({emptyLayout:null===(o=(s=this.state).getLayoutEmpty)||void 0===o?void 0:o.call(s),errorLayout:void 0,loadingLayout:void 0,currentBatchSize:0});this.setState({loadingLayout:void 0,errorLayout:void 0,emptyLayout:void 0,currentBatchSize:this.state.initialPageSize});const l=i.slice(0,this.state.initialPageSize).map((e,t)=>this.state.getLayoutChild(e,t,i)).filter(Boolean);this.state.body.setState({children:l})}increaseBatchSize(){const e=p(n.sceneGraph.lookupVariable(this.state.variableName,this)),t=this.state.currentBatchSize+this.state.pageSizeIncrement,r=e.slice(this.state.currentBatchSize,t).map((t,r)=>this.state.getLayoutChild(t,this.state.currentBatchSize+r,e)).filter(Boolean);this.state.body.setState({children:[...this.state.body.state.children,...r]}),this.setState({currentBatchSize:t})}useSizes(){const{currentBatchSize:e,pageSizeIncrement:t}=this.useState(),r=n.sceneGraph.lookupVariable(this.state.variableName,this).state.options.length,a=r-e;return{increment:a<t?a:t,current:e,total:r}}constructor({variableName:e,body:t,getLayoutChild:r,getLayoutLoading:a,getLayoutError:i,getLayoutEmpty:l,initialPageSize:c,pageSizeIncrement:u}){super({variableName:e,body:t,getLayoutChild:r,getLayoutLoading:a,getLayoutError:i,getLayoutEmpty:l,currentBatchSize:0,initialPageSize:c||6,pageSizeIncrement:u||9,loadingLayout:void 0,errorLayout:void 0,emptyLayout:void 0}),this.addActivationHandler(()=>{const e=n.sceneGraph.lookupVariable(this.state.variableName,this);if(!(e instanceof n.MultiValueVariable)){const e=new Error("SceneByVariableRepeater: variable is not a MultiValueVariable!");return void s.v.error(e)}this.performRepeat(e),this._subs.add(e.subscribeToState((t,r)=>{t.loading===r.loading&&(0,o.B)(t.options,r.options)||this.performRepeat(e)}))})}}var c,u,d;function p(e){const{value:t,text:r,options:n}=e.state;return e.hasAllValue()?n:Array.isArray(t)&&Array.isArray(r)?t.map((e,t)=>({value:e,label:r[t]})):[{value:t,label:r}]}d=({model:e})=>{const{body:t,loadingLayout:r,errorLayout:n,emptyLayout:a}=e.useState();return n?i().createElement(n.Component,{model:n}):r?i().createElement(r.Component,{model:r}):a?i().createElement(a.Component,{model:a}):i().createElement(t.Component,{model:t})},(u="Component")in(c=l)?Object.defineProperty(c,u,{value:d,enumerable:!0,configurable:!0,writable:!0}):c[u]=d},93265:(e,t,r)=>{r.d(t,{I:()=>n});var n=function(e){return e.HIGH="HIGH",e.MEDIUM="MEDIUM",e}({})},93649:(e,t,r)=>{r.d(t,{c:()=>m});var n=r(28904),a=r(91719);const i=new Map;function o(e,t){let r=i.get(e);r||(r=new Map,i.set(e,r));let n=r.get(t);if(!n){const i=e.split("_"),o=i.slice(0,i.length/2).join("_");n={halfLeven:(0,a.A)(o,t)||0,wholeLeven:(0,a.A)(e,t)||0},r.set(t,n)}return n}var s=r(83535),l=r(90903),c=r(88758);function u(e,t,r,n,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){u(i,n,a,o,s,"next",e)}function s(e){u(i,n,a,o,s,"throw",e)}o(void 0)})}}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class m{sort(){return d(function*(e=this.sortBy,t={}){const r=this.variable.state.options.map(e=>e.value);if(e===this.sortBy&&(0,c.B)(r,this.lastMetrics))return;let n;switch(e){case"alphabetical":n=(0,s.bG)(r,"asc");break;case"alphabetical-reversed":n=(0,s.bG)(r,"desc");break;case"dashboard-usage":case"alerting-usage":n=yield this.sortByUsage(r,e);break;case"related":a=r,i=t.metric,n=a.sort((e,t)=>{const r=o(e,i),n=o(t,i);return r.halfLeven+r.wholeLeven-(n.halfLeven+n.wholeLeven)});break;default:n=(0,s.Rm)(r)}var a,i;this.sortBy=e,this.lastMetrics=n,this.variable.setState({options:n.map(e=>({label:e,value:e}))}),this.notifyUpdate()}).apply(this,arguments)}sortByUsage(e,t){return d(function*(){try{const r=n.sceneGraph.findByKeyAndType(this.variable,"metrics-sorter",s.fD);if(!r)return l.v.warn("Metrics sorter not found. Returning unsorted metrics.",{usageType:t}),e;const a=yield r.getUsageMetrics(t);return(0,s.yH)(e,a)}catch(r){const n="string"==typeof r?new Error(r):r;return l.v.error(n,{usageType:t}),e}}).call(this)}notifyUpdate(){this.variable.publishEvent(new n.SceneVariableValueChangedEvent(this.variable),!0)}constructor(e){p(this,"variable",void 0),p(this,"lastMetrics",void 0),p(this,"sortBy",void 0),this.variable=e,this.sortBy=void 0,this.lastMetrics=[]}}},95830:(e,t,r)=>{r.d(t,{U:()=>l,b:()=>p});var n=r(28904),a=r(93241),i=r(65593),o=r(75413),s=r(48164);function l(){const e=e=>{let t=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;const a=n.sceneGraph.getTimeRange(e).subscribeToState(()=>{t=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY}),l=e.subscribeToEvent(o.H,()=>{t=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY}),p=e.subscribeToEvent(i.N,()=>{let[n,a]=[t,r];const i=u(e).filter(e=>{var t;const{fieldConfig:r,$data:i}=e.state;return(!("min"in r.defaults)||!("max"in r.defaults))&&([n,a]=c((null==i||null===(t=i.state.data)||void 0===t?void 0:t.series)||[],n,a),!0)});n===t&&a===r?d(e,t,r,i):([t,r]=[n,a],d(e,n,a))}),m=e.subscribeToEvent(s.s,a=>{const{panelKey:i,series:o}=a.payload,[s,l]=c(o,t,r);s!==l&&s!==Number.NEGATIVE_INFINITY&&l!==Number.POSITIVE_INFINITY&&(s!==t||l!==r?([t,r]=[s,l],d(e,s,l)):d(e,t,r,[n.sceneGraph.findByKeyAndType(e,i,n.VizPanel)]))});return()=>{m.unsubscribe(),p.unsubscribe(),l.unsubscribe(),a.unsubscribe()}};return Object.defineProperty(e,"__name__",{value:"syncYAxis",configurable:!1,enumerable:!0,writable:!1}),e}function c(e,t,r){let[n,a]=[t,r];for(const t of e||[]){var i;const e=null===(i=t.fields[1])||void 0===i?void 0:i.values.filter(Boolean);e&&(n=Math.max(n,...e),a=Math.min(a,...e))}return[n,a]}function u(e){return n.sceneGraph.findAllObjects(e,e=>e instanceof n.VizPanel&&"timeseries"===e.state.pluginId)}function d(e,t,r,n){for(const i of n||u(e))i.clearFieldConfigCache(),i.setState({fieldConfig:(0,a.merge)((0,a.cloneDeep)(i.state.fieldConfig),{defaults:{min:r,max:t}})})}function p(e){const t=n.sceneGraph.findAllObjects(e,e=>{var t;return Boolean(null===(t=e.state.$behaviors)||void 0===t?void 0:t.some(e=>"syncYAxis"===e.__name__))});for(const e of t)e.publishEvent(new o.H({}),!0)}},99009:(e,t,r)=>{r.d(t,{o:()=>I,B:()=>T});var n=r(28904),a=r(31904),i=r(46089),o=r(87781),s=r(37768),l=r(82007),c=r(85959),u=r.n(c),d=r(34936),p=r(67787),m=r(87073);function b(e){const t=e.fields.find(e=>"Value"===e.name);return!!(t&&(r=t,"entities"in r&&Array.isArray(null===(n=r.entities)||void 0===n?void 0:n.NaN)))&&t.entities.NaN.length===e.length;var r,n}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){h(e,t,r[t])})}return e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function y(e){if("timeseries"!==e.state.pluginId)return;const[t]=n.sceneGraph.findDescendents(e,n.SceneQueryRunner);if(!t)return;const{queries:r}=t.state;if(!(null==r?void 0:r.length))return;const{metric:a,metricType:i,queryConfig:l}=n.sceneGraph.getAncestor(e,d.m).state;if("counter"===i)return;const c=t.subscribeToState((r,c)=>{var d,h,y,S;if((null===(d=r.data)||void 0===d?void 0:d.state)!==o.LoadingState.Done||!(null===(h=r.data.series)||void 0===h?void 0:h.length)||r.data.series===(null===(y=c.data)||void 0===y?void 0:y.series))return;const w=null===(S=r.data.series[0].meta)||void 0===S?void 0:S.type;if(w&&!w.startsWith("timeseries"))return;if(!r.data.series.every(b))return;const O=(0,p.H)({metric:{name:a,type:i},queryConfig:g(f({},l),{addExtremeValuesFiltering:!0})});t.setState({queries:O.queries}),t.runQueries(),e.setState({titleItems:u().createElement(v,{level:"info",message:(0,s.t)("extreme-value-filter.message","Panel data was re-fetched with a more complex query to handle extremely small values in the series")})}),(0,m.z)("extreme_value_filter_behavior_triggered",{expression:n.sceneGraph.interpolate(t,t.state.queries[0].expr)})});return()=>{c.unsubscribe()}}function v({message:e,level:t}){const r=(0,l.useStyles2)(S,t);return u().createElement("div",{className:r.extremeValuedisclaimer},u().createElement(l.Tooltip,{content:e},u().createElement("span",{className:r.warningMessage},u().createElement(l.Icon,{name:"warning"===t?"exclamation-triangle":"info-circle","aria-hidden":"true"}))))}const S=(e,t)=>({extremeValuedisclaimer:(0,i.css)({label:"extreme-value-disclaimer",display:"flex",alignItems:"center",gap:e.spacing(1)}),warningMessage:(0,i.css)({display:"flex",alignItems:"center",gap:e.spacing(.5),color:"warning"===t?e.colors.warning.main:e.colors.info.main,fontSize:e.typography.bodySmall.fontSize})});var w=r(15425),O=r(69989),E=r(91382),x=r(39140),k=r(31269);const C=()=>e=>e.pipe((0,k.map)(e=>null==e?void 0:e.map((e,t)=>(e.refId=`${e.refId}-${t}`,e))));var P=r(92738);function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const _=(e,t)=>()=>r=>r.pipe((0,k.map)(r=>null==r?void 0:r.slice(e,t).map(e=>{var t;return e.meta=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){j(e,t,r[t])})}return e}({},e.meta),(t=e.meta).stats||(t.stats=[]),e.meta.stats.unshift({displayName:"seriesCount",value:r.length}),e})));function T(e){var t;if(e.queryConfig.groupBy)return function(e){var t;const{metric:r,panelConfig:i,queryConfig:o}=e,s=(0,p.H)({metric:r,queryConfig:o}),l=s.isRateQuery?(0,E.MM)(r.name):(0,E.l_)(r.name),c=new n.SceneDataTransformer({$data:new n.SceneQueryRunner({datasource:w.GH,maxDataPoints:s.maxDataPoints,queries:s.queries}),transformations:[_(0,I),(0,P.b)(o.groupBy),C]}),{refId:u}=s.queries[0],d=i.fixedColorIndex||0,m=n.PanelBuilders.timeseries().setTitle(i.title).setDescription(i.description).setHeaderActions(i.headerActions({metric:r,panelConfig:i})).setMenu(null===(t=i.menu)||void 0===t?void 0:t.call(i,{metric:r,panelConfig:i})).setShowMenuAlways(Boolean(i.menu)).setData(c).setUnit(l).setOption("legend",i.legend||{showLegend:!0,placement:"right"}).setOption("tooltip",{mode:a.$N.Multi,sort:a.xB.Descending}).setOverrides(e=>{for(let t=0;t<I;t++)e.matchFieldsByQuery(`${u}-${t}`).overrideColor({mode:"fixed",fixedColor:(0,O.Vy)(d+t)})}).setBehaviors(i.behaviors).build();return m}(e);const{metric:r,panelConfig:i,queryConfig:o}=e,s=(0,p.H)({metric:r,queryConfig:o}),l=s.isRateQuery?(0,E.MM)(r.name):(0,E.l_)(r.name),c=o.data||new n.SceneQueryRunner({datasource:w.GH,maxDataPoints:s.maxDataPoints,queries:s.queries}),u=n.PanelBuilders.timeseries().setTitle(i.title).setDescription(i.description).setHeaderActions(i.headerActions({metric:r,panelConfig:i})).setMenu(null===(t=i.menu)||void 0===t?void 0:t.call(i,{metric:r,panelConfig:i})).setShowMenuAlways(Boolean(i.menu)).setData(c).setUnit(l).setOption("legend",i.legend||{showLegend:!0,placement:"bottom"}).setCustomFieldConfig("fillOpacity",9).setBehaviors([y,(0,x.o)(i.fixedColorIndex),...i.behaviors||[]]);if(1===s.queries.length)u.setColor(i.fixedColorIndex?{mode:"fixed",fixedColor:(0,O.Vy)(i.fixedColorIndex)}:void 0);else{const e=i.fixedColorIndex||0;u.setOverrides(t=>{s.queries.forEach((r,n)=>{t.matchFieldsByQuery(r.refId).overrideColor({mode:"fixed",fixedColor:(0,O.Vy)(e+n)})})})}return u.build()}const I=20}}]);
|
|
//# sourceMappingURL=73.js.map?_cache=6f804af5cfbabb36ed61
|