41 lines
177 KiB
JavaScript
41 lines
177 KiB
JavaScript
(self.webpackChunkgrafana_exploretraces_app=self.webpackChunkgrafana_exploretraces_app||[]).push([[211],{775:(e,t,n)=>{"use strict";n.d(t,{v:()=>u});var a,r,s,i=n(118),o=n(5959),l=n.n(o),c=n(3733);class u extends i.Bs{}s=({model:e})=>{const{message:t,remedyMessage:n,imgWidth:a,padding:r}=e.useState();return l().createElement(c.p,{message:t,remedyMessage:n,imgWidth:a,padding:r})},(r="Component")in(a=u)?Object.defineProperty(a,r,{value:s,enumerable:!0,configurable:!0,writable:!0}):a[r]=s},806:(e,t,n)=>{"use strict";n.d(t,{D9:()=>m,Ms:()=>u,Qt:()=>d});var a=n(5959),r=n.n(a),s=n(118),i=n(2007),o=n(1051),l=n(3761);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class u extends s.Bs{constructor(...e){super(...e),c(this,"onClick",()=>{var e;const t=(0,o.gG)(this);var n;const a=null!==(n=null===(e=this.state.frame.fields.find(e=>e.labels))||void 0===e?void 0:e.labels)&&void 0!==n?n:{};if(this.state.labelKey){if(!a[this.state.labelKey])return}else if(1!==Object.keys(a).length)return;var r;const s=null!==(r=this.state.labelKey)&&void 0!==r?r:Object.keys(a)[0],i=(0,o.ee)(this.state.frame,this.state.labelKey);d(t,s,i),this.state.onClick({labelName:s})})}}c(u,"Component",({model:e})=>{var t,n,a,s,l;const c=null!==(l=null===(t=e.state)||void 0===t?void 0:t.labelKey)&&void 0!==l?l:"",u=null===(n=e.state)||void 0===n?void 0:n.frame.fields.filter(e=>"time"!==e.type);var d;const p=null!==(d=null==u||null===(s=u[0])||void 0===s||null===(a=s.labels)||void 0===a?void 0:a[c])&&void 0!==d?d:"";return m((0,o.gG)(e),c,p.replace(/"/g,""))?r().createElement(r().Fragment,null):r().createElement(i.Button,{variant:"primary",size:"sm",fill:"text",onClick:e.onClick,icon:"search-plus"},"Add to filters")});const d=(e,t,n)=>{const a=e.state.filters.filter(e=>e.key===l.iH||e.key!==t);history.pushState(null,""),e.setState({filters:[...a,{key:t,operator:"=",value:n}]})},m=(e,t,n)=>(0,o.gG)(e).state.filters.find(e=>e.key===t&&e.value===n)},892:(e,t,n)=>{"use strict";n.d(t,{z:()=>r});var a=n(1829);function r(){return{refId:"A",query:`{${a.ui}} | histogram_over_time(duration) with(sample=true)`,queryType:"traceql",tableType:"spans",limit:1e3,spss:10,filters:[]}}},1051:(e,t,n)=>{"use strict";n.d(t,{BB:()=>Xe,W6:()=>Ue,xo:()=>Ke,_g:()=>Te,Is:()=>qe,U4:()=>De,_b:()=>He,u1:()=>Pe,dB:()=>ke,gG:()=>Be,pl:()=>$e,Ey:()=>Re,oT:()=>Oe,ee:()=>Ie,F3:()=>Fe,Kf:()=>Ve,GK:()=>We,H_:()=>ze,Fp:()=>_e,w$:()=>Qe,tI:()=>Ae,h7:()=>Me,gi:()=>Le,YX:()=>je,zY:()=>Ee,__:()=>Ne,Et:()=>Ye,em:()=>Ce,H:()=>Ge});var a=n(7781),r=n(118),s=n(2395),i=n(1829),o=n(3295),l=n(6089),c=n(5959),u=n.n(c),d=n(2468),m=n(2007),p=n(2645),f=n(8531),g=n(6338);const v=e=>{const{index:t,type:n,label:a,labelTitle:r,value:s,valueTitle:i,url:o}=e,l=(0,m.useStyles2)(h);return u().createElement("div",{key:t},0===t&&u().createElement("div",{className:l.rowHeader},u().createElement("span",null,r),u().createElement("span",{className:l.valueTitle},i)),u().createElement("div",{className:l.row,key:t,onClick:()=>{(0,g.EE)(g.NO.home,g.ir.home.panel_row_clicked,{type:n,index:t,value:s}),f.locationService.push(o)}},u().createElement("div",{className:"rowLabel"},a),u().createElement("div",{className:l.action},u().createElement("span",{className:l.actionText},s),u().createElement(m.Icon,{className:l.actionIcon,name:"arrow-right",size:"xl"}))))};function h(e){return{rowHeader:(0,l.css)({color:e.colors.text.secondary,display:"flex",justifyContent:"space-between",alignItems:"center",padding:`0 ${e.spacing(2)} ${e.spacing(1)} ${e.spacing(2)}`}),valueTitle:(0,l.css)({margin:"0 45px 0 0"}),row:(0,l.css)({display:"flex",justifyContent:"space-between",alignItems:"center",gap:e.spacing(2),padding:`${e.spacing(.75)} ${e.spacing(2)}`,"&:hover":{backgroundColor:e.isDark?e.colors.background.secondary:e.colors.background.primary,cursor:"pointer",".rowLabel":{textDecoration:"underline"}}}),action:(0,l.css)({display:"flex",alignItems:"center"}),actionText:(0,l.css)({color:"#d5983c",padding:`0 ${e.spacing(1)}`,width:"max-content"}),actionIcon:(0,l.css)({cursor:"pointer",margin:`0 ${e.spacing(.5)} 0 ${e.spacing(1)}`})}}const b=e=>{var t;const{series:n,type:r}=e,s=(0,m.useStyles2)(y),o=e=>{var t;const n=e.fields.find(e=>"time"!==e.name);var a;return null!==(a=null==n||null===(t=n.labels)||void 0===t?void 0:t["resource.service.name"].replace(/"/g,""))&&void 0!==a?a:"Service name not found"},l=e=>{const t={"var-filters":`resource.service.name|=|${o(e)}`,"var-metric":"errors"};return a.urlUtil.renderUrl(i.D5,t)},c=e=>{var t;const n=e.fields.find(e=>"time"!==e.name);var a;return null!==(a=null==n||null===(t=n.values)||void 0===t?void 0:t.reduce((e,t)=>"number"!=typeof e||isNaN(e)?t:e+t,0))&&void 0!==a?a:1};return u().createElement("div",{className:s.container},null===(t=n.sort((e,t)=>c(t)-c(e)).slice(0,10))||void 0===t?void 0:t.map((e,t)=>u().createElement("span",{key:t},u().createElement(v,{type:r,index:t,label:o(e),labelTitle:"Service",value:c(e),valueTitle:"Total errors",url:l(e)}))))};function y(e){return{container:(0,l.css)({padding:`${e.spacing(2)} 0`})}}var w=n(7975);function S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const E=e=>{const{series:t,type:n}=e,r=(0,m.useStyles2)(O),s=t[0].fields.find(e=>"duration"===e.name);if(s&&s.values){var o,l;const e=null==s||null===(o=s.values.map((e,t)=>t))||void 0===o?void 0:o.sort((e,t)=>(null==s?void 0:s.values[t])-(null==s?void 0:s.values[e])),c=t[0].fields.map(t=>x(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){S(e,t,n[t])})}return e}({},t),{values:null==e?void 0:e.map(e=>t.values[e])})),d=(e,t,n)=>{let a="";return(null==e?void 0:e.values[n])&&(a=e.values[n]),(null==t?void 0:t.values[n])&&(a=0===a.length?t.values[n]:`${a}: ${t.values[n]}`),0===a.length?"Trace service & name not found":a},m=(e,t,n,r)=>{if(!(t&&t.values[r]&&n&&n.values[r]))return console.error("SpanId or traceService not found"),i.bw.Explore;const s={traceId:e,spanId:t.values[r],"var-filters":`resource.service.name|=|${n.values[r]}`,"var-metric":"duration"};return a.urlUtil.renderUrl(i.D5,s)},p=(e,t)=>e&&e.values?(0,w.a3)(e.values[t]/1e3):"Duration not found",f=c.find(e=>"traceIdHidden"===e.name),g=c.find(e=>"spanID"===e.name),h=c.find(e=>"traceName"===e.name),b=c.find(e=>"traceService"===e.name),y=c.find(e=>"duration"===e.name);return u().createElement("div",{className:r.container},null==f||null===(l=f.values)||void 0===l?void 0:l.map((e,t)=>u().createElement("span",{key:t},u().createElement(v,{type:n,index:t,label:d(b,h,t),labelTitle:"Trace",value:p(y,t),valueTitle:"Duration",url:m(e,g,b,t)}))))}return null};function O(e){return{container:(0,l.css)({padding:`${e.spacing(2)} 0`})}}const j=e=>{var t;const{series:n,type:r}=e,s=(0,m.useStyles2)(k),o=e=>{var t;const n=e.fields.find(e=>"time"!==e.name);var a;return null!==(a=null==n||null===(t=n.labels)||void 0===t?void 0:t["resource.service.name"].replace(/"/g,""))&&void 0!==a?a:"Service name not found"},l=e=>{const t={"var-filters":`resource.service.name|=|${o(e)}`,"var-metric":"duration"};return a.urlUtil.renderUrl(i.D5,t)},c=e=>{var t;const n=e.fields.find(e=>"time"!==e.name);var a;return null!==(a=null==n||null===(t=n.values)||void 0===t?void 0:t.reduce((e,t)=>"number"!=typeof e||isNaN(e)?t:e+t,0))&&void 0!==a?a:1};return u().createElement("div",{className:s.container},null===(t=n.sort((e,t)=>c(t)-c(e)).slice(0,10))||void 0===t?void 0:t.map((e,t)=>u().createElement("span",{key:t},u().createElement(v,{type:r,index:t,label:o(e),labelTitle:"Service",value:(0,w.a3)(1e6*c(e)),valueTitle:"p90",url:l(e)}))))};function k(e){return{container:(0,l.css)({padding:`${e.spacing(2)} 0`})}}const C=e=>{const{series:t,type:n,message:a}=e,r=(0,m.useStyles2)(P);if(a)return u().createElement("div",{className:r.container},u().createElement("div",{className:r.message},u().createElement(m.Icon,{className:r.icon,name:"exclamation-circle",size:"xl"}),a));if(t&&t.length>0)switch(n){case"slowest-traces":return u().createElement(E,{series:t,type:n});case"errored-services":return u().createElement(b,{series:t,type:n});case"slowest-services":return u().createElement(j,{series:t,type:n})}return u().createElement("div",{className:r.container},"No series data")};function P(e){return{container:(0,l.css)({padding:`${e.spacing(2)} 0`}),icon:(0,l.css)({margin:`0 ${e.spacing(.5)} 0 ${e.spacing(1)}`}),message:(0,l.css)({display:"flex",gap:e.spacing(1.5),margin:`${e.spacing(2)} auto`,width:"60%"})}}class _ extends r.Bs{}var N,D,T;function I(e){switch(e){case"slowest-services":return"clock-nine";case"slowest-traces":return"crosshair";default:return"exclamation-triangle"}}function A(e){return{container:(0,l.css)({border:`1px solid ${e.isDark?e.colors.border.medium:e.colors.border.weak}`,borderRadius:e.spacing(.5),marginBottom:e.spacing(4),width:"100%"}),title:(0,l.css)({color:e.isDark?e.colors.text.secondary:e.colors.text.primary,backgroundColor:e.isDark?e.colors.background.secondary:e.colors.background.primary,borderTopLeftRadius:e.spacing(.5),borderTopRightRadius:e.spacing(.5),display:"flex",justifyContent:"center",alignItems:"center",fontSize:"1.3rem",padding:`${e.spacing(1.5)} ${e.spacing(2)}`}),titleText:(0,l.css)({marginLeft:e.spacing(1)})}}T=({model:e})=>{const{series:t,title:n,type:a,message:r}=e.useState(),s=(0,m.useStyles2)(A);return u().createElement("div",{className:s.container},u().createElement("div",{className:s.title},u().createElement(m.Icon,{name:I(a),size:"lg"}),u().createElement("span",{className:s.titleText},n)),u().createElement(C,{series:t,type:a,message:r}))},(D="Component")in(N=_)?Object.defineProperty(N,D,{value:T,enumerable:!0,configurable:!0,writable:!0}):N[D]=T;var $=n(3049),L=n(7197);function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){V(e,t,n[t])})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class B extends r.Bs{constructor(e){super(F({$data:new r.dt({datasource:i.Vl,queries:[z(F({refId:"A",queryType:"traceql",tableType:"spans",limit:10},e.query),{exemplars:0})]})},e)),this.addActivationHandler(()=>{const t=r.jh.getData(this);this._subs.add(t.subscribeToState(t=>{var n,s,i,l;if((null===(n=t.data)||void 0===n?void 0:n.state)===a.LoadingState.Done||(null===(s=t.data)||void 0===s?void 0:s.state)===a.LoadingState.Streaming)if((null===(l=t.data)||void 0===l?void 0:l.state)!==a.LoadingState.Done||0!==t.data.series.length&&0!==t.data.series[0].length){if(t.data.series.length>0){var c;if("slowest-traces"!==e.type||e.renderDurationPanel)this.setState({panel:new r.G1({children:[new _({series:t.data.series,title:e.title,type:e.type})]})});else if((null===(c=t.data)||void 0===c?void 0:c.state)===a.LoadingState.Done){var u,d;let n=(0,L.FC)(null!==(d=null===(u=t.data)||void 0===u?void 0:u.series)&&void 0!==d?d:[]);if(null==n?void 0:n.length){const{minDuration:t}=(0,L.jD)(n);var m;this.setState({panel:new r.G1({children:[new B({query:{query:`{nestedSetParent<0 && duration > ${t} ${null!==(m=e.filter)&&void 0!==m?m:""}}`},title:e.title,type:e.type,renderDurationPanel:!0})]})})}}}}else this.setState({panel:new r.G1({children:[new _({message:_e(e.title.toLowerCase()),title:e.title,type:e.type})]})});else(null===(i=t.data)||void 0===i?void 0:i.state)===a.LoadingState.Error?this.setState({panel:new r.G1({children:[new _({message:Pe(t),title:e.title,type:e.type})]})}):this.setState({panel:new r.G1({direction:"column",maxHeight:o.VV,height:o.VV,children:[new p.G({component:()=>R()})]})})}))})}}function M(){return{container:(0,l.css)({minWidth:"350px",width:"-webkit-fill-available"})}}V(B,"Component",({model:e})=>{const{panel:t}=e.useState(),n=(0,m.useStyles2)(M);if(t)return u().createElement("div",{className:n.container},u().createElement(t.Component,{model:t}))});const R=()=>{const e=(0,m.useStyles2)(H);return u().createElement("div",{className:e.container},u().createElement("div",{className:e.title},u().createElement($.A,{count:1,width:200})),u().createElement("div",{className:e.tracesContainer},[...Array(11)].map((t,n)=>u().createElement("div",{className:e.row,key:n},u().createElement("div",{className:e.rowLeft},u().createElement($.A,{count:1})),u().createElement("div",{className:e.rowRight},u().createElement($.A,{count:1}))))))};function H(e){return{container:(0,l.css)({border:`1px solid ${e.isDark?e.colors.border.medium:e.colors.border.weak}`,borderRadius:e.spacing(.5),marginBottom:e.spacing(4),width:"100%"}),title:(0,l.css)({color:e.colors.text.secondary,backgroundColor:e.colors.background.secondary,fontSize:"1.3rem",padding:`${e.spacing(1.5)} ${e.spacing(2)}`,textAlign:"center"}),tracesContainer:(0,l.css)({padding:`13px ${e.spacing(2)}`}),row:(0,l.css)({display:"flex",justifyContent:"space-between"}),rowLeft:(0,l.css)({margin:"7px 0",width:"150px"}),rowRight:(0,l.css)({width:"50px"})}}const q=()=>u().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"73",height:"72",viewBox:"0 0 73 72",fill:"none"},u().createElement("path",{d:"M65.3 8.09993C65.3 7.49993 64.7 7.19993 64.1 6.89993C52.7 3.89993 40.4 7.79993 32.9 16.7999L29 21.2999L20.9 19.1999C17.6 17.9999 14.3 19.4999 12.8 22.4999L6.49999 33.5999C6.49999 33.5999 6.49999 33.8999 6.19999 33.8999C5.89999 34.7999 6.49999 35.3999 7.39999 35.6999L17.6 37.7999C16.7 40.4999 15.8 43.1999 15.5 45.8999C15.5 46.4999 15.5 46.7999 15.8 47.0999L24.8 55.7999C25.1 56.0999 25.4 56.0999 26 56.0999C28.7 55.7999 31.7 55.1999 34.4 54.2999L36.5 64.1999C36.5 64.7999 37.4 65.3999 38 65.3999C38.3 65.3999 38.6 65.3999 38.6 65.0999L49.7 58.7999C52.4 57.2999 53.6 53.9999 53 50.9999L50.9 42.2999L55.1 38.3999C64.4 31.4999 68.3 19.4999 65.3 8.09993ZM10.1 33.2999L15.2 23.9999C16.1 22.1999 17.9 21.5999 19.7 22.1999L26.6 23.9999L23.6 27.5999C21.8 29.9999 20 32.3999 18.8 35.0999L10.1 33.2999ZM48.5 56.9999L39.2 62.3999L37.4 53.6999C40.1 52.4999 42.5 50.6999 44.9 48.8999L48.8 45.2999L50.6 52.1999C50.6 53.9999 50 56.0999 48.5 56.9999ZM53.3 36.8999L42.8 46.4999C38.3 50.3999 32.6 52.7999 26.6 53.3999L18.8 45.5999C19.7 39.5999 22.1 33.8999 26 29.3999L30.8 23.9999L31.1 23.6999L35.3 18.8999C41.9 11.0999 52.7 7.49993 62.6 9.59993C64.7 19.7999 61.4 30.2999 53.3 36.8999ZM49.7 16.7999C46.4 16.7999 44 19.4999 44 22.4999C44 25.4999 46.7 28.1999 49.7 28.1999C53 28.1999 55.4 25.4999 55.4 22.4999C55.4 19.4999 53 16.7999 49.7 16.7999ZM49.7 25.4999C48.2 25.4999 47 24.2999 47 22.7999C47 21.2999 48.2 20.0999 49.7 20.0999C51.2 20.0999 52.4 21.2999 52.4 22.7999C52.4 24.2999 51.2 25.4999 49.7 25.4999Z",fill:"#24292E",fillOpacity:"0.75"})),G=()=>u().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"73",height:"72",viewBox:"0 0 73 72",fill:"none"},u().createElement("path",{d:"M65.3 8.09993C65.3 7.49993 64.7 7.19993 64.1 6.89993C52.7 3.89993 40.4 7.79993 32.9 16.7999L29 21.2999L20.9 19.1999C17.6 17.9999 14.3 19.4999 12.8 22.4999L6.49999 33.5999C6.49999 33.5999 6.49999 33.8999 6.19999 33.8999C5.89999 34.7999 6.49999 35.3999 7.39999 35.6999L17.6 37.7999C16.7 40.4999 15.8 43.1999 15.5 45.8999C15.5 46.4999 15.5 46.7999 15.8 47.0999L24.8 55.7999C25.1 56.0999 25.4 56.0999 26 56.0999C28.7 55.7999 31.7 55.1999 34.4 54.2999L36.5 64.1999C36.5 64.7999 37.4 65.3999 38 65.3999C38.3 65.3999 38.6 65.3999 38.6 65.0999L49.7 58.7999C52.4 57.2999 53.6 53.9999 53 50.9999L50.9 42.2999L55.1 38.3999C64.4 31.4999 68.3 19.4999 65.3 8.09993ZM10.1 33.2999L15.2 23.9999C16.1 22.1999 17.9 21.5999 19.7 22.1999L26.6 23.9999L23.6 27.5999C21.8 29.9999 20 32.3999 18.8 35.0999L10.1 33.2999ZM48.5 56.9999L39.2 62.3999L37.4 53.6999C40.1 52.4999 42.5 50.6999 44.9 48.8999L48.8 45.2999L50.6 52.1999C50.6 53.9999 50 56.0999 48.5 56.9999ZM53.3 36.8999L42.8 46.4999C38.3 50.3999 32.6 52.7999 26.6 53.3999L18.8 45.5999C19.7 39.5999 22.1 33.8999 26 29.3999L30.8 23.9999L31.1 23.6999L35.3 18.8999C41.9 11.0999 52.7 7.49993 62.6 9.59993C64.7 19.7999 61.4 30.2999 53.3 36.8999ZM49.7 16.7999C46.4 16.7999 44 19.4999 44 22.4999C44 25.4999 46.7 28.1999 49.7 28.1999C53 28.1999 55.4 25.4999 55.4 22.4999C55.4 19.4999 53 16.7999 49.7 16.7999ZM49.7 25.4999C48.2 25.4999 47 24.2999 47 22.7999C47 21.2999 48.2 20.0999 49.7 20.0999C51.2 20.0999 52.4 21.2999 52.4 22.7999C52.4 24.2999 51.2 25.4999 49.7 25.4999Z",fill:"#CCCCDC",fillOpacity:"0.65"}));var W=n(1159);function U(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function Y(e){return function(){var t=this,n=arguments;return new Promise(function(a,r){var s=e.apply(t,n);function i(e){U(s,a,r,i,o,"next",e)}function o(e){U(s,a,r,i,o,"throw",e)}i(void 0)})}}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const Q=e=>(e.delete(i.$V),e.delete(`var-${i.pf}`),e.delete(`var-${i.xc}`),e),Z=()=>{const e=(0,f.usePluginUserStorage)();return{getBookmarks:()=>te(e),removeBookmark:t=>re(e,t),bookmarkExists:t=>se(e,t),toggleBookmark:()=>ne(e)}},J=e=>{if(!e||!e.params)return i.D5;const t=new URLSearchParams(e.params),n=Object.fromEntries(t.entries()),r=t.getAll(`var-${i.Ao}`),s=a.urlUtil.renderUrl(i.D5,X(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){K(e,t,n[t])})}return e}({},n),{[`var-${i.Ao}`]:r}));return s},ee=(e,t)=>Y(function*(){try{yield e.setItem(i.Sr,JSON.stringify(t))}catch(e){console.error("Failed to save bookmarks to storage:",e)}})(),te=e=>Y(function*(){try{const t=yield e.getItem(i.Sr);return t?JSON.parse(t):[]}catch(e){return console.error("Failed to get bookmarks from storage:",e),[]}})(),ne=e=>Y(function*(){const t={params:Q(new URLSearchParams(window.location.search)).toString()};return(yield se(e,t))?(yield re(e,t),!1):(yield ae(e,t),!0)})(),ae=(e,t)=>Y(function*(){const n=yield te(e);n.push(t),yield ee(e,n)})(),re=(e,t)=>Y(function*(){const n=(yield te(e)).filter(e=>!ie(t,e));yield ee(e,n)})(),se=(e,t)=>Y(function*(){return(yield te(e)).some(e=>ie(t,e))})(),ie=(e,t)=>{const n=Q(new URLSearchParams(e.params)),a=Q(new URLSearchParams(t.params)),r=`var-${i.Ao}`,s=Array.from(n.keys()).filter(e=>e!==r),o=Array.from(a.keys()).filter(e=>e!==r);if(s.length!==o.length)return!1;const l=s.every(e=>a.has(e)&&n.get(e)===a.get(e));if(!l)return!1;const c=n.getAll(r),u=a.getAll(r);return c.length===u.length&&c.every(e=>u.includes(e))};var oe=n(3761);const le=({bookmark:e})=>{let{actionView:t,primarySignal:n,metric:a,filters:r}=(e=>{if(!e||!e.params)return{actionView:"",primarySignal:"",filters:"",metric:""};const t=new URLSearchParams(e.params);var n,a,r;return{actionView:null!==(n=t.get(i.V2))&&void 0!==n?n:"",primarySignal:null!==(a=t.get(i.W5))&&void 0!==a?a:"",filters:t.getAll(`var-${i.Ao}`).join(i.x5),metric:null!==(r=t.get(`var-${i.PU}`))&&void 0!==r?r:""}})(e);const s=(0,m.useStyles2)(ce);return r=((e,t)=>{const n=(e=>{const t=(0,oe.$L)(e);if(!t||!t.filter)return"";const n=t.filter;return n.key&&n.operator&&void 0!==n.value?`${n.key}|${n.operator}|${n.value}`:""})(t);let a=e.split(i.x5);return a=a.filter(e=>e!==n),a.join(i.x5)})(r,n),r=r.replace(/\|=\|/g," = "),r=r.replace(i.$d,"").replace(i.zd,"").replace(i.X0,""),u().createElement("div",{title:r},u().createElement("div",null,u().createElement("b",null,Xe(a))," of ",u().createElement("b",null,n.replace("_"," "))," (",t,")"),u().createElement("div",{className:s.filters},r))};function ce(){return{filters:(0,l.css)({textOverflow:"ellipsis",overflow:"hidden",WebkitLineClamp:2,display:"-webkit-box",WebkitBoxOrient:"vertical"})}}function ue(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function de(e){return function(){var t=this,n=arguments;return new Promise(function(a,r){var s=e.apply(t,n);function i(e){ue(s,a,r,i,o,"next",e)}function o(e){ue(s,a,r,i,o,"throw",e)}i(void 0)})}}const me=()=>{const e=(0,m.useStyles2)(pe),{getBookmarks:t,removeBookmark:n}=Z(),[a,r]=(0,c.useState)([]),[s,i]=(0,c.useState)(!0),[o,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{de(function*(){i(!0);try{const e=yield t();r(e)}catch(e){console.error("Error loading bookmarks:",e),r([])}finally{i(!1)}})()},[]);return s?u().createElement("div",null,u().createElement("div",{className:e.header},u().createElement("h4",null,"Or view bookmarks")),u().createElement("div",{className:e.loading},u().createElement(m.LoadingPlaceholder,{text:"Loading bookmarks..."}))):u().createElement("div",null,u().createElement("div",{className:e.header},u().createElement("h4",null,"Or view bookmarks")),0===a.length?u().createElement("p",{className:e.noBookmarks},"Bookmark your favorite queries to view them here."):u().createElement("div",{className:e.bookmarks},a.map((a,s)=>u().createElement("div",{className:e.bookmark,key:s,onClick:()=>(e=>{(0,g.EE)(g.NO.home,g.ir.home.go_to_bookmark_clicked);const t=J(e);f.locationService.push(t)})(a)},u().createElement("div",{className:e.bookmarkItem},u().createElement(le,{bookmark:a})),u().createElement("div",{className:e.remove},u().createElement(m.Button,{variant:"secondary",fill:"text",icon:"trash-alt",disabled:o,onClick:e=>((e,a)=>de(function*(){a.stopPropagation(),l(!0);try{yield n(e);const a=yield t();r(a)}catch(e){console.error("Error removing bookmark:",e)}finally{l(!1)}})())(a,e)}))))))};function pe(e){return{header:(0,l.css)({textAlign:"center",h4:{margin:0}}),bookmarks:(0,l.css)({display:"flex",flexWrap:"wrap",gap:e.spacing(2),margin:`${e.spacing(4)} 0 ${e.spacing(2)} 0`,justifyContent:"center"}),bookmark:(0,l.css)({display:"flex",flexDirection:"column",justifyContent:"space-between",cursor:"pointer",width:"318px",border:`1px solid ${e.colors.border.medium}`,borderRadius:e.shape.radius.default,"&:hover":{backgroundColor:e.isDark?e.colors.background.secondary:e.colors.background.primary}}),bookmarkItem:(0,l.css)({padding:`${e.spacing(1.5)} ${e.spacing(1.5)} 0 ${e.spacing(1.5)}`,overflow:"hidden"}),filters:(0,l.css)({textOverflow:"ellipsis",overflow:"hidden",WebkitLineClamp:2,display:"-webkit-box",WebkitBoxOrient:"vertical"}),remove:(0,l.css)({display:"flex",justifyContent:"flex-end"}),noBookmarks:(0,l.css)({margin:`${e.spacing(4)} 0 ${e.spacing(2)} 0`,textAlign:"center"}),loading:(0,l.css)({display:"flex",justifyContent:"center",margin:`${e.spacing(4)} 0`})}}class fe extends r.Bs{}function ge(e){return{container:(0,l.css)({display:"flex",gap:e.spacing(7),flexDirection:"column",margin:`0 0 ${e.spacing(4)} 0`,justifyContent:"center"}),header:(0,l.css)({display:"flex",alignItems:"center",backgroundColor:e.isDark?e.colors.background.secondary:e.colors.background.primary,borderRadius:e.spacing(.5),flexWrap:"wrap",justifyContent:"center",padding:e.spacing(3),gap:e.spacing(4)}),headerTitleContainer:(0,l.css)({display:"flex",alignItems:"center"}),title:(0,l.css)({margin:`0 0 0 ${e.spacing(2)}`}),headerActions:(0,l.css)({alignItems:"center",justifyContent:"flex-start",display:"flex",gap:e.spacing(2)}),documentationLink:(0,l.css)({textDecoration:"underline","&:hover":{textDecoration:"underline"}}),subHeader:(0,l.css)({textAlign:"center",h4:{margin:`0 0 -${e.spacing(2)} 0`}}),label:(0,l.css)({fontSize:"12px"}),variablesAndControls:(0,l.css)({alignItems:"center",gap:e.spacing(2),display:"flex",justifyContent:"space-between",width:"100%"}),variables:(0,l.css)({display:"flex",gap:e.spacing(2)}),controls:(0,l.css)({display:"flex",gap:e.spacing(1)})}}function ve(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function he(e){return(t=function*(){const t=r.jh.interpolate(e,i.gR),n=yield(0,f.getDataSourceSrv)().get(t);if(!(n instanceof f.DataSourceWithBackend))throw console.error(new Error("getTagKeysProvider: invalid datasource!")),new Error("getTagKeysProvider: invalid datasource!");const a=n;if(a&&a.getTagKeys){const e=yield a.getTagKeys();return Array.isArray(e)?{replace:!0,values:function(e){const t=e.filter(e=>{var t;return null===(t=e.text)||void 0===t?void 0:t.includes(i.$d)}),n=e.filter(e=>{var t;return null===(t=e.text)||void 0===t?void 0:t.includes(i.zd)}),a=e.filter(e=>{var t,n,a,r;return!((null===(t=e.text)||void 0===t?void 0:t.includes(i.$d))||(null===(n=e.text)||void 0===n?void 0:n.includes(i.zd))||(null===(a=e.text)||void 0===a?void 0:a.includes(i.X0))||(null===(r=e.text)||void 0===r?void 0:r.includes(i.ZV))||-1!==i.uK.concat(i.ZM).indexOf(e.text))});return[...t,...n,...a]}(e)}:(console.error(new Error("getTagKeysProvider: invalid tagKeys!")),{values:[]})}return console.error(new Error("getTagKeysProvider: missing or invalid datasource!")),{values:[]}},function(){var e=this,n=arguments;return new Promise(function(a,r){var s=t.apply(e,n);function i(e){ve(s,a,r,i,o,"next",e)}function o(e){ve(s,a,r,i,o,"throw",e)}i(void 0)})})();var t}!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(fe,"Component",({model:e})=>{const t=Oe(e),n=(0,W.useNavigate)(),{controls:a}=t.useState(),r=(0,m.useStyles2)(ge),s=(0,m.useTheme2)(),o=He(t),l=Re(t);return u().createElement("div",{className:r.container},u().createElement("div",{className:r.header},u().createElement("div",{className:r.headerTitleContainer},s.isDark?u().createElement(G,null):u().createElement(q,null),u().createElement("h2",{className:r.title},"Start your traces exploration!")),u().createElement("div",null,u().createElement("p",null,"Drilldown and visualize your trace data without writing a query."),u().createElement("div",{className:r.headerActions},u().createElement(m.Button,{variant:"primary",onClick:()=>{(0,g.EE)(g.NO.home,g.ir.home.explore_traces_clicked),n(i.D5)}},"Let’s start",u().createElement(m.Icon,{name:"arrow-right",size:"lg"})),u().createElement(m.LinkButton,{icon:"external-link-alt",fill:"text",size:"md",target:"_blank",href:"https://grafana.com/docs/grafana-cloud/visualizations/simplified-exploration/traces",className:r.documentationLink,onClick:()=>(0,g.EE)(g.NO.home,g.ir.home.read_documentation_clicked)},"Read documentation")))),u().createElement(me,null),u().createElement("div",{className:r.subHeader},u().createElement("h4",null,"Or quick-start into your tracing data")),u().createElement(m.Stack,{gap:2},u().createElement("div",{className:r.variablesAndControls},u().createElement("div",{className:r.variables},o&&u().createElement(m.Stack,{gap:1,alignItems:"center"},u().createElement("div",{className:r.label},"Data source"),u().createElement(o.Component,{model:o})),l&&u().createElement(m.Stack,{gap:1,alignItems:"center"},u().createElement("div",{className:r.label},"Filter"),u().createElement(l.Component,{model:l}))),u().createElement("div",{className:r.controls},null==a?void 0:a.map(e=>u().createElement(e.Component,{key:e.state.key,model:e}))))))});const be=e=>{if(!e)return"";let t=e.value;return null==t||""===t?"":(Ye.test(t)||["kind"].includes(e.key)||"string"!=typeof t||t.startsWith('"')||t.endsWith('"')||(t=`"${t}"`),`${e.key}${e.operator}${t}`)};function ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class we extends r.Bs{_onActivate(){const e=r.jh.getTimeRange(this),t=Re(this);t.setState({getTagKeysProvider:he}),He(this).subscribeToState(e=>{e.value&&localStorage.setItem(i.cd,e.value.toString())}),Re(this).subscribeToState((t,n)=>{if(t.filters!==n.filters){this.buildPanels(e,t.filters),localStorage.setItem(i.$U,JSON.stringify(t.filters));const a=t.filters.filter(e=>!n.filters.find(t=>t.key===e.key));a.length>0&&(0,g.EE)(g.NO.home,g.ir.home.filter_changed,{key:a[0].key})}}),e.subscribeToState((n,a)=>{n.value.from===a.value.from&&n.value.to===a.value.to||this.buildPanels(e,t.state.filters)}),this.buildPanels(e,t.state.filters)}buildPanels(e,t){const n=e.state.value.from.unix(),a=e.state.value.to.unix(),s=`${(0,d.duration)(a-n,"s").asSeconds()}s`,o=function(e){const t=e.filter(e=>e.key&&e.operator&&e.value).map(e=>be(e)).join(i.x5);return t.length?`&& ${t}`:""}(t);this.setState({body:new r.gF({children:[new r.gF({autoRows:"min-content",columnGap:2,rowGap:2,children:[new r.xK({body:new B({query:{query:`{nestedSetParent < 0 && status = error ${o}} | count_over_time() by (resource.service.name)`,step:s},title:"Errored services",type:"errored-services"})}),new r.xK({body:new B({query:{query:`{nestedSetParent < 0 ${o}} | quantile_over_time(duration, 0.9) by (resource.service.name)`,step:s},title:"Slow services",type:"slowest-services"})}),new r.xK({body:new B({query:{query:`{nestedSetParent<0 ${o}} | histogram_over_time(duration)`},title:"Slow traces",type:"slowest-traces",filter:o})})]})]})})}constructor(e){var t,n,a,s,o;super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){ye(e,t,n[t])})}return e}({$timeRange:null!==(t=e.$timeRange)&&void 0!==t?t:new r.JZ({}),$variables:null!==(n=e.$variables)&&void 0!==n?n:(s=e.initialFilters,o=e.initialDS,new r.Pj({variables:[new r.mI({name:i.EY,label:"Data source",value:o,pluginId:"tempo"}),new r.H9({name:i.zM,datasource:i.Vl,layout:"combobox",filters:s,allowCustomValue:!0})]})),controls:null!==(a=e.controls)&&void 0!==a?a:[new r.KE({}),new r.WM({})]},e)),this.addActivationHandler(this._onActivate.bind(this))}}function Se(e){return{container:(0,l.css)({margin:`${e.spacing(4)} auto`,width:"75%","@media (max-width: 900px)":{width:"95%"}})}}ye(we,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,m.useStyles2)(Se);return u().createElement("div",{className:n.container},u().createElement(fe.Component,{model:e}),t&&u().createElement(t.Component,{model:t}))});var xe=n(6003);function Ee(e){return r.jh.getAncestor(e,s.Nr)}function Oe(e){return r.jh.getAncestor(e,we)}function je(e){return r.jh.getAncestor(e,o.jc)}function ke(e){const t=je(e);return null==t?void 0:t.state.exceptionsScene}function Ce(e,t){return new s.Nr({initialDS:e,initialFilters:null!=t?t:[],$timeRange:new r.JZ({from:"now-30m",to:"now"})})}function Pe(e){var t,n,a,r;return null!==(r=null==e||null===(a=e.data)||void 0===a||null===(n=a.errors)||void 0===n||null===(t=n[0])||void 0===t?void 0:t.message)&&void 0!==r?r:"There are no Tempo data sources"}function _e(e){return`No data for selected data source and filter. Select another to see ${e}.`}function Ne(e){const t=r.Go.getUrlState(e);return n=t,a.urlUtil.renderUrl(i.D5,n);var n}function De(e){return r.jh.interpolate(e,i.gR)}function Te(e){return e.map(e=>({label:e,value:e}))}function Ie(e,t){var n;const a=null===(n=e.fields.find(e=>"number"===e.type))||void 0===n?void 0:n.labels;if(!a)return"No labels";const r=Object.keys(a).filter(e=>"p"!==e);return 0===r.length?"No labels":a[t||r[0]].replace(/"/g,"")}function Ae(e){const t=r.jh.lookupVariable(i.cT,e);if(!(t instanceof r.yP))throw new Error("Percentiles variable not found");return t}function $e(e){const t=r.jh.lookupVariable(i.z,e);if(!(t instanceof r.yP))throw new Error("Group by variable not found");return t}function Le(e){const t=r.jh.lookupVariable(i.gP,e);if(!(t instanceof r.yP))throw new Error("Span list columns variable not found");return t}function Ve(e){const t=r.jh.lookupVariable(i.pf,e);if(!(t instanceof r.yP))throw new Error("Latency threshold variable not found");return t}function Fe(e){const t=r.jh.lookupVariable(i.xc,e);if(!(t instanceof r.yP))throw new Error("Partial latency threshold variable not found");return t}function ze(e){const t=r.jh.lookupVariable(i.PU,e);if(!(t instanceof r.yP))throw new Error("Metric variable not found");return t}function Be(e){const t=r.jh.lookupVariable(i.Ao,e);if(!(t instanceof r.H9))throw new Error("Filters variable not found");return t}function Me(e){const t=r.jh.lookupVariable(i.CE,e);if(!(t instanceof xe.x))throw new Error("Primary signal variable not found");return t}function Re(e){const t=r.jh.lookupVariable(i.zM,e);if(!(t instanceof r.H9))throw new Error("Home filter variable not found");return t}function He(e){const t=r.jh.lookupVariable(i.EY,e);if(!(t instanceof r.mI))throw new Error("Datasource variable not found");return t}function qe(e){var t;const n=r.jh.getData(e).state.data,a=null==n||null===(t=n.request)||void 0===t?void 0:t.targets[0];return a?a.step:void 0}function Ge(e){return"comparison"===e||"traceList"===e}function We(e){return ze(e).useState().value}function Ue(e){var t,n,a;return null!==(a=null==e||null===(n=e.data)||void 0===n||null===(t=n.series[0].fields)||void 0===t?void 0:t.some(e=>e.values.every(e=>void 0===e)))&&void 0!==a&&a}const Ye=/^-?\d+\.?\d*$/,Ke=e=>Ye.test(e)||"string"!=typeof e||e.startsWith('"')||e.endsWith('"')?e:`"${e}"`,Xe=e=>{var t;return(null==e||null===(t=e[0])||void 0===t?void 0:t.toUpperCase())+(null==e?void 0:e.slice(1))||""},Qe=e=>(t,n)=>{e.publishEvent(new i.vR({traceId:t,spanId:n}),!0)}},1379:(e,t,n)=>{"use strict";n.d(t,{hE:()=>j,NO:()=>C});var a=n(5959),r=n.n(a),s=n(7781),i=n(118),o=n(775),l=n(6089),c=n(2007),u=n(3049),d=n(2645),m=n(5445),p=n(3241);const f=e=>{const t=(0,c.useStyles2)(g),{searchQuery:n,onSearchQueryChange:a}=e;return r().createElement(c.Field,{className:t.searchField},r().createElement(c.Input,{placeholder:"Search",prefix:r().createElement(c.Icon,{name:"search"}),value:n,onChange:a,id:"searchFieldInput"}))};function g(e){return{searchField:(0,l.css)({marginBottom:e.spacing(1)})}}var v=n(1051),h=n(1829);function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){b(e,t,n[t])})}return e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function S(e){return w(y({},e),{fields:e.fields.map(e=>w(y({},e),{values:e.values}))})}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){x(e,t,n[t])})}return e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class j extends i.Bs{renderFilteredData(e){e.series&&e.series.length>0?this.performRepeat(e):this.state.body.setState({children:[new i.vA({body:new o.v({message:"No data for search term",padding:"32px"})})]})}groupSeriesBy(e,t){const n=e.series.reduce((e,n)=>{var a,r;const i=null===(r=n.fields.find(e=>e.type===s.FieldType.number))||void 0===r||null===(a=r.labels)||void 0===a?void 0:a[t];return i?(e[i]||(e[i]=[]),e[i].push(n),e):e},{}),a=[];for(const e in n){const t=n[e].sort((e,t)=>{var n;return(null===(n=e.name)||void 0===n?void 0:n.localeCompare(t.name))||0}),r=S(t[0]);t.slice(1,t.length).forEach(e=>r.fields.push(e.fields[1])),a.push((0,s.sortDataFrame)(r,0))}return a}performRepeat(e){const t=[];let n=e.series;this.state.groupBy&&(n=this.groupSeriesBy(e,(0,v.pl)(this).getValueText()));for(let a=0;a<n.length;a++){if(0===n[a].fields.filter(e=>e.type===s.FieldType.number).reduce((e,t)=>e+t.values.reduce((e,t)=>e+(t||0),0)||0,0))continue;const r=this.state.getLayoutChild(e,n[a],a);t.push(r)}this.state.body.setState({children:t})}constructor(e){super(e),x(this,"onSearchQueryChange",e=>{this.setState({searchQuery:e.currentTarget.value})}),x(this,"onSearchQueryChangeDebounced",(0,p.debounce)(e=>{var t;const n=i.jh.getData(this),a=O(E({},n.state.data),{series:null===(t=n.state.data)||void 0===t?void 0:t.series.filter(_(e))});this.renderFilteredData(a)},250)),this.addActivationHandler(()=>{const e=i.jh.getData(this);this._subs.add(e.subscribeToState(e=>{var t,n,a,r,l;if((null===(t=e.data)||void 0===t?void 0:t.state)===s.LoadingState.Done||(null===(n=e.data)||void 0===n?void 0:n.state)===s.LoadingState.Streaming){if(0===e.data.series.length&&(null===(r=e.data)||void 0===r?void 0:r.state)!==s.LoadingState.Streaming)this.state.body.setState({children:[new i.vA({body:new o.v({message:h.PL,remedyMessage:h.a5,padding:"32px"})})]});else if((null===(l=e.data)||void 0===l?void 0:l.state)===s.LoadingState.Done){var c;const t=O(E({},e.data),{series:null===(c=e.data)||void 0===c?void 0:c.series.filter(_(this.state.searchQuery))});this.renderFilteredData(t),this.publishEvent(new h.sv({series:e.data.series}),!0)}}else if((null===(a=e.data)||void 0===a?void 0:a.state)===s.LoadingState.Error){var u,p,f;this.state.body.setState({children:[new i.gF({children:[new m.y({message:null!==(f=null===(p=e.data.errors)||void 0===p||null===(u=p[0])||void 0===u?void 0:u.message)&&void 0!==f?f:"An error occurred in the query"})]})]})}else this.state.body.setState({children:[new i.gF({children:[new d.G({component:()=>C(8)})]})]})})),this.subscribeToState((e,t)=>{var n;e.searchQuery!==t.searchQuery&&this.onSearchQueryChangeDebounced(null!==(n=e.searchQuery)&&void 0!==n?n:"")}),e.state.data&&this.performRepeat(e.state.data)})}}function k(){return{container:(0,l.css)({display:"flex",flexDirection:"column",flexGrow:1})}}x(j,"Component",({model:e})=>{const{body:t,searchQuery:n}=e.useState(),a=(0,c.useStyles2)(k);return r().createElement("div",{className:a.container},r().createElement(f,{searchQuery:null!=n?n:"",onSearchQueryChange:e.onSearchQueryChange}),r().createElement(t.Component,{model:t}))});const C=e=>{const t=(0,c.useStyles2)(P);return r().createElement("div",{className:t.container},[...Array(e)].map((e,n)=>r().createElement("div",{className:t.itemContainer,key:n},r().createElement("div",{className:t.header},r().createElement("div",{className:t.title},r().createElement(u.A,{count:1})),r().createElement("div",{className:t.action},r().createElement(u.A,{count:1}))),r().createElement("div",{className:t.yAxis},[...Array(2)].map((e,n)=>r().createElement("div",{className:t.yAxisItem,key:n},r().createElement(u.A,{count:1})))),r().createElement("div",{className:t.xAxis},[...Array(2)].map((e,n)=>r().createElement("div",{className:t.xAxisItem,key:n},r().createElement(u.A,{count:1})))))))};function P(e){return{container:(0,l.css)({display:"grid",gridTemplateColumns:h.MV,gridAutoRows:"200px",rowGap:e.spacing(1),columnGap:e.spacing(1)}),itemContainer:(0,l.css)({backgroundColor:e.colors.background.primary,border:`1px solid ${e.colors.background.secondary}`,padding:"5px"}),header:(0,l.css)({display:"flex",justifyContent:"space-between"}),title:(0,l.css)({width:"100px"}),action:(0,l.css)({width:"60px"}),yAxis:(0,l.css)({display:"flex",flexDirection:"column",justifyContent:"space-around",marginTop:"35px"}),yAxisItem:(0,l.css)({width:"60px",height:"55px"}),xAxis:(0,l.css)({display:"flex",justifyContent:"space-evenly"}),xAxisItem:(0,l.css)({width:"55px"})}}const _=e=>t=>{const n=null==e?void 0:e.trim();if(!n)return!0;const a=new RegExp(n,"i");return t.fields.some(e=>!!e.labels&&Object.values(e.labels).find(e=>a.test(e)))}},1738:(e,t,n)=>{var a={"./af":9805,"./af.js":9805,"./ar":4449,"./ar-dz":4468,"./ar-dz.js":4468,"./ar-kw":3480,"./ar-kw.js":3480,"./ar-ly":4197,"./ar-ly.js":4197,"./ar-ma":2180,"./ar-ma.js":2180,"./ar-ps":9343,"./ar-ps.js":9343,"./ar-sa":230,"./ar-sa.js":230,"./ar-tn":2808,"./ar-tn.js":2808,"./ar.js":4449,"./az":5865,"./az.js":5865,"./be":6627,"./be.js":6627,"./bg":901,"./bg.js":901,"./bm":3179,"./bm.js":3179,"./bn":1966,"./bn-bd":969,"./bn-bd.js":969,"./bn.js":1966,"./bo":6317,"./bo.js":6317,"./br":6474,"./br.js":6474,"./bs":5961,"./bs.js":5961,"./ca":7270,"./ca.js":7270,"./cs":1564,"./cs.js":1564,"./cv":3239,"./cv.js":3239,"./cy":2366,"./cy.js":2366,"./da":2453,"./da.js":2453,"./de":6601,"./de-at":5027,"./de-at.js":5027,"./de-ch":8101,"./de-ch.js":8101,"./de.js":6601,"./dv":6080,"./dv.js":6080,"./el":2655,"./el.js":2655,"./en-au":6836,"./en-au.js":6836,"./en-ca":2086,"./en-ca.js":2086,"./en-gb":2103,"./en-gb.js":2103,"./en-ie":5964,"./en-ie.js":5964,"./en-il":4379,"./en-il.js":4379,"./en-in":765,"./en-in.js":765,"./en-nz":1502,"./en-nz.js":1502,"./en-sg":1152,"./en-sg.js":1152,"./eo":50,"./eo.js":50,"./es":3350,"./es-do":9338,"./es-do.js":9338,"./es-mx":1326,"./es-mx.js":1326,"./es-us":9947,"./es-us.js":9947,"./es.js":3350,"./et":8231,"./et.js":8231,"./eu":8512,"./eu.js":8512,"./fa":9083,"./fa.js":9083,"./fi":5059,"./fi.js":5059,"./fil":2607,"./fil.js":2607,"./fo":3369,"./fo.js":3369,"./fr":7390,"./fr-ca":6711,"./fr-ca.js":6711,"./fr-ch":6152,"./fr-ch.js":6152,"./fr.js":7390,"./fy":2419,"./fy.js":2419,"./ga":3002,"./ga.js":3002,"./gd":4914,"./gd.js":4914,"./gl":6557,"./gl.js":6557,"./gom-deva":8944,"./gom-deva.js":8944,"./gom-latn":5387,"./gom-latn.js":5387,"./gu":7462,"./gu.js":7462,"./he":9237,"./he.js":9237,"./hi":9617,"./hi.js":9617,"./hr":6544,"./hr.js":6544,"./hu":341,"./hu.js":341,"./hy-am":1388,"./hy-am.js":1388,"./id":5251,"./id.js":5251,"./is":1146,"./is.js":1146,"./it":7891,"./it-ch":7,"./it-ch.js":7,"./it.js":7891,"./ja":3727,"./ja.js":3727,"./jv":5198,"./jv.js":5198,"./ka":8974,"./ka.js":8974,"./kk":7308,"./kk.js":7308,"./km":7786,"./km.js":7786,"./kn":4807,"./kn.js":4807,"./ko":1584,"./ko.js":1584,"./ku":1906,"./ku-kmr":5305,"./ku-kmr.js":5305,"./ku.js":1906,"./ky":9190,"./ky.js":9190,"./lb":7396,"./lb.js":7396,"./lo":8503,"./lo.js":8503,"./lt":3010,"./lt.js":3010,"./lv":5192,"./lv.js":5192,"./me":1944,"./me.js":1944,"./mi":6492,"./mi.js":6492,"./mk":2934,"./mk.js":2934,"./ml":1463,"./ml.js":1463,"./mn":8377,"./mn.js":8377,"./mr":8733,"./mr.js":8733,"./ms":8030,"./ms-my":9445,"./ms-my.js":9445,"./ms.js":8030,"./mt":5887,"./mt.js":5887,"./my":7228,"./my.js":7228,"./nb":8294,"./nb.js":8294,"./ne":9559,"./ne.js":9559,"./nl":600,"./nl-be":8796,"./nl-be.js":8796,"./nl.js":600,"./nn":9570,"./nn.js":9570,"./oc-lnc":5662,"./oc-lnc.js":5662,"./pa-in":7101,"./pa-in.js":7101,"./pl":6118,"./pl.js":6118,"./pt":9198,"./pt-br":7203,"./pt-br.js":7203,"./pt.js":9198,"./ro":5565,"./ro.js":5565,"./ru":3315,"./ru.js":3315,"./sd":8473,"./sd.js":8473,"./se":1258,"./se.js":1258,"./si":8798,"./si.js":8798,"./sk":6404,"./sk.js":6404,"./sl":7057,"./sl.js":7057,"./sq":5718,"./sq.js":5718,"./sr":5363,"./sr-cyrl":478,"./sr-cyrl.js":478,"./sr.js":5363,"./ss":7260,"./ss.js":7260,"./sv":2231,"./sv.js":2231,"./sw":7104,"./sw.js":7104,"./ta":7493,"./ta.js":7493,"./te":7705,"./te.js":7705,"./tet":4457,"./tet.js":4457,"./tg":2727,"./tg.js":2727,"./th":2206,"./th.js":2206,"./tk":3419,"./tk.js":3419,"./tl-ph":7243,"./tl-ph.js":7243,"./tlh":16,"./tlh.js":16,"./tr":7020,"./tr.js":7020,"./tzl":8026,"./tzl.js":8026,"./tzm":8537,"./tzm-latn":7899,"./tzm-latn.js":7899,"./tzm.js":8537,"./ug-cn":818,"./ug-cn.js":818,"./uk":8478,"./uk.js":8478,"./ur":7893,"./ur.js":7893,"./uz":9133,"./uz-latn":311,"./uz-latn.js":311,"./uz.js":9133,"./vi":2179,"./vi.js":2179,"./x-pseudo":2455,"./x-pseudo.js":2455,"./yo":3310,"./yo.js":3310,"./zh-cn":7244,"./zh-cn.js":7244,"./zh-hk":76,"./zh-hk.js":76,"./zh-mo":2305,"./zh-mo.js":2305,"./zh-tw":8588,"./zh-tw.js":8588};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=s,e.exports=r,r.id=1738},1793:(e,t,n)=>{"use strict";n.d(t,{L:()=>l});var a=n(118);const r=n.p+"1382cadfeb81ccdaa67d.svg";function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){s(e,t,n[t])})}return e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class l extends a.Bs{constructor(e){super(o(i({},e),{queries:[]})),s(this,"_onActivate",()=>{this._subs.add(this.subscribeToState(()=>{this.getQueries(),this.getContext()}))}),s(this,"getQueries",()=>{const e=a.jh.getData(this),t=a.jh.findObject(e,c);if(c(t)){const e=t.state.queries.map(e=>o(i({},e),{query:this.state.query}));JSON.stringify(e)!==JSON.stringify(this.state.queries)&&this.setState({queries:e})}}),s(this,"getContext",()=>{const{queries:e,dsUid:t,labelValue:n,type:s="traceMetrics"}=this.state,o=a.jh.getTimeRange(this);if(!o||!e||!t)return;const l={origin:"Explore Traces",type:s,queries:e,timeRange:i({},o.state.value),datasource:{uid:t},url:window.location.href,id:`${JSON.stringify(e)}`,title:`${n}`,logoPath:r};JSON.stringify(l)!==JSON.stringify(this.state.context)&&this.setState({context:l})}),this.addActivationHandler(this._onActivate.bind(this))}}function c(e){return e instanceof a.dt}},2395:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>ae,oL:()=>se});var a=n(6089),r=n(5959),s=n.n(r),i=n(7781),o=n(118),l=n(8531),c=n(2007),u=n(1829),d=n(1051),m=n(775),p=n(2645),f=n(5445),g=n(3049);function v(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class b extends o.Bs{getTraceErrorMessage(e,t){return(n=function*(){var n,a;const r=(null==e||null===(n=e[0])||void 0===n?void 0:n.message)||"";if(404===(null==e||null===(a=e[0])||void 0===a?void 0:a.status)||r.toLowerCase().includes("not found")){try{const e=(0,d.U4)((0,d.zY)(this)),n=yield(0,l.getDataSourceSrv)().get(e);if(n){var s;const e=n;if(null===(s=e.traceQuery)||void 0===s?void 0:s.timeShiftEnabled){var c,u;const n=o.jh.getTimeRange(this).state.value,a=null===(c=e.traceQuery)||void 0===c?void 0:c.spanStartTimeShift,r=null===(u=e.traceQuery)||void 0===u?void 0:u.spanEndTimeShift,s=n.from.valueOf()-parseInt(a||"0",10),l=n.to.valueOf()+parseInt(r||"0",10),d=(0,i.dateTimeFormat)(s),m=(0,i.dateTimeFormat)(l);return`Trace with ID "${t}" couldn't be found. The data source is configured to use the selected time range when searching for traces and the trace might exist but not be within the selected time range of ${d} to ${m}.`}}}catch(e){console.warn("Failed to check datasource configuration:",e)}return`Trace with ID "${t}" couldn't be found.`}return r||"An error occurred while loading the trace."},function(){var e=this,t=arguments;return new Promise(function(a,r){var s=n.apply(e,t);function i(e){v(s,a,r,i,o,"next",e)}function o(e){v(s,a,r,i,o,"throw",e)}i(void 0)})}).call(this);var n}getVizPanel(){const e=o.d0.traces().setHoverHeader(!0);return this.state.spanId&&e.setOption("focusedSpanId",this.state.spanId),e}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){h(e,t,n[t])})}return e}({$data:new o.dt({datasource:u.Vl,queries:[{refId:"A",query:e.traceId,queryType:"traceql"}]})},e)),this.addActivationHandler(()=>{const e=o.jh.getData(this);this._subs.add(e.subscribeToState(e=>{var t,n,a;if((null===(t=e.data)||void 0===t?void 0:t.state)===i.LoadingState.Done)this.setState({panel:this.getVizPanel().build()});else if((null===(n=e.data)||void 0===n?void 0:n.state)===i.LoadingState.Loading)this.setState({panel:new p.G({component:y})});else if((null===(a=e.data)||void 0===a?void 0:a.state)===i.LoadingState.Error){var r;this.getTraceErrorMessage((null===(r=e.data)||void 0===r?void 0:r.errors)||[],this.state.traceId).then(e=>{this.setState({panel:new f.y({message:e})})}).catch(e=>{console.error("Failed to generate error message:",e),this.setState({panel:new f.y({message:`Trace with ID "${this.state.traceId}" couldn't be found.`})})})}}))})}}h(b,"Component",({model:e})=>{const{panel:t}=e.useState(),n=(0,c.useStyles2)(w);if(t)return s().createElement("div",{className:n.panelContainer},s().createElement(t.Component,{model:t}))});const y=()=>{const e=(0,c.useStyles2)(w);return s().createElement("div",{className:e.container},s().createElement("div",{className:e.header},s().createElement(g.A,{count:1,width:60}),s().createElement(g.A,{count:1,width:60})),s().createElement(g.A,{count:2,width:"80%"}),s().createElement("div",{className:e.map},s().createElement(g.A,{count:1}),s().createElement(g.A,{count:1,height:70})),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service1},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar1},s().createElement(g.A,{count:1}))),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service2},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar2},s().createElement(g.A,{count:1}))),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service3},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar3},s().createElement(g.A,{count:1}))),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service4},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar4},s().createElement(g.A,{count:1}))),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service5},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar5},s().createElement(g.A,{count:1}))),s().createElement("div",{className:e.span},s().createElement("span",{className:e.service6},s().createElement(g.A,{count:1})),s().createElement("span",{className:e.bar6},s().createElement(g.A,{count:1}))))};function w(e){return{panelContainer:(0,a.css)({display:"flex",height:"100%",'& [data-testid="data-testid panel content"] > div':{overflow:"auto"},"& .show-on-hover":{display:"none"}}),container:(0,a.css)({height:"calc(100% - 32px)",width:"calc(100% - 32px)",position:"absolute",backgroundColor:e.colors.background.primary,border:`1px solid ${e.colors.border.weak}`,padding:"5px"}),header:(0,a.css)({marginBottom:"20px",display:"flex",justifyContent:"space-between"}),map:(0,a.css)({marginTop:"20px",marginBottom:"20px"}),span:(0,a.css)({display:"flex"}),service1:(0,a.css)({width:"25%"}),bar1:(0,a.css)({marginLeft:"5%",width:"70%"}),service2:(0,a.css)({width:"25%"}),bar2:(0,a.css)({marginLeft:"10%",width:"15%"}),service3:(0,a.css)({width:"20%",marginLeft:"5%"}),bar3:(0,a.css)({marginLeft:"10%",width:"65%"}),service4:(0,a.css)({width:"20%",marginLeft:"5%"}),bar4:(0,a.css)({marginLeft:"15%",width:"60%"}),service5:(0,a.css)({width:"15%",marginLeft:"10%"}),bar5:(0,a.css)({marginLeft:"20%",width:"35%"}),service6:(0,a.css)({width:"15%",marginLeft:"10%"}),bar6:(0,a.css)({marginLeft:"30%",width:"15%"})}}var S=n(6338);function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class E extends o.Bs{_onActivate(){this.updateBody();(0,d.zY)(this).subscribeToState((e,t)=>{e.traceId===t.traceId&&e.spanId===t.spanId||(this.updateBody(),(0,S.EE)(S.NO.analyse_traces,S.ir.analyse_traces.open_trace,{traceId:e.traceId,spanId:e.spanId}))})}updateBody(){const e=(0,d.zY)(this);e.state.traceId?this.setState({body:new b({traceId:e.state.traceId,spanId:e.state.spanId})}):this.setState({body:new m.v({message:"No trace selected"})})}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){x(e,t,n[t])})}return e}({},e)),this.addActivationHandler(this._onActivate.bind(this))}}x(E,"Component",({model:e})=>{const{body:t}=e.useState();return t&&s().createElement(t.Component,{model:t})});var O=n(2245),j=n(6003),k=n(3761);class C extends o.Bs{_onActivate(){this.runIssueDetectionQuery();const e=(0,d._b)(this);this._subs.add(e.subscribeToState((e,t)=>{e.value!==t.value&&(this.resetIssues(),this.runIssueDetectionQuery())}))}runIssueDetectionQuery(){const e=(0,d._b)(this),t=(0,i.dateTime)(),n=(0,i.dateTime)(t).subtract(1,"minute"),a=new o.JZ({from:n.toISOString(),to:t.toISOString()}),r=new o.dt({maxDataPoints:1,datasource:{uid:String(e.state.value)},$timeRange:a,queries:[{refId:"issueDetectorQuery",query:"{} | rate()",queryType:"traceql",tableType:"spans",limit:1,spss:1,filters:[]}]});this._subs.add(r.subscribeToState(e=>{var t;if((null===(t=e.data)||void 0===t?void 0:t.state)===i.LoadingState.Error){var n,a,r;((null===(r=e.data)||void 0===r||null===(a=r.errors)||void 0===a||null===(n=a[0])||void 0===n?void 0:n.message)||"").includes("localblocks processor not found")&&this.setState({hasIssue:!0})}})),r.activate()}resetIssues(){this.setState({hasIssue:!1})}constructor(){super({hasIssue:!1}),this.addActivationHandler(this._onActivate.bind(this))}}const P=({detector:e})=>{const{hasIssue:t}=e.useState();return t?s().createElement(c.Alert,{severity:"warning",title:"TraceQL metrics not configured"},s().createElement("p",null,'We found an error running a TraceQL metrics query: "localblocks processor not found". This typically means the "local-blocks" processor is not configured in Tempo, which is required for Grafana Traces Drilldown to work.',s().createElement(c.LinkButton,{icon:"external-link-alt",fill:"text",size:"sm",target:"_blank",href:"https://grafana.com/docs/tempo/latest/operations/traceql-metrics"},"Read documentation"))):null};var _=n(1793),N=n(4524),D=n(3295);function T({serviceName:e,model:t}){const{isLoading:n,component:a}=(0,l.usePluginComponent)("grafana-asserts-app/entity-assertions-widget/v1"),[i,c]=(0,r.useState)();return(0,r.useEffect)(()=>{const e=o.jh.getTimeRange(t);c(e.state.value);const n=e.subscribeToState(e=>{c(e.value)});return()=>{n.unsubscribe()}},[t]),!n&&a&&i?s().createElement(a,{size:"md",source:"Traces Drilldown",query:{start:i.from.valueOf(),end:i.to.valueOf(),entityName:e,entityType:"Service",enabled:!0},returnToPrevious:!0}):null}var I=n(3),A=n(2499),$=n(1508),L=n(7186),V=n(9814);n(1546);function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){F(e,t,n[t])})}return e}function B(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const M={sm:{width:"25%",minWidth:384},md:{width:"50%",minWidth:568},lg:{width:"75%",minWidth:744}};function R({children:e,onClose:t,closeOnMaskClick:n=!0,scrollableContent:s=!0,title:i,subtitle:o,size:l="md",tabs:u}){const[d,m,p]=function(){const[e,t]=(0,r.useState)(void 0),n=(0,r.useCallback)(e=>{t(H(e.clientX))},[]),a=(0,r.useCallback)(e=>{const n=e.touches[0];t(H(n.clientX))},[]),s=(0,r.useCallback)(e=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)},[n]),i=(0,r.useCallback)(e=>{document.removeEventListener("touchmove",a),document.removeEventListener("touchend",i)},[a]);function o(e){e.stopPropagation(),e.preventDefault(),document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}function l(e){e.stopPropagation(),e.preventDefault(),document.addEventListener("touchmove",a),document.addEventListener("touchend",i)}return[e,o,l]}(),f=(0,c.useStyles2)(q),g=(0,c.useStyles2)(G,l),v=(0,c.useStyles2)(c.getDragStyles),h=r.useRef(null),{dialogProps:b,titleProps:y}=(0,I.s)({},h),{overlayProps:w}=(0,A.e)({isDismissable:!1,isOpen:!0,onClose:t},h);(0,r.useEffect)(()=>{if(document.body)return document.body.classList.add("body-drawer-open"),()=>{document.body.classList.remove("body-drawer-open")}},[]);const S=r.createElement("div",{className:f.content},e),x=null!=d?d:M[l].width,E=M[l].minWidth;return r.createElement($.A,{open:!0,onClose:t,placement:"right",getContainer:"#trace-exploration",className:f.drawerContent,rootClassName:f.drawer,classNames:{wrapper:g},styles:{wrapper:{width:x,minWidth:E}},width:"",motion:{motionAppear:!0,motionName:f.drawerMotion},maskClassName:f.mask,maskClosable:n,maskMotion:{motionAppear:!0,motionName:f.maskMotion}},r.createElement("div",B(z({"aria-label":"string"==typeof i?L.Tp.components.Drawer.General.title(i):L.Tp.components.Drawer.General.title("no title"),className:f.container},w,b),{ref:h}),r.createElement("div",{className:(0,a.cx)(v.dragHandleVertical,f.resizer),onMouseDown:m,onTouchStart:p}),r.createElement("div",{className:(0,a.cx)(f.header,Boolean(u)&&f.headerWithTabs)},r.createElement("div",{className:f.actions},r.createElement(c.IconButton,{name:"times",variant:"secondary",onClick:t,"data-testid":L.Tp.components.Drawer.General.close,tooltip:(0,V.t)("grafana-ui.drawer.close","Close")})),"string"==typeof i?r.createElement("div",{className:f.titleWrapper},r.createElement(c.Text,z({element:"h3"},y),i),o&&r.createElement("div",{className:f.subtitle,"data-testid":L.Tp.components.Drawer.General.subtitle},o)):i,u&&r.createElement("div",{className:f.tabsWrapper},u)),s?r.createElement(c.ScrollContainer,{showScrollIndicators:!0},S):S))}function H(e){const t=document.getElementById("trace-exploration");if(t){const n=t.offsetWidth,a=n-(e-t.offsetLeft);return`${Math.min(a/n*100,98).toFixed(2)}%`}return"50%"}const q=e=>{var t,n;return{container:(0,a.css)({display:"flex",flexDirection:"column",height:"100%",flex:"1 1 0",minHeight:"100%",position:"relative"}),drawer:(0,a.css)({top:0,position:"absolute !important",".rc-drawer-content-wrapper":{boxShadow:e.shadows.z3}}),drawerContent:(0,a.css)({backgroundColor:`${e.colors.background.primary} !important`,display:"flex",overflow:"unset !important",flexDirection:"column"}),drawerMotion:(0,a.css)({"&-appear":{transform:"translateX(100%)",transition:"none !important","&-active":{transition:`${e.transitions.create("transform")} !important`,transform:"translateX(0)"}}}),mask:(0,a.css)({backgroundColor:"transparent !important",position:"absolute !important","&:before":{backgroundColor:`${e.components.overlay.background} !important`,bottom:0,content:'""',left:0,position:"absolute",right:0,top:0}}),maskMotion:(0,a.css)({"&-appear":{opacity:0,"&-active":{opacity:1,transition:e.transitions.create("opacity")}}}),header:(0,a.css)({label:"drawer-header",flexGrow:0,padding:e.spacing(2,2,3),borderBottom:`1px solid ${e.colors.border.weak}`}),headerWithTabs:(0,a.css)({borderBottom:"none"}),actions:(0,a.css)({position:"absolute",right:e.spacing(1),top:e.spacing(1)}),titleWrapper:(0,a.css)({label:"drawer-title",overflowWrap:"break-word"}),subtitle:(0,a.css)({label:"drawer-subtitle",color:e.colors.text.secondary,paddingTop:e.spacing(1)}),content:(0,a.css)({padding:e.spacing(null!==(n=null===(t=e.components.drawer)||void 0===t?void 0:t.padding)&&void 0!==n?n:2),height:"100%",flexGrow:1,minHeight:0}),tabsWrapper:(0,a.css)({label:"drawer-tabs",paddingLeft:e.spacing(2),margin:e.spacing(1,-1,-3,-3)}),resizer:(0,a.css)({top:0,left:e.spacing(-1),bottom:0,position:"absolute",zIndex:e.zIndex.modal})}};function G(e,t){return(0,a.css)({label:`drawer-content-wrapper-${t}`,overflow:"unset !important",[e.breakpoints.down("md")]:{width:`calc(100% - ${e.spacing(2)}) !important`,minWidth:"0 !important"}})}const W=({children:e,title:t,isOpen:n,onClose:a,embedded:r=!1,forceNoDrawer:i=!1,investigationButton:o})=>{const l=(0,c.useStyles2)(U);return n?!i&&!r?s().createElement(R,{size:"lg",title:t,onClose:a},e):s().createElement("div",{className:l.container},s().createElement("div",{className:l.drawerHeader},s().createElement(c.Button,{variant:"primary",fill:"text",size:"md",icon:"arrow-left",onClick:a},"Back to all traces"),r&&o),e):null},U=e=>({container:(0,a.css)({height:"100%",width:"100%",background:e.colors.background.primary,padding:e.spacing(2),display:"flex",flexDirection:"column",position:"absolute",top:0,left:0,zIndex:3}),drawerHeader:(0,a.css)({display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:e.spacing(2),h4:{margin:0}})});function Y(e){const t=e.filter(e=>e.key&&e.operator&&e.value).map(e=>function(e){let t=e.value;!["span.messaging.destination.partition.id","span.network.protocol.version"].includes(e.key)&&(K(t)||["status","kind","span:status","span:kind","duration","span:duration","trace:duration","event:timeSinceStart"].includes(e.key)||["true","false"].includes(t)||(n=t,"string"==typeof n&&n.length>=2&&K(n.slice(1,-1))&&(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))))||"string"==typeof t&&(t=t.replace(/["\\]/g,e=>`\\${e}`),t=`"${t}"`);var n;return`${e.key}${e.operator}${t}`}(e)).join("&&");return t.length?t:"true"}function K(e){return null!=e&&""!==e&&!isNaN(Number(e.toString().trim()))}class X extends o.H9{constructor(e){var t;super({addFilterButtonText:"Add filter",name:u.Ao,datasource:u.Vl,hide:i.VariableHide.hideLabel,layout:"combobox",filters:null!==(t=e.initialFilters)&&void 0!==t?t:[],allowCustomValue:!0,expressionBuilder:Y})}}function Q(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function Z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){Z(e,t,n[t])})}return e}function ee(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const te="2025-10-13T14:44:08.654Z",ne=`${te.split("T")[0]} (e19c310)`;class ae extends o.Bs{_onActivate(){this.state.topScene||this.setState({topScene:new D.jc({})}),this._subs.add(this.subscribeToEvent(u.vR,e=>{this.setupInvestigationButton(e.payload.traceId),this.setState({traceId:e.payload.traceId,spanId:e.payload.spanId})})),this.state.traceId&&this.setupInvestigationButton(this.state.traceId);o.jh.lookupVariable(u.EY,this).subscribeToState(e=>{e.value&&localStorage.setItem(u.cd,e.value.toString())}),this.state.issueDetector&&(this.state.issueDetector.isActive||this.state.issueDetector.activate())}getUrlState(){return{traceId:this.state.traceId,spanId:this.state.spanId}}updateFromUrl(e){const t={};(e.traceId||e.spanId)&&(t.traceId=e.traceId?e.traceId:void 0,t.spanId=e.spanId?e.spanId:void 0),this.setState(t)}getMetricVariable(){const e=o.jh.lookupVariable(u.PU,this);if(!(e instanceof o.yP))throw new Error("Metric variable not found");var t;e.getValue()||e.changeValueTo(null!==(t=this.state.initialMetric)&&void 0!==t?t:"rate");return e}getMetricFunction(){return this.getMetricVariable().getValue()}closeDrawer(){this.setState({traceId:void 0,spanId:void 0})}setupInvestigationButton(e){const t=(0,d.zY)(this),n=(0,d.U4)(t),a=new o.dt({datasource:{uid:n},queries:[{refId:"A",query:e,queryType:"traceql"}]}),r=new _.L({query:e,type:"trace",dsUid:n,$data:a});r.activate(),this.setState({addToInvestigationButton:r}),this._subs.add(r.subscribeToState(()=>{this.updateInvestigationLink()})),a.activate(),this._subs.add(a.subscribeToState(e=>{var t,n,a;if((null===(t=e.data)||void 0===t?void 0:t.state)===i.LoadingState.Done&&(null===(a=e.data)||void 0===a||null===(n=a.series)||void 0===n?void 0:n.length)>0){var s,o;const t=null===(o=e.data.series[0])||void 0===o||null===(s=o.fields)||void 0===s?void 0:s.find(e=>"serviceName"===e.name);t&&t.values[0]&&r.setState(ee(J({},r.state),{labelValue:`${t.values[0]}`}))}})),r.setState(ee(J({},r.state),{labelValue:e}))}updateInvestigationLink(){return(e=function*(){const{addToInvestigationButton:e}=this.state;if(!e)return;const t=yield(0,N.Fh)(e);t&&this.setState({investigationLink:t})},function(){var t=this,n=arguments;return new Promise(function(a,r){var s=e.apply(t,n);function i(e){Q(s,a,r,i,o,"next",e)}function o(e){Q(s,a,r,i,o,"throw",e)}i(void 0)})}).call(this);var e}constructor(e){var t,n,a;super(J({$timeRange:null!==(t=e.$timeRange)&&void 0!==t?t:new o.JZ({}),$variables:null!==(n=e.$variables)&&void 0!==n?n:le(e),controls:null!==(a=e.controls)&&void 0!==a?a:[new o.KE({}),new o.WM({})],body:new re({}),drawerScene:new E({}),issueDetector:new C},e)),Z(this,"_urlSync",new o.So(this,{keys:["traceId","spanId"]})),Z(this,"onChangeMetricFunction",e=>{const t=this.getMetricVariable();e&&t.getValue()!==e&&t.changeValueTo(e,void 0,!0)}),this.addActivationHandler(this._onActivate.bind(this))}}Z(ae,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,c.useStyles2)(ce);return s().createElement("div",{className:n.bodyContainer}," ",t&&s().createElement(t.Component,{model:t})," ")});class re extends o.Bs{}Z(re,"Component",({model:e})=>{const t=(0,d.zY)(e),{controls:n,topScene:a,drawerScene:r,traceId:i,issueDetector:o,investigationLink:l,addToInvestigationButton:u,embedded:m}=t.useState(),{hasIssue:p}=(null==o?void 0:o.useState())||{hasIssue:!1},f=(0,c.useStyles2)(ce);return s().createElement("div",{className:f.container,id:"trace-exploration"},p&&o&&s().createElement(P,{detector:o}),m?s().createElement(ie,{model:e}):s().createElement(oe,{controls:n,model:e}),s().createElement("div",{className:f.body},a&&s().createElement(a.Component,{model:a})),s().createElement(W,{isOpen:!!r&&!!i,onClose:()=>t.closeDrawer(),title:`View trace ${i}`,embedded:m,forceNoDrawer:m,investigationButton:u&&l&&s().createElement(c.Button,{variant:"secondary",size:"sm",icon:"plus-square",onClick:e=>{(null==l?void 0:l.onClick)&&l.onClick(e),(0,S.EE)(S.NO.analyse_traces,S.ir.analyse_traces.add_to_investigation_trace_view_clicked),setTimeout(()=>t.closeDrawer(),100)}},N.R_)},r&&s().createElement(r.Component,{model:r})))});const se=e=>{const[t,n]=s().useState(),a=(0,d.zY)(e),i=(0,d.gG)(a),o=e=>{var t;const n=e.find(e=>"resource.service.name"===e.key);return"="===(null==n?void 0:n.operator)||"=~"===(null==n?void 0:n.operator)?null==n||null===(t=n.value)||void 0===t?void 0:t.replace(/"/g,""):void 0};return(0,r.useEffect)(()=>{n(o(i.state.filters));const e=i.subscribeToState(e=>{n(o(e.filters))});return()=>{e.unsubscribe()}},[i]),t},ie=({model:e})=>{var t;const n=(0,l.useReturnToPrevious)(),a=(0,c.useStyles2)(ce,!0),i=(0,d.zY)(e),{returnToPreviousSource:u}=i.useState(),m=(0,d.gG)(i),p=(0,d.h7)(i),f=i.state.controls.find(e=>e instanceof o.KE),g=null===(t=i.state.$timeRange)||void 0===t?void 0:t.useState(),v=m.useState(),h=i.getMetricVariable().useState(),[b,y]=s().useState(()=>(0,d.__)(i));return null==p||p.changeValueTo(k.Xn[1].value),(0,r.useEffect)(()=>{y((0,d.__)(i))},[g,v,h,i]),s().createElement("div",{className:a.headerContainer},s().createElement(c.Stack,{gap:1,alignItems:"center",wrap:"wrap",justifyContent:"space-between"},s().createElement(p.Component,{model:p}),m&&s().createElement("div",null,s().createElement(m.Component,{model:m})),s().createElement(c.Stack,{gap:1,alignItems:"center"},s().createElement(c.LinkButton,{href:b,variant:"secondary",icon:"arrow-right",onClick:()=>{n(u||"previous"),(0,S.EE)(S.NO.common,S.ir.common.go_to_full_app_clicked)}},"Traces Drilldown"),f&&s().createElement(f.Component,{model:f}))))},oe=({controls:e,model:t})=>{const n=(0,c.useStyles2)(ce),[a,i]=s().useState(!1),m=se(t),p=(0,d.zY)(t),{traceId:f}=p.useState(),[g,v]=s().useState(null!=f?f:""),h=o.jh.lookupVariable(u.EY,p),b=(0,d.gG)(p),y=(0,d.h7)(p);function w(){const e=(0,c.useStyles2)(ce);return s().createElement("div",{className:e.menuHeader},s().createElement("h5",null,"Grafana Traces Drilldown v","1.2.0"),s().createElement("div",{className:e.menuHeaderSubtitle},"Last update: ",ne))}(0,r.useEffect)(()=>{v(null!=f?f:"")},[f]);const x=s().createElement(c.Menu,{header:s().createElement(w,null)},s().createElement("div",{className:n.menu},l.config.feedbackLinksEnabled&&s().createElement(c.Menu.Item,{label:"Give feedback",ariaLabel:"Give feedback",icon:"comment-alt-message",url:"https://grafana.qualtrics.com/jfe/form/SV_9LUZ21zl3x4vUcS",target:"_blank",onClick:()=>(0,S.EE)(S.NO.common,S.ir.common.global_docs_link_clicked)}),s().createElement(c.Menu.Item,{label:"Documentation",ariaLabel:"Documentation",icon:"external-link-alt",url:"https://grafana.com/docs/grafana/next/explore/simplified-exploration/traces/",target:"_blank",onClick:()=>(0,S.EE)(S.NO.common,S.ir.common.feedback_link_clicked)}))),E=()=>{g!==f&&p.setState({traceId:g})};return s().createElement("div",{className:n.headerContainer},s().createElement(c.Stack,{gap:1,justifyContent:"space-between",wrap:"wrap"},s().createElement(c.Stack,{gap:1,alignItems:"center",wrap:"wrap"},h&&s().createElement(c.Stack,{gap:0,alignItems:"center"},s().createElement("div",{className:n.datasourceLabel},"Data source"),s().createElement(h.Component,{model:h}))),s().createElement("div",{className:n.controls},s().createElement(T,{serviceName:m||"",model:t}),s().createElement(c.Dropdown,{overlay:x,onVisibleChange:()=>i(!a)},s().createElement(c.Button,{variant:"secondary",icon:"info-circle"},"Need help",s().createElement(c.Icon,{className:n.helpIcon,name:a?"angle-up":"angle-down",size:"lg"}))),e.map(e=>s().createElement(e.Component,{key:e.state.key,model:e})))),s().createElement(c.Stack,{gap:1,alignItems:"flex-start",justifyContent:"space-between"},s().createElement(c.Stack,{gap:1,alignItems:"center",wrap:"wrap"},s().createElement(c.Stack,{gap:0,alignItems:"center"},s().createElement("div",{className:n.datasourceLabel},"Filters"),y&&s().createElement(y.Component,{model:y})),b&&s().createElement("div",null,s().createElement(b.Component,{model:b}))),s().createElement(c.Stack,{gap:0,alignItems:"center"},s().createElement("div",{className:n.datasourceLabel},"Trace ID"),s().createElement(c.Input,{placeholder:"Enter an ID and press Enter",value:null!=g?g:"",suffix:s().createElement(c.Stack,{direction:"row",alignItems:"center",gap:1,width:"40px"},g&&s().createElement(s().Fragment,null,s().createElement(c.Icon,{name:"times",onClick:()=>v(""),cursor:"pointer"}),s().createElement(c.Icon,{name:"enter",onClick:E,cursor:"pointer"}))),onChange:e=>{v(e.currentTarget.value)},onKeyDown:e=>{"Enter"===e.key&&(e.stopPropagation(),e.preventDefault(),e.currentTarget.blur(),E())}}))))};function le(e){return new o.Pj({variables:[new o.mI({name:u.EY,label:"Data source",value:e.initialDS,pluginId:"tempo",isReadOnly:e.embedded}),new j.x({name:u.CE,isReadOnly:e.embedded}),new X({initialFilters:e.initialFilters}),new o.yP({name:u.PU,hide:O.zL.hideVariable}),new o.yP({name:u.z,defaultToAll:!1,value:e.initialGroupBy}),new o.yP({name:u.gP,defaultToAll:!1}),new o.yP({name:u.pf,defaultToAll:!1,hide:O.zL.hideVariable}),new o.yP({name:u.xc,defaultToAll:!1,hide:O.zL.hideVariable}),new o.yP({name:u.cT,label:"Duration Percentiles",value:["0.9"],isMulti:!0,includeAll:!1})]})}function ce(e,t){return{bodyContainer:(0,a.css)({label:"bodyContainer",flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column"}),container:(0,a.css)({label:"container",flexGrow:1,display:"flex",gap:e.spacing(1),minHeight:"100%",flexDirection:"column",padding:`0 ${e.spacing(2)} ${e.spacing(2)} ${e.spacing(2)}`,overflow:"auto",maxHeight:"100%",position:"relative"}),drawerHeader:(0,a.css)({display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(2),marginBottom:e.spacing(2),h3:{margin:0}}),drawerHeaderButtons:(0,a.css)({display:"flex",justifyContent:"flex-end",gap:e.spacing(1.5)}),body:(0,a.css)({label:"body",flexGrow:1,display:"flex",flexDirection:"column",gap:e.spacing(1)}),headerContainer:(0,a.css)({label:"headerContainer",backgroundColor:t?e.colors.background.primary:e.colors.background.canvas,display:"flex",flexDirection:"column",position:"sticky",top:0,zIndex:3,padding:`${e.spacing(1.5)} 0`,gap:e.spacing(1)}),datasourceLabel:(0,a.css)({label:"datasourceLabel",fontSize:"12px",padding:`0 ${e.spacing(1)}`,height:"32px",display:"flex",alignItems:"center",justifyContent:"flex-start",fontWeight:e.typography.fontWeightMedium,position:"relative",right:-1,width:"90px"}),controls:(0,a.css)({label:"controls",display:"flex",gap:e.spacing(1),zIndex:3,flexWrap:"wrap"}),menu:(0,a.css)({label:"menu","svg, span":{color:e.colors.text.link}}),menuHeader:a.css`
|
||
padding: ${e.spacing(.5,1)};
|
||
white-space: nowrap;
|
||
`,menuHeaderSubtitle:a.css`
|
||
color: ${e.colors.text.secondary};
|
||
font-size: ${e.typography.bodySmall.fontSize};
|
||
`,tooltip:(0,a.css)({label:"tooltip",fontSize:"14px",lineHeight:"22px",width:"180px",textAlign:"center"}),helpIcon:(0,a.css)({label:"helpIcon",marginLeft:e.spacing(1)}),filters:(0,a.css)({label:"filters",marginTop:e.spacing(1),display:"flex",gap:e.spacing(1)})}}},2645:(e,t,n)=>{"use strict";n.d(t,{G:()=>p});var a,r,s,i=n(6089),o=n(118),l=n(2007),c=n(5959),u=n.n(c),d=n(3049),m=n(9504);class p extends o.Bs{}s=({model:e})=>{const t=(0,l.useTheme2)(),n=(0,l.useStyles2)(g),{component:a}=e.useState();return u().createElement("div",{className:n.container,"data-testid":m.b.loadingState},u().createElement(d.z,{baseColor:t.colors.emphasize(t.colors.background.secondary),highlightColor:t.colors.emphasize(t.colors.background.secondary,.1),borderRadius:t.shape.radius.default},a()))},(r="Component")in(a=p)?Object.defineProperty(a,r,{value:s,enumerable:!0,configurable:!0,writable:!0}):a[r]=s;const f=(0,i.keyframes)({"0%":{opacity:0},"100%":{opacity:1}});function g(){return{container:(0,i.css)({label:"loading-state-scene",animationName:f,animationDelay:"100ms",animationTimingFunction:"ease-in",animationDuration:"100ms",animationFillMode:"backwards"})}}},2860:(e,t,n)=>{"use strict";n.d(t,{M:()=>o});var a=n(5959),r=n.n(a),s=n(2007),i=n(6089);const o=({isStreaming:e,iconSize:t=14})=>{const n=(0,s.useStyles2)(l,t);return e?r().createElement(s.Tooltip,{content:"Streaming"},r().createElement(s.Icon,{name:"circle-mono",size:"md",className:n.streamingIndicator})):null},l=(e,t)=>({streamingIndicator:(0,i.css)({width:`${t}px`,height:`${t}px`,backgroundColor:e.colors.success.text,fill:e.colors.success.text,borderRadius:"50%",display:"inline-block"})})},3247:(e,t,n)=>{"use strict";n.d(t,{G:()=>s,h:()=>i});var a=n(1269),r=n(7781);const s=e=>[{topic:r.DataTopic.Annotations,operator:()=>t=>t.pipe((0,a.map)(t=>t.map(t=>{if("exemplar"===t.name){const n=t.fields.find(e=>"traceId"===e.name);n&&(n.config.links=[{title:"View trace",url:"#${__value.raw}",onClick:t=>{var n,a,r;t.e.stopPropagation();const s=null===(r=t.e.target)||void 0===r||null===(a=r.parentElement)||void 0===a||null===(n=a.parentElement)||void 0===n?void 0:n.href;if(!s||-1===s.indexOf("#"))return;const i=s.split("#")[1];i&&""!==i&&(null==e||e(i))}}])}return t})))}],i=()=>[{topic:r.DataTopic.Annotations,operator:()=>e=>e.pipe((0,a.map)(e=>e.filter(e=>"exemplar"!==e.name)))}]},3295:(e,t,n)=>{"use strict";n.d(t,{VV:()=>wt,jc:()=>vt});var a=n(5959),r=n.n(a),s=n(7781),i=n(118),o=n(7197),l=n(1829),c=n(8531),u=n(6089),d=n(2007),m=n(1051),p=n(940);const f=({exploration:e})=>{const{origin:t}=(0,p.A)(),[n,s]=(0,a.useState)("Copy url");return r().createElement(d.ToolbarButton,{variant:"canvas",icon:"share-alt",tooltip:n,onClick:()=>{navigator.clipboard&&(navigator.clipboard.writeText(t+(0,m.__)(e)),s("Copied!"),setTimeout(()=>{s("Copy url")},2e3))}})};var g=n(2645),v=n(775),h=n(3049),b=n(1269),y=n(6338);const w="grafana.traces-drilldown.favorites.attributes",S=()=>[...l.R7,...l.$q];function x({scene:e}){const[t,n]=(0,a.useState)([]),{attributes:r}=(0,m.YX)(e).useState();(0,a.useEffect)(()=>{const e=localStorage.getItem(w);if(e)try{n(JSON.parse(e))}catch(e){const t=S().filter(e=>null==r?void 0:r.some(t=>t===e));n(t)}else{const e=S(),t=e.filter(e=>null==r?void 0:r.some(t=>t===e));n(t),localStorage.setItem(w,JSON.stringify(e))}},[r]),(0,a.useEffect)(()=>{t.length>0&&localStorage.setItem(w,JSON.stringify(t))},[t]);const s=(0,a.useCallback)(e=>{n(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),i=(0,a.useCallback)((e,t)=>{n(n=>{const a=[...n];return a.splice(e,1),a.splice(t,0,n[e]),a})},[]);return{favoriteAttributes:t,toggleFavorite:s,reorderFavorites:i}}function E({options:e,selected:t,onAttributeChange:n,title:s="Attributes",model:i,showFavorites:o,isMulti:c,allowAllOption:u}){const p=(0,d.useStyles2)(O),f=(0,d.useTheme2)(),[g,v]=(0,a.useState)(""),[h,b]=(0,a.useState)(o?"Favorites":"All"),[y,w]=(0,a.useState)(null),[S,E]=(0,a.useState)(null),{favoriteAttributes:j,toggleFavorite:k,reorderFavorites:C}=x({scene:i}),P=(0,m.gG)(i),{filters:_}=P.useState(),N=_.map(e=>e.key),D=(0,a.useCallback)((e,t)=>{if(!t)return!0;try{return new RegExp(t,"i").test(e)}catch(n){return e.toLowerCase().includes(t.toLowerCase())}},[]),T=()=>c?Array.isArray(t)?t:[]:t&&"string"==typeof t?[t]:[],I=(0,a.useMemo)(()=>e.filter(e=>e.value&&!l.uK.includes(e.value)).map(e=>{const t=e.value;let n="Span",a=e.label||t;return t.startsWith(l.$d)?(n="Resource",a=a.replace(l.$d,"")):t.startsWith(l.zd)&&(n="Span",a=a.replace(l.zd,"")),{label:a,value:t,scope:n}}).sort((e,t)=>e.label.localeCompare(t.label)),[e]),A=(0,a.useMemo)(()=>{if("Favorites"===h){return j.map(e=>I.find(t=>t.value===e)).filter(Boolean).filter(e=>D(e.label,g))}return I.filter(e=>{const t=D(e.label,g),n="All"===h||e.scope===h;return t&&n})},[I,g,h,j,D]);(0,a.useEffect)(()=>{if(!c&&t&&"string"==typeof t&&N.includes(t)){const e=A.findIndex(e=>e.value===t)+1;if(e<A.length)return void n(A[e].value)}},[t,N,c,A,n]);const $=(0,a.useCallback)((e,t)=>{t.stopPropagation(),k(e)},[k]),L=(0,a.useCallback)(e=>{w(e)},[]),V=(0,a.useCallback)(()=>{w(null),E(null)},[]),F=(0,a.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),null!==y&&y!==t&&S!==t&&E(t)},[y,S]),z=(0,a.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),null!==y&&y!==t&&E(t)},[y]),B=(0,a.useCallback)(e=>{e.stopPropagation()},[]),M=(0,a.useCallback)(e=>{e.preventDefault()},[]),R=(0,a.useCallback)(e=>{const t=e.currentTarget,n=e.relatedTarget;t.contains(n)||E(null)},[]),H=(0,a.useCallback)(e=>{if(null===y)return;const t=A[e],n=A[y],a=j.findIndex(e=>e===t.value),r=j.findIndex(e=>e===n.value);C(r,a),w(null),E(null)},[y,C,A,j]),q=e=>{if(!0===c){const t=T(),a=t.includes(e)?t.filter(t=>t!==e):[...t,e];n(a)}else{n(t===e?void 0:e)}},G=[{label:"All",value:"All"},{label:"Resource",value:"Resource"},{label:"Span",value:"Span"}];return o&&G.unshift({label:"Favorites",value:"Favorites"}),r().createElement("div",{className:p.container},r().createElement("div",{className:p.header},r().createElement("div",{className:p.title},s),r().createElement("div",{className:p.selectedAttributeContainer},r().createElement("div",{className:p.selectedAttributeLabel},c?r().createElement(r().Fragment,null,r().createElement("strong",null,"Selected (",T().length,"):")," ",T().length>0?T().join(", "):"None"):r().createElement(r().Fragment,null,r().createElement("strong",null,"Selected:")," ",t)),u&&"All"!==t&&r().createElement(d.Button,{variant:"secondary",size:"sm",onClick:()=>q("All")},"All")),r().createElement("div",{className:p.searchContainer},r().createElement(d.Input,{className:p.searchInput,prefix:r().createElement(d.Icon,{name:"search"}),placeholder:"Search attributes...",value:g,onChange:e=>v(e.currentTarget.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),v(""))},suffix:g&&r().createElement(d.IconButton,{name:"times",variant:"secondary",tooltip:"Clear search",onClick:()=>v("")})})),r().createElement("div",{className:p.scopeContainer},r().createElement(d.TabsBar,null,G.map(e=>r().createElement(d.Tab,{key:e.value,label:e.label,className:p.scopeTab,active:h===e.value,onChangeTab:()=>{return t=e.value,void b(t);var t}}))))),r().createElement("ul",{className:p.attributesList,onDragOver:M,onDragLeave:R},0===A.length?r().createElement("div",{className:p.emptyState},g||"All"!==h?"No attributes match your criteria":"No attributes available"):A.map((e,t)=>{const n=j.includes(e.value),a="Favorites"===h,s=y===t,i=N.includes(e.value),l=(e=>T().includes(e))(e.value),u=S===t&&null!==y&&y>t,m=S===t&&null!==y&&y<t;return r().createElement(r().Fragment,{key:e.value},u&&r().createElement("li",{className:p.ghostElement,onDrop:()=>H(t)},r().createElement("div",{className:p.ghostContent},"Drop here")),r().createElement("li",{title:i?`Filtered: ${e.label}`:e.label,className:`${p.attributeItem} ${!c&&l?p.attributeItemSelected:""} ${a?p.draggableItem:""} ${s?p.dragging:""}`,onClick:c?void 0:()=>q(e.value),draggable:a,onDragStart:()=>L(t),onDragEnd:V,onDragEnter:e=>z(e,t),onDragOver:e=>F(e,t),onDragLeave:B,onDrop:()=>H(t)},c&&r().createElement(d.Checkbox,{value:l,onChange:()=>q(e.value),className:p.checkbox}),r().createElement("div",{className:p.attributeContent},("All"===h||"Favorites"===h)&&r().createElement(d.Badge,{color:"darkgrey",text:e.scope.toLowerCase()+".",className:p.attributeScope}),i&&r().createElement(d.Icon,{name:"filter",color:f.colors.text.disabled}),r().createElement("div",{className:p.attributeLabel},e.label)),o&&r().createElement(d.IconButton,{name:n?"favorite":"star",variant:"secondary",size:"sm",className:`${p.starButton} ${n?p.starButtonActive:""}`,tooltip:n?"Remove from favorites":"Add to favorites",onClick:t=>$(e.value,t)})),m&&r().createElement("li",{className:p.ghostElement,onDrop:()=>H(t)},r().createElement("div",{className:p.ghostContent},"Drop here")))})))}function O(e){return{container:(0,u.css)({display:"flex",flexDirection:"column",backgroundColor:e.colors.background.primary,width:"300px",minWidth:"300px",border:`1px solid ${e.colors.border.weak}`,borderRadius:e.shape.radius.default}),header:(0,u.css)({display:"flex",flexDirection:"column",width:"100%",gap:e.spacing(1),padding:e.spacing(1)}),title:(0,u.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.h5.fontWeight,color:e.colors.text.primary,borderBottom:`1px solid ${e.colors.border.medium}`}),selectedAttributeContainer:(0,u.css)({display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:e.spacing(.5,0),gap:e.spacing(1),height:"32px"}),selectedAttributeLabel:(0,u.css)({fontSize:e.typography.bodySmall.fontSize,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),searchContainer:(0,u.css)({}),searchInput:(0,u.css)({width:"100%"}),scopeContainer:(0,u.css)({"& > div":{width:"100%"}}),scopeTab:(0,u.css)({"& button":{fontSize:e.typography.bodySmall.fontSize}}),attributesList:(0,u.css)({flex:1,overflowY:"auto",overflowX:"hidden",display:"flex",flexDirection:"column",gap:e.spacing(.5),padding:e.spacing(0,.5)}),attributeItem:(0,u.css)({display:"flex",alignItems:"center",gap:e.spacing(1),flexDirection:"row",padding:e.spacing(.5),borderRadius:e.shape.radius.default,cursor:"pointer",border:"1px solid transparent",transition:"all 0.2s ease-in-out","&:hover":{backgroundColor:e.colors.background.secondary,border:`1px solid ${e.colors.border.medium}`}}),attributeItemSelected:(0,u.css)({backgroundColor:e.colors.primary.transparent,border:`1px solid ${e.colors.primary.border}`,"&:hover":{backgroundColor:e.colors.primary.transparent,border:`1px solid ${e.colors.primary.border}`}}),checkbox:(0,u.css)({flexShrink:0,marginRight:e.spacing(1)}),attributeContent:(0,u.css)({display:"flex",alignItems:"center",gap:e.spacing(1),flex:1,minWidth:0}),attributeLabel:(0,u.css)({fontSize:e.typography.bodySmall.fontSize,fontWeight:e.typography.fontWeightMedium,color:e.colors.text.primary,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),attributeScope:(0,u.css)({fontSize:e.typography.bodySmall.fontSize}),draggableItem:(0,u.css)({cursor:"grab","&:active":{cursor:"grabbing"}}),dragHandle:(0,u.css)({color:e.colors.text.secondary,cursor:"grab","&:hover":{color:e.colors.text.primary}}),starButton:(0,u.css)({marginLeft:"auto","&:hover":{color:e.colors.text.primary}}),starButtonActive:(0,u.css)({color:e.colors.text.primary}),dragging:(0,u.css)({opacity:.5,transform:"scale(0.95)",transition:"all 0.2s ease-in-out"}),ghostElement:(0,u.css)({display:"flex",alignItems:"center",justifyContent:"center",height:e.spacing(4),margin:e.spacing(.25,0),border:`2px dashed ${e.colors.primary.main}`,borderRadius:e.shape.radius.default,backgroundColor:e.colors.primary.transparent,animation:"pulse 1s ease-in-out infinite alternate","@keyframes pulse":{from:{opacity:.6},to:{opacity:1}}}),ghostContent:(0,u.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.primary.text,fontWeight:e.typography.fontWeightMedium,textAlign:"center"}),emptyState:(0,u.css)({display:"flex",alignItems:"center",justifyContent:"center",padding:e.spacing(3),color:e.colors.text.secondary,fontSize:e.typography.bodySmall.fontSize,fontStyle:"italic",textAlign:"center"})}}function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){j(e,t,n[t])})}return e}function C(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class P extends i.Bs{setupTransformations(){return[()=>e=>e.pipe((0,b.map)(e=>e.map(e=>{var t,n;const a=e.fields,s=a.find(e=>"traceName"===e.name),i={type:d.TableCellDisplayMode.Custom,cellComponent:e=>{const t=e.frame,n=null==t?void 0:t.fields.find(e=>"traceIdHidden"===e.name),a=null==t?void 0:t.fields.find(e=>"spanID"===e.name),s=null==n?void 0:n.values[e.rowIndex],i=null==a?void 0:a.values[e.rowIndex];if(!s)return e.value;const o=e.value?e.value:"<name not yet available>";return r().createElement("div",{className:"cell-link-wrapper"},r().createElement("div",{className:"cell-link",title:o,onClick:()=>{this.publishEvent(new l.vR({traceId:s,spanId:i}),!0)}},o),r().createElement(d.Link,{href:this.getLinkToExplore(s,i),target:"_blank",title:"Open in new tab"},r().createElement(d.Icon,{name:"external-link-alt",size:"sm"})))}};(null==s||null===(t=s.config)||void 0===t?void 0:t.custom)&&(s.config.custom.cellOptions=i);const o=a.find(e=>"spanID"===e.name);return(null==o||null===(n=o.config)||void 0===n?void 0:n.custom)&&(o.config.custom.hideFrom={viz:!0}),C(k({},e),{fields:a})})))]}updatePanel(e){var t,n;if((null==e?void 0:e.state)!==s.LoadingState.Loading&&(null==e?void 0:e.state)!==s.LoadingState.NotStarted&&(null==e?void 0:e.state)&&((null==e?void 0:e.state)!==s.LoadingState.Streaming||(null===(n=e.series)||void 0===n||null===(t=n[0])||void 0===t?void 0:t.length))){if((null==e?void 0:e.state)===s.LoadingState.Done||(null==e?void 0:e.state)===s.LoadingState.Streaming)if(0===e.series.length||0===e.series[0].length){if("empty"===this.state.dataState&&this.state.panel)return;this.setState({dataState:"empty",panel:new i.G1({children:[new i.vA({body:new v.v({message:l.PL,remedyMessage:l.a5,padding:"32px"})})]})})}else"done"!==this.state.dataState&&this.setState({dataState:"done",panel:new i.G1({direction:"row",children:[new i.vA({body:i.d0.table().setHoverHeader(!0).setOverrides(e=>e.matchFieldsWithName("traceService").overrideCustomFieldConfig("width",350).matchFieldsWithName("traceName").overrideCustomFieldConfig("width",350)).build()})]})})}else{if("loading"===this.state.dataState)return;this.setState({dataState:"loading",panel:new i.G1({direction:"row",children:[new g.G({component:N})]})})}}constructor(e){super(k({dataState:"empty"},e)),j(this,"getLinkToExplore",(e,t)=>{const n=(0,m.zY)(this),a=(0,m.U4)(n),r=i.jh.getTimeRange(this).state.value,o=JSON.stringify({"explore-traces":{range:(0,s.toURLRange)(r.raw),queries:[{refId:"traceId",queryType:"traceql",query:e,datasource:a}],panelsState:{trace:{spanId:t}},datasource:a}});var l;const u=null!==(l=c.config.appSubUrl)&&void 0!==l?l:"";return s.urlUtil.renderUrl(`${u}/explore`,{panes:o,schemaVersion:1})}),j(this,"onChange",e=>{const t=(0,m.gi)(this);t.getValue()!==e&&(t.changeValueTo(e),(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.span_list_columns_changed,{columns:e}))}),this.addActivationHandler(()=>{this.setState({$data:new i.Es({transformations:this.setupTransformations()})});const e=i.jh.getData(this);this.updatePanel(e.state.data),this._subs.add(e.subscribeToState(e=>{this.updatePanel(e.data)}))})}}j(P,"Component",({model:e})=>{const{panel:t}=e.useState(),n=_((0,d.useTheme2)()),a=(0,m.gi)(e),{attributes:i}=(0,m.YX)(e).useState();var o;if(t)return r().createElement("div",{className:n.container},r().createElement("div",{className:n.header},r().createElement("div",{className:n.description},"View a list of spans for the current set of filters.")),r().createElement("div",{className:n.content},r().createElement(d.Stack,{direction:"row",gap:2,width:"100%"},r().createElement(E,{options:null!==(o=null==i?void 0:i.map(e=>(0,s.toOption)(e)))&&void 0!==o?o:[],selected:a.getValue(),onAttributeChange:t=>e.onChange(null!=t?t:[]),model:e,showFavorites:!0,isMulti:!0}),r().createElement(t.Component,{model:t}))))});const _=e=>({container:(0,u.css)({display:"contents",'[role="cell"] > div':{display:"flex",width:"100%"},".cell-link-wrapper":{display:"flex",gap:"4px",justifyContent:"space-between",alignItems:"center",width:"100%",a:{padding:4,fontSize:0,":hover":{background:e.colors.background.secondary}}},".cell-link":{color:e.colors.text.link,cursor:"pointer",maxWidth:"300px",overflow:"hidden",textOverflow:"ellipsis",":hover":{textDecoration:"underline"}}}),description:(0,u.css)({fontSize:e.typography.h6.fontSize,padding:`${e.spacing(1)} 0 ${e.spacing(2)} 0`}),header:(0,u.css)({display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"10px"}),content:(0,u.css)({flexGrow:1,display:"flex",paddingTop:e.spacing(0),height:"calc(100vh - 550px)"})}),N=()=>{const e=(0,d.useStyles2)(D);return r().createElement("div",{className:e.container},r().createElement("div",{className:e.title},r().createElement(h.A,{count:1,width:80})),[...Array(3)].map((t,n)=>r().createElement("div",{className:e.row,key:n},[...Array(6)].map((t,n)=>r().createElement("span",{className:e.rowItem,key:n},r().createElement(h.A,{count:1}))))))};function D(e){return{container:(0,u.css)({height:"100%",width:"100%",position:"absolute",backgroundColor:e.colors.background.primary,border:`1px solid ${e.colors.border.weak}`,padding:"5px"}),title:(0,u.css)({marginBottom:"20px"}),row:(0,u.css)({marginBottom:"5px",display:"flex",justifyContent:"space-around"}),rowItem:(0,u.css)({width:"14%"})}}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class I extends i.Bs{_onActivate(){var e;this._subs.add(null===(e=(0,m.YX)(this).state.$data)||void 0===e?void 0:e.subscribeToState(()=>{this.updateBody()})),this._subs.add((0,m.YX)(this).subscribeToState((e,t)=>{var n,a;(null===(n=e.$data)||void 0===n?void 0:n.state.key)!==(null===(a=t.$data)||void 0===a?void 0:a.state.key)&&this.updateBody()})),this._subs.add((0,m.H_)(this).subscribeToState((e,t)=>{e.value!==t.value&&this.updateBody()})),this.updateBody()}updateBody(){this.setState({body:new P({})})}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){T(e,t,n[t])})}return e}({},e)),this.addActivationHandler(this._onActivate.bind(this))}}function A(e){if(e.attributes)for(const n of e.attributes){var t;if("nestedSetLeft"===n.key)return parseInt(n.value.intValue||(null===(t=n.value.Value)||void 0===t?void 0:t.int_value)||"0",10)}throw new Error("nestedSetLeft not found!")}function $(e){if(e.attributes)for(const n of e.attributes){var t;if("nestedSetRight"===n.key)return parseInt(n.value.intValue||(null===(t=n.value.Value)||void 0===t?void 0:t.int_value)||"0",10)}throw new Error("nestedSetRight not found!")}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}T(I,"Component",({model:e})=>{const{body:t}=e.useState();return t&&r().createElement(t.Component,{model:t})});class V{addSpan(e){this.left=Math.min(A(e),this.left),this.right=Math.max($(e),this.right),this.spans.push(e)}addChild(e){e.parent=this,this.children.push(e)}isChild(e){return A(e)>this.left&&$(e)<this.right}findMatchingChild(e){const t=z(e);for(const e of this.children)if(e.name===t)return e;return null}constructor({name:e,serviceName:t,operationName:n,spans:a,left:r,right:s,traceID:i}){L(this,"name",void 0),L(this,"serviceName",void 0),L(this,"operationName",void 0),L(this,"spans",void 0),L(this,"left",void 0),L(this,"right",void 0),L(this,"children",void 0),L(this,"parent",void 0),L(this,"traceID",void 0),this.name=e,this.serviceName=t,this.operationName=n,this.spans=a,this.left=r,this.right=s,this.children=[],this.parent=null,this.traceID=i}}function F(e){var t,n,a;const r=null===(t=e.attributes)||void 0===t?void 0:t.find(e=>"service.name"===e.key);var s,i,o,l;return new V({left:A(e),right:$(e),name:z(e),serviceName:null!==(i=null!==(s=null==r?void 0:r.value.stringValue)&&void 0!==s?s:null==r||null===(a=r.value)||void 0===a||null===(n=a.Value)||void 0===n?void 0:n.string_value)&&void 0!==i?i:"",operationName:null!==(o=e.name)&&void 0!==o?o:"",spans:[e],traceID:null!==(l=e.traceId)&&void 0!==l?l:""})}function z(e){let t="";for(const n of e.attributes||[])"service.name"===n.key&&n.value.stringValue&&(t=n.value.stringValue);return`${t}:${e.name}`}function B(e){e.left=Number.MAX_SAFE_INTEGER,e.right=Number.MIN_SAFE_INTEGER;for(const t of e.children)B(t)}var M=n(3733);function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){R(e,t,n[t])})}return e}const q="0000000000000000";class G extends i.Bs{_onActivate(){var e;this._subs.add(null===(e=this.state.$data)||void 0===e?void 0:e.subscribeToState(e=>{var t,n,a,r;if((null===(t=e.data)||void 0===t?void 0:t.state)!==s.LoadingState.Loading&&(null===(n=e.data)||void 0===n?void 0:n.state)!==s.LoadingState.Streaming){if((null===(a=e.data)||void 0===a?void 0:a.state)===s.LoadingState.Done&&(null===(r=e.data)||void 0===r?void 0:r.series.length)){var o;const t=null===(o=e.data)||void 0===o?void 0:o.series[0].fields[0].values[0];if(t){const e=function(e){const t=new V({name:"root",serviceName:"",operationName:"",left:Number.MIN_SAFE_INTEGER,right:Number.MAX_SAFE_INTEGER,spans:[],traceID:""});if(e&&e.length>0)for(const a of e){var n;if(1!==(null===(n=a.spanSets)||void 0===n?void 0:n.length))throw new Error("there should be only 1 spanset!");const e=parseInt(a.startTimeUnixNano||"0",10),r=a.spanSets[0];r.spans.sort((e,t)=>A(e)-A(t));let s=t;B(t);for(const t of r.spans){for(t.traceId=a.traceID,t.startTimeUnixNano=""+(parseInt(t.startTimeUnixNano,10)-e);null!==s.parent&&!s.isChild(t);)s=s.parent;const n=s.findMatchingChild(t);if(n){n.addSpan(t),s=n;continue}const r=F(t);r.traceID=a.traceID,s.addChild(r),s=r}}return t}(JSON.parse(t));e.children.sort((e,t)=>Y(t)-Y(e)),this.setState({loading:!1,tree:e,panel:new i.G1({height:"100%",wrap:"wrap",children:this.getPanels(e)})})}}}else this.setState({loading:!0})}))}getPanels(e){return e.children.map(e=>new i.vA({height:150,width:"100%",minHeight:"400px",body:this.getPanel(e)}))}getPanel(e){const t=i.jh.getTimeRange(this),n=t.state.value.from,a=t.state.value.to,r=(0,m.w$)(this);return i.d0.traces().setTitle(`Structure for ${e.serviceName} [${Y(e)} spans used]`).setOption("createFocusSpanLink",(e,t)=>({title:"Open trace",href:"#",onClick:()=>r(e,t),origin:{},target:"_self"})).setData(new i.Zv({data:{state:s.LoadingState.Done,timeRange:{from:n,to:a,raw:{from:n,to:a}},series:[H({},this.buildData(e))]}})).build()}buildData(e){const t=this.getTrace(e,q),n=t[0].serviceName+":"+t[0].operationName;return(0,s.createDataFrame)({name:`Trace ${n}`,refId:`trace_${n}`,fields:[{name:"references",type:s.FieldType.other,values:t.map(e=>e.references)},{name:"traceID",type:s.FieldType.string,values:t.map(e=>e.traceID)},{name:"spanID",type:s.FieldType.string,values:t.map(e=>e.spanID)},{name:"parentSpanID",type:s.FieldType.string,values:t.map(e=>e.parentSpanId)},{name:"serviceName",type:s.FieldType.string,values:t.map(e=>e.serviceName)},{name:"operationName",type:s.FieldType.string,values:t.map(e=>e.operationName)},{name:"duration",type:s.FieldType.number,values:t.map(e=>e.duration)},{name:"startTime",type:s.FieldType.number,values:t.map(e=>e.startTime)},{name:"statusCode",type:s.FieldType.number,values:t.map(e=>e.statusCode)}]})}getTrace(e,t){const n=e.spans.reduce((e,t)=>{var n,a;return"error"===(null===(a=t.attributes)||void 0===a||null===(n=a.find(e=>"status"===e.key))||void 0===n?void 0:n.value.stringValue)?e+1:e},0);let a=1e-4;t!==q&&(a=e.spans.reduce((e,t)=>e+parseInt(t.startTimeUnixNano,10),0)/e.spans.length/1e6);const r=[{references:e.spans.slice(-5).map(e=>({refType:"EXTERNAL",traceID:e.traceId,spanID:e.spanID})),traceID:e.traceID,spanID:e.spans[0].spanID,parentSpanId:t,serviceName:e.serviceName,operationName:e.operationName,statusCode:n>0?2:0,duration:e.spans.reduce((e,t)=>e+parseInt(t.durationNanos,10),0)/e.spans.length/1e6,startTime:a}];for(const t of e.children)r.push(...this.getTrace(t,e.spans[0].spanID));return r}constructor(e){super(H({$data:new i.Es({$data:new i.dt({datasource:l.Vl,queries:[W(e.metric)]}),transformations:l.s9}),loading:!0},e)),this.addActivationHandler(this._onActivate.bind(this))}}function W(e){let t,n="";switch(e){case"errors":t="status = error",n="status = error";break;case"duration":t=`duration > ${l.Ld}`,n=`duration > ${l.xT}`;break;default:t="kind = server"}return{refId:"A",query:`{${l.ui} ${n.length?`&& ${n}`:""}} &>> { ${t} } | select(status, resource.service.name, name, nestedSetParent, nestedSetLeft, nestedSetRight)`,queryType:"traceql",tableType:"raw",limit:200,spss:20,filters:[]}}R(G,"Component",({model:e})=>{var t,n;const{tree:a,loading:i,panel:o,$data:c}=e.useState(),u=U((0,d.useTheme2)()),p=(0,d.useTheme2)(),f=(0,m.zY)(e),{value:g}=f.getMetricVariable().useState(),v=g;let b,y=i||!(null==a?void 0:a.children.length);(null==c||null===(t=c.state.data)||void 0===t?void 0:t.state)===s.LoadingState.Done&&(y=!1);let w="";switch(v){case"rate":b=r().createElement(r().Fragment,null,r().createElement("div",null,"Analyse the service structure of the traces that match the current filters."),r().createElement("div",null,"Each panel represents an aggregate view compiled using spans from multiple traces.")),w="server";break;case"errors":b=r().createElement(r().Fragment,null,r().createElement("div",null,"Analyse the errors structure of the traces that match the current filters."),r().createElement("div",null,"Each panel represents an aggregate view compiled using spans from multiple traces.")),w="error";break;case"duration":b=r().createElement(r().Fragment,null,r().createElement("div",null,"Analyse the structure of slow spans from the traces that match the current filters."),r().createElement("div",null,"Each panel represents an aggregate view compiled using spans from multiple traces.")),w="slow"}const S=rt(v),x=r().createElement(r().Fragment,null,r().createElement(d.Text,{textAlignment:"center",variant:"h3"},l.PL),r().createElement(d.Text,{textAlignment:"center",variant:"body"},r().createElement("div",{className:u.longText},"The structure tab shows ",w," spans beneath what you are currently investigating. Currently, there are no descendant ",w," spans beneath the spans you are investigating.")),r().createElement(d.Stack,{gap:.5,alignItems:"center"},r().createElement(d.Icon,{name:"info-circle"}),r().createElement(d.Text,{textAlignment:"center",variant:"body"},"The structure tab works best with full traces.")),r().createElement("div",{className:u.actionContainer},"Read more about",r().createElement("div",{className:u.action},r().createElement(d.LinkButton,{icon:"external-link-alt",fill:"solid",size:"sm",target:"_blank",href:"https://grafana.com/docs/grafana/next/explore/simplified-exploration/traces/concepts/#trace-structure"},`${S.toLowerCase()}`))));return r().createElement(d.Stack,{direction:"column",gap:1},r().createElement("div",{className:u.description},b),y&&r().createElement(d.Stack,{direction:"column",gap:2},r().createElement(h.A,{count:4,height:200,baseColor:p.colors.background.secondary,highlightColor:p.colors.background.primary})),!y&&a&&a.children.length>0&&r().createElement("div",{className:u.traceViewList},o&&r().createElement(o.Component,{model:o})),(null==c||null===(n=c.state.data)||void 0===n?void 0:n.state)===s.LoadingState.Done&&!(null==a?void 0:a.children.length)&&r().createElement(M.p,{message:x,padding:"32px"}))});const U=e=>({description:(0,u.css)({fontSize:e.typography.h6.fontSize,padding:`${e.spacing(1)} 0`}),traceViewList:(0,u.css)({display:"flex",flexDirection:"column",gap:e.spacing.x1,'div[class*="panel-content"] > div':{overflow:"auto",'> :not([class*="TraceTimelineViewer"])':{display:"none"}},'div[data-testid="span-detail-component"] > :nth-child(4) > :nth-child(1)':{display:"none"},".span-detail-row":{display:"none"},'div[data-testid="TimelineRowCell"]':{'button[role="switch"]':{cursor:"text"}},'div[data-testid="span-view"]':{cursor:"text !important"}}),longText:(0,u.css)({maxWidth:"800px",margin:"0 auto"}),action:(0,u.css)({marginLeft:e.spacing(1)}),actionContainer:(0,u.css)({display:"flex",justifyContent:"space-between",alignItems:"center"})});function Y(e){let t=e.spans.length;for(const n of e.children)t+=Y(n);return t}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class X extends i.Bs{Selector({model:e}){const{active:t,options:n}=e.useState(),a=(0,d.useStyles2)(Q);return r().createElement(d.Stack,null,r().createElement(d.Label,{className:a.label},"View"),r().createElement(d.RadioButtonGroup,{options:n,value:t,onChange:e.onLayoutChange}))}constructor(...e){super(...e),K(this,"onLayoutChange",e=>{this.setState({active:e}),(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.layout_type_changed,{layout:e})})}}function Q(e){return{label:(0,u.css)({marginBottom:e.spacing(0),display:"flex",alignItems:"center"})}}K(X,"Component",({model:e})=>{const{layouts:t,options:n,active:a}=e.useState(),s=n.findIndex(e=>e.value===a);if(-1===s)return null;const i=t[s];return r().createElement(i.Component,{model:i})});var Z=n(806),J=n(1379),ee=n(9840),te=n(6997);const ne=()=>i.d0.timeseries().setOption("legend",{showLegend:!1}).setOption("tooltip",{mode:d.TooltipDisplayMode.Multi}).setCustomFieldConfig("fillOpacity",15);var ae=n(6374),re=n(3241);function se(){return e=>{const t=new Map,n=e.subscribeToEvent(l.sv,n=>{const a=n.payload.series;null==a||a.forEach(e=>{e.fields.slice(1).forEach(n=>{t.set(e.refId,Math.max(...n.values.filter(e=>e)))})}),function(e,t){const n=i.jh.findAllObjects(e,e=>e instanceof i.Eb);for(const e of n)e.clearFieldConfigCache(),e.setState({fieldConfig:(0,re.merge)((0,re.cloneDeep)(e.state.fieldConfig),{defaults:{max:t}})})}(e,Math.max(...t.values()))});return()=>{n.unsubscribe()}}}var ie=n(3247),oe=n(4524);function le(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){le(e,t,n[t])})}return e}function ue(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function de(e,t,n){const a=(0,m.zY)(e).getMetricVariable().getValue(),r=(0,ee.l)({metric:a,groupByKey:t.getValueText()}),o={};return new X({$behaviors:[se()],$data:new i.Es({$data:new ae.$({maxDataPoints:64,datasource:l.Vl,queries:[r]}),transformations:[...(0,ie.G)((0,m.w$)(e)),()=>e=>e.pipe((0,b.map)(e=>(e.forEach(e=>(0,s.reduceField)({field:e.fields[1],reducers:[s.ReducerID.max]})),e.sort((e,t)=>{var n,a,r,s;return((null===(a=t.fields[1].state)||void 0===a||null===(n=a.calcs)||void 0===n?void 0:n.max)||0)-((null===(s=e.fields[1].state)||void 0===s||null===(r=s.calcs)||void 0===r?void 0:r.max)||0)}))))]}),options:[{value:"single",label:"Single"},{value:"grid",label:"Grid"},{value:"rows",label:"Rows"}],active:"grid",layouts:[new i.G1({direction:"column",children:[new i.vA({minHeight:300,body:("duration"===a?ne().setUnit("s"):ne()).build()})]}),new J.hE({body:new i.gF({templateColumns:l.MV,autoRows:"200px",isLazy:!0,children:[]}),groupBy:!0,getLayoutChild:me(o,m.ee,t,a,n)}),new J.hE({body:new i.gF({templateColumns:"1fr",autoRows:"200px",isLazy:!0,children:[]}),groupBy:!0,getLayoutChild:me(o,m.ee,t,a,n)})]})}function me(e,t,n,a,r){return(s,o)=>{var l;const c=o.name?e[o.name]:void 0,u=new i.Zv({data:ue(ce({},s),{annotations:null===(l=s.annotations)||void 0===l?void 0:l.filter(e=>e.refId===o.refId),series:[ue(ce({},o),{fields:o.fields.sort((e,t)=>{var n,a,r;return(null===(r=e.labels)||void 0===r||null===(a=r.status)||void 0===a?void 0:a.localeCompare((null===(n=t.labels)||void 0===n?void 0:n.status)||""))||0})})]})});var d;if(c)return null===(d=c.state.body)||void 0===d||d.setState({$data:u}),c;const p=i.jh.interpolate(n,(0,ee.n)({metric:a,extraFilters:`${n.getValueText()}=${(0,m.xo)((0,m.ee)(o))}`})),f=("duration"===a?ne().setUnit("s"):(0,te.z)(a)).setTitle(t(o,n.getValueText())).setMenu(new oe.GD({query:p,labelValue:(0,m.ee)(o)})).setData(u),g=r(o);g&&f.setHeaderActions(g);const v=new i.xK({body:f.build()});return o.name&&(e[o.name]=v),v}}function pe({description:e,tags:t}){const n=function(e){return{infoFlex:(0,u.css)({display:"flex",gap:e.spacing(2),alignItems:"center",padding:`${e.spacing(1)} 0 ${e.spacing(2)} 0`}),tagsFlex:(0,u.css)({display:"flex",gap:e.spacing(1),alignItems:"center"}),tag:(0,u.css)({display:"inline-block",width:e.spacing(2),height:e.spacing(.5),borderRadius:e.spacing(.5)})}}((0,d.useTheme2)());return r().createElement("div",{className:n.infoFlex},r().createElement("div",{className:n.tagsFlex},e),t.length>0&&t.map(e=>r().createElement("div",{className:n.tagsFlex,key:e.label},r().createElement("div",{className:n.tag,style:{backgroundColor:e.color}}),r().createElement("div",null,e.label))))}const fe=({percentilesVariable:e})=>{const{value:t}=e.useState(),n=(0,d.useStyles2)(ge);return(0,a.useEffect)(()=>{(!t||Array.isArray(t)&&0===t.length)&&e.changeValueTo(["0.9"])},[t,e]),r().createElement(d.Stack,null,r().createElement(d.Label,{className:n.label},"Percentiles"),r().createElement(d.MultiCombobox,{width:"auto",minWidth:20,isClearable:!1,options:[{label:"p50",value:"0.5"},{label:"p75",value:"0.75"},{label:"p90",value:"0.9",description:"Default"},{label:"p95",value:"0.95"},{label:"p99",value:"0.99"}],value:t,onChange:t=>{Array.isArray(t)&&e.changeValueTo(t.map(e=>e.value))}}))};function ge(e){return{label:(0,u.css)({marginBottom:e.spacing(0),display:"flex",alignItems:"center"})}}function ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class he extends i.Bs{_onActivate(){const e=(0,m.pl)(this);e.subscribeToState(()=>{this.setBody(e)}),(0,m.YX)(this).subscribeToState(()=>{this.setBody(e)}),this.setBody(e)}onAddToFiltersClick(e){(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.breakdown_add_to_filters_clicked,e)}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){ve(e,t,n[t])})}return e}({},e)),ve(this,"setBody",e=>{this.setState({body:de(this,e,t=>[new Z.Ms({frame:t,labelKey:e.getValueText(),onClick:this.onAddToFiltersClick})])})}),ve(this,"onChange",(e,t)=>{const n=(0,m.pl)(this);n.getValueText()!==e&&(n.changeValueTo(e,void 0,!t),(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.breakdown_group_by_changed,{groupBy:e}))}),this.addActivationHandler(this._onActivate.bind(this))}}function be(e){return{container:(0,u.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column"}),content:(0,u.css)({flexGrow:1,display:"flex",paddingTop:e.spacing(0),height:"calc(100vh - 550px)"}),controls:(0,u.css)({flexGrow:0,display:"flex",alignItems:"center",gap:e.spacing(2)}),controlsRight:(0,u.css)({flexGrow:2,display:"flex",justifyContent:"flex-end",alignItems:"flex-end",gap:e.spacing(2),flex:"1 0 auto"}),scope:(0,u.css)({marginRight:e.spacing(2)}),groupBy:(0,u.css)({width:"100%"}),controlsLeft:(0,u.css)({display:"flex",justifyContent:"flex-left",justifyItems:"left",width:"100%",flexDirection:"row"}),percentiles:(0,u.css)({display:"flex",height:"fit-content",justifyContent:"flex-end"})}}function ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}ve(he,"Component",({model:e})=>{const t=(0,m.tI)(e),{value:n}=(0,m.pl)(e).useState(),s=n,{body:i}=e.useState(),o=(0,d.useStyles2)(be),{attributes:l}=(0,m.YX)(e).useState(),{favoriteAttributes:c}=x({scene:e}),u=(0,m.zY)(e),{value:p}=u.getMetricVariable().useState(),f=(e=>{switch(e){case"rate":return"Attributes are ordered by their rate of requests per second.";case"errors":return"Attributes are ordered by their rate of errors per second.";case"duration":return"Attributes are ordered by their average duration.";default:throw new Error("Metric not supported")}})(p);return(0,a.useEffect)(()=>{s&&"All"!==s&&""!==s||e.onChange(c[0])},[s]),r().createElement("div",{className:o.container},r().createElement("div",{className:o.controls},r().createElement(pe,{description:f,tags:"duration"===p?[]:[{label:"Rate",color:"green"},{label:"Error",color:"red"}]}),i instanceof X&&r().createElement("div",{className:o.controlsRight},"duration"===p&&r().createElement("div",{className:o.percentiles},r().createElement(fe,{percentilesVariable:t})),r().createElement(i.Selector,{model:i}))),r().createElement("div",{className:o.content},r().createElement(d.Stack,{direction:"row",gap:2,width:"100%"},r().createElement(E,{options:(0,m._g)(null!=l?l:[]),selected:s,onAttributeChange:t=>e.onChange(null!=t?t:""),model:e,showFavorites:!0}),i&&r().createElement(i.Component,{model:i}))))});class we extends i.Bs{_onActivate(){this.updateBody()}updateBody(){this.setState({body:new he({})})}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){ye(e,t,n[t])})}return e}({},e)),ye(this,"_variableDependency",new i.Sh(this,{variableNames:[l.PU]})),this.addActivationHandler(this._onActivate.bind(this))}}ye(we,"Component",({model:e})=>{const{body:t}=e.useState();return t&&r().createElement(t.Component,{model:t})});var Se=n(1625);var xe=n(7975);function Ee(e){if(!e.length)return[];e.sort((e,t)=>e-t);const t=(e[e.length-1]-e[0])/1e3,n=1e3*(0,xe.KS)(t,50),a=new Map;for(const t of e){const e=Math.floor(t/n)*n;a.set(e,(a.get(e)||0)+1)}return Array.from(a.entries()).map(([e,t])=>({time:e,count:t})).sort((e,t)=>e.time-t.time)}function Oe(e){return e?e.replace(/\s+/g," ").trim():""}function je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){je(e,t,n[t])})}return e}function Ce(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class Pe extends i.Bs{updatePanel(e){var t,n,a,r;if((null==e?void 0:e.state)===s.LoadingState.Loading||(null==e?void 0:e.state)===s.LoadingState.NotStarted||!(null==e?void 0:e.state)||(null==e?void 0:e.state)===s.LoadingState.Streaming&&!(null===(n=e.series)||void 0===n||null===(t=n[0])||void 0===t?void 0:t.length))this.setState({dataState:"loading",panel:new i.G1({direction:"row",children:[new g.G({component:Ne})]})});else if((null==e?void 0:e.state)!==s.LoadingState.Done&&(null==e?void 0:e.state)!==s.LoadingState.Streaming||0!==e.series.length&&(null===(r=e.series)||void 0===r||null===(a=r[0])||void 0===a?void 0:a.length)){if(((null==e?void 0:e.state)===s.LoadingState.Done||(null==e?void 0:e.state)===s.LoadingState.Streaming)&&e.series.length>0){const t=this.calculateExceptionsCount(e);this.setState({dataState:"done",exceptionsCount:t,panel:new i.G1({children:[new i.vA({body:i.d0.table().setOption("cellHeight",Se.qM.Lg).setHoverHeader(!0).setOverrides(e=>e.matchFieldsWithName("Service").overrideCustomFieldConfig("width",200).matchFieldsWithName("Occurrences").overrideCustomFieldConfig("width",120).matchFieldsWithName("Time Series").overrideCustomFieldConfig("width",220).matchFieldsWithName("Last Seen").overrideCustomFieldConfig("width",120)).build()})]})})}}else this.setState({dataState:"empty",exceptionsCount:0,panel:new i.G1({children:[new i.vA({body:new v.v({message:l.PL,remedyMessage:l.a5,padding:"32px"})})]})})}createTransformation(){return()=>e=>e.pipe((0,b.map)(e=>e.map(e=>{const t=e.fields.find(e=>"exception.message"===e.name),n=e.fields.find(e=>"exception.type"===e.name),a=e.fields.find(e=>"service.name"===e.name),r=e.fields.find(e=>"time"===e.name);let i=[],o=[],l=[],c=[],u=[],m=[];if(!(!t||!t.values.length)){const e=function(e,t,n,a){const r=new Map,s=new Map,i=new Map,o=new Map,l=new Map,c=new Map;for(let l=0;l<e.values.length;l++){const u=e.values[l],d=null==t?void 0:t.values[l],m=null==n?void 0:n.values[l],p=null==a?void 0:a.values[l];if(u){const e=Oe(u);if(r.set(e,(r.get(e)||0)+1),!s.has(e)&&d&&s.set(e,d),!o.has(e)&&p&&o.set(e,p),m){const t="string"==typeof m?parseFloat(m):m;c.has(e)||c.set(e,[]),c.get(e).push(t),t>(i.get(e)||0)&&i.set(e,t)}}}for(const[e,t]of c.entries()){const n=Ee(t);l.set(e,n)}const u=Array.from(r.entries()).sort((e,t)=>t[1]-e[1]);return{messages:u.map(([e])=>e),types:u.map(([e])=>s.get(e)||""),occurrences:u.map(([,e])=>e),services:u.map(([e])=>o.get(e)||""),timeSeries:u.map(([e])=>l.get(e)||[]),lastSeenTimes:u.map(([e])=>{const t=i.get(e);if(!t)return"";const n=Date.now()-t;return n<6e4?"Just now":n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`})}}(t,n,r,a);i=e.messages,o=e.types,l=e.occurrences,c=e.lastSeenTimes,u=e.services,m=e.timeSeries}const p={type:d.TableCellDisplayMode.Custom,cellComponent:e=>{const t=e.value;return this.renderSparklineCell(t)}};return Ce(ke({},e),{length:i.length,fields:[{name:"Message",type:s.FieldType.string,values:i,config:{links:i.length>0?[this.createDataLink()]:[]}},{name:"Type",type:s.FieldType.string,values:o,config:{}},{name:"Trace Service",type:s.FieldType.string,values:u,config:{}},{name:"Occurrences",type:s.FieldType.number,values:l,config:{}},{name:"Frequency",type:s.FieldType.other,values:m,config:{custom:{cellOptions:p}}},{name:"Last Seen",type:s.FieldType.string,values:c,config:{}}]})})))}createDataLink(){return{title:"View traces for this exception",url:"",onClick:e=>{var t;const n=null===(t=e.origin)||void 0===t?void 0:t.rowIndex;if(void 0!==n){var a,r,s;const t=null===(s=e.origin)||void 0===s||null===(r=s.field)||void 0===r||null===(a=r.values)||void 0===a?void 0:a[n];t&&((0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.exception_message_clicked),this.navigateToTracesWithFilter(t))}}}}escapeFilterValue(e){return e.replace(/[\n\r\t]/g," ").replace(/\s+/g," ").replace(/\\/g,"\\\\").replace(/"/g,'"').trim()}calculateExceptionsCount(e){var t;if(!(null==e||null===(t=e.series)||void 0===t?void 0:t[0]))return 0;const n=e.series[0].fields.find(e=>"Occurrences"===e.name);return(null==n?void 0:n.values)?n.values.reduce((e,t)=>e+(t||0),0):0}getExceptionsCount(){return this.state.exceptionsCount||0}constructor(e){super(ke({$data:new i.Es({$data:new i.dt({datasource:l.Vl,queries:[{refId:"A",query:`{${l.ui} && status = error} | select(resource.service.name, event.exception.message,event.exception.stacktrace,event.exception.type) with(most_recent=true)`,queryType:"traceql",tableType:"spans",limit:400,spss:10,filters:[]}]}),transformations:[]}),dataState:"empty"},e)),je(this,"renderSparklineCell",e=>{const t=(0,d.useStyles2)(_e),n=()=>{const n=(0,d.useTheme2)();if(!e||!e.length)return r().createElement("div",{className:t.sparklineMessage},"No data");const a=e.map(e=>e.count),i=e.map(e=>e.time),o=a.filter(e=>isFinite(e)&&!isNaN(e)),l=i.filter(e=>isFinite(e)&&!isNaN(e));if(o.length<2||l.length<2)return r().createElement("div",{className:t.sparklineMessage},"Not enough data");const c=Math.min(...o),u=Math.max(...o),m=Math.min(...l),p=Math.max(...l),f=u-c,g=p-m,v=0===f?1:f,h=0===g?1:g,b={y:{name:"count",type:s.FieldType.number,values:o,config:{},state:{range:{min:c,max:u,delta:v}}},x:{name:"time",type:s.FieldType.time,values:l,config:{},state:{range:{min:m,max:p,delta:h}}}};return r().createElement("div",{className:t.sparklineContainer},r().createElement(d.Sparkline,{width:180,height:20,sparkline:b,theme:n,config:{custom:{drawStyle:Se.GR.Line,fillOpacity:5,fillColor:n.colors.background.secondary,lineWidth:1,showPoints:Se.yL.Never}}}))};return r().createElement(n,null)}),je(this,"navigateToTracesWithFilter",e=>{const t=(0,m.gG)(this);if(!t)return;const n=(0,m.YX)(this);null==n||n.setActionView("traceList");const a=t.state.filters||[],r=this.escapeFilterValue(e),s=a.findIndex(e=>"event.exception.message"===e.key),i={key:"event.exception.message",operator:"=",value:r},o=s>=0?a.map((e,t)=>t===s?i:e):[...a,i];t.setState({filters:o})});this.state.$data.setState({transformations:[...l.s9,this.createTransformation()]}),this.addActivationHandler(()=>{const e=this.state.$data;this._subs.add(e.subscribeToState((e,t)=>{e.data!==t.data&&this.updatePanel(e.data)}))})}}je(Pe,"Component",({model:e})=>{const t=(0,d.useStyles2)(_e),n=(0,d.useTheme2)(),{panel:a,dataState:s}=e.useState();return r().createElement("div",{className:t.container},r().createElement("div",{className:t.description},"View exception details from errored traces for the current set of filters."),"loading"===s&&r().createElement("div",{className:t.loadingContainer},r().createElement(h.A,{count:10,height:40,baseColor:n.colors.background.secondary,highlightColor:n.colors.background.primary})),a&&r().createElement(a.Component,{model:a}))});const _e=e=>({container:(0,u.css)({display:"flex",flexDirection:"column",gap:e.spacing(2),height:"100%"}),description:(0,u.css)({fontSize:e.typography.h6.fontSize,padding:`${e.spacing(1)} 0`}),loadingContainer:(0,u.css)({padding:e.spacing(2)}),sparklineContainer:(0,u.css)({width:"200px",display:"flex",alignItems:"center",justifyContent:"center"}),sparklineMessage:(0,u.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,padding:e.spacing(1)})}),Ne=()=>{const e=(0,d.useStyles2)(De),t=(0,d.useTheme2)();return r().createElement("div",{className:e.container},r().createElement(h.A,{count:10,height:40,baseColor:t.colors.background.secondary,highlightColor:t.colors.background.primary}))};function De(e){return{container:(0,u.css)({padding:e.spacing(2)})}}var Te=n(9938),Ie=n(2468);function Ae(e){var t,n,a,r;let s="";if(!e)return"{}";e.query&&(s+=e.query);const i=[];(null===(t=e.duration)||void 0===t?void 0:t.from.length)&&i.push(`duration >= ${e.duration.from}`),(null===(n=e.duration)||void 0===n?void 0:n.to.length)&&i.push(`duration <= ${e.duration.to}`),i.length&&(s.length&&(s+=" && "),s+=i.join(" && "));const o=null===(a=e.timeRange)||void 0===a?void 0:a.from,l=null===(r=e.timeRange)||void 0===r?void 0:r.to;return`{${s}}, 10${o&&l?`, ${1e9*o}, ${1e9*l}`:""}`}function $e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){$e(e,t,n[t])})}return e}function Ve(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function Fe(e,t,n,a){var r;const o=i.jh.getTimeRange(e),c=i.jh.getData(e),u=t.getValueText(),d=null===(r=c.state.data)||void 0===r?void 0:r.series.find(e=>e.name===u),m=[],p=null==d?void 0:d.fields.find(e=>"Value"===e.name),f=null==d?void 0:d.fields.find(e=>"Baseline"===e.name),g=null==d?void 0:d.fields.find(e=>"Selection"===e.name);if(p&&f&&g)for(let e=0;e<p.values.length;e++)p.values[e]&&(f.values[e]||g.values[e])&&m.push({name:p.values[e].replace(/"/g,""),length:1,fields:[{name:"Value",type:s.FieldType.string,values:["Baseline","Comparison"],config:{}},Ve(Le({},f),{values:[f.values[e]],labels:{[u]:p.values[e]},config:{displayName:"Baseline"}}),Ve(Le({},g),{values:[g.values[e]]})]});return new J.hE({$data:new i.Es({$data:new i.Zv({data:{timeRange:o.state.value,state:s.LoadingState.Done,series:m}}),transformations:[()=>e=>e.pipe((0,b.map)(e=>(e.forEach(e=>(0,s.reduceField)({field:e.fields[2],reducers:[s.ReducerID.max]})),e.sort((e,t)=>{var n,a,r,s;return((null===(a=t.fields[2].state)||void 0===a||null===(n=a.calcs)||void 0===n?void 0:n.max)||0)-((null===(s=e.fields[2].state)||void 0===s||null===(r=s.calcs)||void 0===r?void 0:r.max)||0)}))))]}),body:new i.gF({templateColumns:l.MV,autoRows:"200px",isLazy:!0,children:[]}),getLayoutChild:Be({},ze,n,a)})}const ze=e=>e.name||"No name available";function Be(e,t,n,a){return(r,s)=>{const o=s.name?e[s.name]:void 0,l=new i.Zv({data:Ve(Le({},r),{series:[Le({},s)]})});var c;if(o)return null===(c=o.state.body)||void 0===c||c.setState({$data:l}),o;const u=(0,Te.x)(a).setTitle(t(s)).setData(l),d=n(s);d&&u.setHeaderActions(d);const m=new i.xK({body:u.build()});return s.name&&(e[s.name]=m),m}}class Me extends i.Bs{}var Re,He,qe;qe=({model:e})=>e.state.attribute?r().createElement(d.Button,{variant:"secondary",size:"sm",fill:"solid",onClick:()=>e.state.onClick()},"Inspect"):null,(He="Component")in(Re=Me)?Object.defineProperty(Re,He,{value:qe,enumerable:!0,configurable:!0,writable:!0}):Re[He]=qe;var Ge=n(4917);function We(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class Ue extends i.Bs{_onActivate(){const e=(0,m.pl)(this);e.changeValueTo(l.y2),this.updateData(),e.subscribeToState((t,n)=>{t.value!==n.value&&this.setBody(e)}),(0,m.h7)(this).subscribeToState(()=>{this.updateData(),this.setBody(e)}),(0,m.YX)(this).subscribeToState((t,n)=>{(0,re.isEqual)(t.selection,n.selection)||(this.updateData(),this.setBody(e))}),i.jh.getTimeRange(this).subscribeToState(()=>{this.updateData()}),this.setBody(e)}updateData(){const e=(0,m.YX)(this),t=i.jh.getTimeRange(this),n=t.state.value.from.unix(),a=t.state.value.to.unix(),r=(0,m.h7)(this).state.value,s=this.getFilteredAttributes(r);this.setState({$data:new i.Es({$data:new i.dt({datasource:l.Vl,queries:[Ye(n,a,Ae(e.state.selection))]}),transformations:[()=>e=>e.pipe((0,b.map)(e=>{const t=Ke(e);return Object.entries(t).filter(([e,t])=>!s.includes(e)).map(([e,t])=>Xe(e,t)).sort((e,t)=>{const n=(0,Ge.p)(e),a=(0,Ge.p)(t);return Math.abs(a.maxDifference)-Math.abs(n.maxDifference)})}))]})})}onReferencedVariableValueChanged(){const e=(0,m.pl)(this);e.changeValueTo(l.y2),this.setBody(e)}onAddToFiltersClick(e){(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.comparison_add_to_filters_clicked,e)}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){We(e,t,n[t])})}return e}({},e)),We(this,"_variableDependency",new i.Sh(this,{variableNames:[l.Ao,l.CE],onReferencedVariableValueChanged:this.onReferencedVariableValueChanged.bind(this)})),We(this,"getFilteredAttributes",e=>"nestedSetParent<0"===e?["rootName","rootServiceName"]:[]),We(this,"setBody",e=>{const t=(0,m.zY)(this);this.setState({body:e.hasAllValue()||e.getValue()===l.y2?(0,Te.nF)(e=>new Me({attribute:e.name,onClick:()=>this.onChange(e.name||"")}),t.getMetricFunction()):Fe(this,e,t=>[new Z.Ms({frame:t,labelKey:e.getValueText(),onClick:this.onAddToFiltersClick})],t.getMetricFunction())})}),We(this,"onChange",(e,t)=>{(0,m.pl)(this).changeValueTo(e,void 0,!t),(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.select_attribute_in_comparison_clicked,{value:e})}),this.addActivationHandler(this._onActivate.bind(this))}}function Ye(e,t,n){const a=`${(0,Ie.duration)(t-e,"s").asSeconds()}s`;return{refId:"A",query:`{${l.ui}} | compare(${n})`,step:a,queryType:"traceql",tableType:"spans",limit:100,spss:10,filters:[]}}We(Ue,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,m.pl)(e),a=(0,m.zY)(e),{attributes:s}=(0,m.YX)(e).useState(),i=(0,d.useStyles2)(Ze);return r().createElement("div",{className:i.container},r().createElement("div",{className:i.controls},r().createElement(pe,{description:"Attributes are ordered by the difference between the baseline and selection values for each value.",tags:[{label:"Baseline",color:"duration"===a.getMetricFunction()?Te.bT:(0,d.getTheme)().visualization.getColorByName("semi-dark-green")},{label:"Selection",color:"duration"===a.getMetricFunction()?Te._E:(0,d.getTheme)().visualization.getColorByName("semi-dark-red")}]}),t instanceof X&&r().createElement("div",{className:i.controlsRight},r().createElement(t.Selector,{model:t}))),r().createElement("div",{className:i.content},r().createElement(d.Stack,{direction:"row",gap:2,width:"100%"},r().createElement(E,{options:(0,m._g)(null!=s?s:[]),selected:n.getValueText(),onAttributeChange:t=>e.onChange(null!=t?t:""),model:e,showFavorites:!0,allowAllOption:!0}),t&&r().createElement(t.Component,{model:t}))))});const Ke=e=>e.reduce((e,t)=>{const n=t.fields.find(e=>"number"===e.type),a=Object.keys((null==n?void 0:n.labels)||{}).find(e=>!e.startsWith("__"));return a&&(e[a]=[...e[a]||[],t]),e},{}),Xe=(e,t)=>{const n={name:e,refId:e,fields:[],length:0},a={name:"Value",type:s.FieldType.string,values:[],config:{},labels:{[e]:e}},r={name:"Baseline",type:s.FieldType.number,values:[],config:{}},i={name:"Selection",type:s.FieldType.number,values:[],config:{}},o=t.reduce((t,n)=>{var a;const r=n.fields.find(e=>"number"===e.type),s=null==r||null===(a=r.labels)||void 0===a?void 0:a[e];return s&&(t[s]=[...t[s]||[],r]),t},{}),l=Qe(t,"baseline",o),c=Qe(t,"selection",o);return n.length=Object.keys(o).length,Object.entries(o).forEach(([e,t])=>{var n,s;a.values.push(e),r.values.push((null===(n=t.find(e=>{var t;return'"baseline"'===(null===(t=e.labels)||void 0===t?void 0:t.__meta_type)}))||void 0===n?void 0:n.values[0])/l),i.values.push((null===(s=t.find(e=>{var t;return'"selection"'===(null===(t=e.labels)||void 0===t?void 0:t.__meta_type)}))||void 0===s?void 0:s.values[0])/c)}),n.fields=[a,r,i],n};function Qe(e,t,n){const a=Object.values(n).reduce((e,n)=>{const a=n.find(e=>{var n;return(null===(n=e.labels)||void 0===n?void 0:n.__meta_type)===`"${t}"`});return e+((null==a?void 0:a.values[0])||0)},0);let r=e.reduce((e,n)=>{var a;const r=n.fields.find(e=>"number"===e.type);return(null==r||null===(a=r.labels)||void 0===a?void 0:a.__meta_type)===`"${t}_total"`?r.values[0]:e},1);return r<a||1===r||0===r?0===a?1:a:r}function Ze(e){return{container:(0,u.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column"}),content:(0,u.css)({flexGrow:1,display:"flex",paddingTop:e.spacing(0),height:"calc(100vh - 550px)"}),controls:(0,u.css)({flexGrow:0,display:"flex",alignItems:"top",gap:e.spacing(2)}),controlsRight:(0,u.css)({flexGrow:0,display:"flex",justifyContent:"flex-end"}),controlsLeft:(0,u.css)({display:"flex",justifyContent:"flex-left",justifyItems:"left",width:"100%",flexDirection:"column"})}}function Je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class et extends i.Bs{_onActivate(){const e=(0,m.H_)(this).getValue(),t=(0,m.YX)(this);if(!t.state.selection){const n=(0,Ge.F)(e);n&&t.setState({selection:n})}this.updateBody()}updateBody(){this.setState({body:new Ue({})})}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){Je(e,t,n[t])})}return e}({},e)),Je(this,"_variableDependency",new i.Sh(this,{variableNames:[l.PU]})),this.addActivationHandler(this._onActivate.bind(this))}}Je(et,"Component",({model:e})=>{const{body:t}=e.useState();return t&&r().createElement(t.Component,{model:t})});var tt=n(3518);const nt=[{displayName:function(e){return"Breakdown"},value:"breakdown",getScene:function(){return new i.vA({body:new we({})})}},{displayName:rt,value:"structure",getScene:function(e){return new i.vA({body:new G({metric:e})})}},{displayName:function(e){return"Comparison"},value:"comparison",getScene:function(){return new i.vA({body:new et({})})}},{displayName:function(e){return"Exceptions"},value:"exceptions",getScene:function(){return new i.vA({body:new Pe({})})}},{displayName:function(e){return"errors"===e?"Errored traces":"duration"===e?"Slow traces":"Traces"},value:"traceList",getScene:function(){return new i.vA({body:new I({})})}}];class at extends i.Bs{}function rt(e){switch(e){case"rate":return"Service structure";case"errors":return"Root cause errors";case"duration":return"Root cause latency"}}function st(e){return{actions:(0,u.css)({[e.breakpoints.up(e.breakpoints.values.md)]:{position:"absolute",right:0,top:5,zIndex:2}})}}!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(at,"Component",({model:e})=>{var t,n,o,l;const c=(0,d.useStyles2)(st),[u,p]=(0,a.useState)(0),g=(0,m.YX)(e),v=(0,m.zY)(e),{actionView:h}=g.useState(),{value:b}=v.getMetricVariable().useState(),{allowedActionViews:y}=v.useState(),w=i.jh.getData(e).useState(),S=null===(o=w.data)||void 0===o||null===(n=o.series)||void 0===n||null===(t=n[0])||void 0===t?void 0:t.length,x=nt.filter(e=>("exceptions"!==e.value||"errors"===b)&&(!(null==y?void 0:y.length)||y.includes(e.value))),E=(0,m.gG)(e),O=(0,m.h7)(e),j=i.jh.getTimeRange(e),{filters:k}=E.useState(),{value:C}=O.useState(),{value:P}=j.useState();return(0,a.useEffect)(()=>{if("errors"!==b)return void p(0);const t=(0,m.dB)(e);if(!t)return void p(0);p(t.getExceptionsCount());const n=t.subscribeToState((e,t)=>{e.exceptionsCount!==t.exceptionsCount&&p(e.exceptionsCount||0)});return()=>{n.unsubscribe()}},[b,e,h,k,C,P]),(0,a.useEffect)(()=>{var e;if(!g.state.hasSetView)return v.state.embedded&&(null===(e=w.data)||void 0===e?void 0:e.state)===s.LoadingState.Done&&void 0!==S&&S>20?(g.setState({hasSetView:!0}),void g.setActionView("traceList")):void 0},[null===(l=w.data)||void 0===l?void 0:l.state,v.state.embedded,g,S]),(0,tt.A)(()=>{1===x.length&&g.setActionView(x[0].value)}),1===x.length?null:r().createElement(d.Box,null,r().createElement("div",{className:c.actions},r().createElement(d.Stack,{gap:1},r().createElement(f,{exploration:v}))),r().createElement(d.TabsBar,null,x.map((e,t)=>r().createElement(d.Tab,{key:t,label:e.displayName(b),active:h===e.value,onChangeTab:()=>g.setActionView(e.value),counter:"traceList"===e.value?S:"exceptions"===e.value?u:void 0}))))});var it=n(892),ot=n(8855),lt=n(2860);function ct(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class ut extends i.Bs{_onActivate(){this.setState({$data:new i.Es({$data:new ae.$({maxDataPoints:"duration"===this.state.metric?24:64,datasource:l.Vl,queries:["duration"===this.state.metric?(0,it.z)():(0,ee.l)({metric:this.state.metric,sample:!0})]}),transformations:"duration"===this.state.metric?[...(0,ie.h)()]:[...(0,ie.G)((0,m.w$)(this))]}),panel:this.getVizPanel(this.state.metric)})}getVizPanel(e){return new i.G1({direction:"row",children:[new i.vA({body:"duration"===e?this.getDurationVizPanel():this.getRateOrErrorPanel(e)})]})}getRateOrErrorPanel(e){const t=(0,te.z)(e).setHoverHeader(!0).setDisplayMode("transparent");return"rate"===e?t.setCustomFieldConfig("axisLabel","span/s"):"errors"===e&&t.setTitle("Errors rate").setCustomFieldConfig("axisLabel","error/s").setColor({fixedColor:"semi-dark-red",mode:"fixed"}),t.build()}getDurationVizPanel(){return(0,ot.dX)().setTitle("Histogram by duration").setHoverHeader(!0).setDisplayMode("transparent").build()}constructor(e){super(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){ct(e,t,n[t])})}return e}({isStreaming:!1},e)),this.addActivationHandler(()=>{this._onActivate();const e=i.jh.getData(this);this._subs.add(e.subscribeToState(e=>{var t,n,a;this.setState({isStreaming:(null===(t=e.data)||void 0===t?void 0:t.state)===s.LoadingState.Streaming}),(null===(n=e.data)||void 0===n?void 0:n.state)===s.LoadingState.Done?0===e.data.series.length||0===e.data.series[0].length||(0,m.W6)(e)?this.setState({panel:new i.G1({children:[new i.vA({body:new v.v({imgWidth:110})})]})}):this.setState({panel:this.getVizPanel(this.state.metric)}):(null===(a=e.data)||void 0===a?void 0:a.state)===s.LoadingState.Loading&&this.setState({panel:new i.G1({direction:"column",maxHeight:wt,height:wt,children:[new g.G({component:()=>(0,J.NO)(1)})]})})}))})}}function dt(e){return{container:(0,u.css)({flex:1,width:"100%",display:"flex",flexDirection:"column",border:`1px solid ${e.colors.border.weak}`,borderRadius:"2px",background:e.colors.background.primary,paddingTop:"8px","section, section:hover":{borderColor:"transparent"},"& .show-on-hover":{display:"none"}}),headerWrapper:(0,u.css)({display:"flex",alignItems:"center",position:"absolute",top:"4px",left:"8px",zIndex:2}),clickable:(0,u.css)({cursor:"pointer",maxHeight:wt,'[class*="loading-state-scene"]':{height:wt,overflow:"hidden"},":hover":{background:e.colors.background.secondary,input:{backgroundColor:"#ffffff",border:"5px solid #3D71D9",cursor:"pointer"}}}),radioButton:(0,u.css)({display:"block"}),indicatorWrapper:(0,u.css)({position:"absolute",top:"4px",right:"8px",zIndex:2})}}function mt(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){pt(e,t,n[t])})}return e}function gt(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}ct(ut,"Component",({model:e})=>{const{panel:t,isStreaming:n}=e.useState(),a=(0,d.useStyles2)(dt),s=(0,m.zY)(e),i=()=>{(0,y.EE)(y.NO.common,y.ir.common.metric_changed,{metric:e.state.metric,location:"panel"}),s.onChangeMetricFunction(e.state.metric)};if(t)return r().createElement("div",{className:(0,u.css)([a.container,a.clickable]),onClick:i},r().createElement("div",{className:a.headerWrapper},r().createElement(d.RadioButtonList,{className:a.radioButton,name:`metric-${e.state.metric}`,options:[{title:"",value:"selected"}],onChange:()=>i(),value:"not-selected"})),n&&r().createElement("div",{className:a.indicatorWrapper},r().createElement(lt.M,{isStreaming:!0,iconSize:10})),r().createElement(t.Component,{model:t}))});class vt extends i.Bs{_onActivate(){const e=new URLSearchParams(window.location.search).get("actionView");e&&nt.find(t=>t.value===e)&&this.setState({actionView:e}),this.updateBody();const t=(0,m.zY)(this).getMetricVariable();this._subs.add(t.subscribeToState((e,t)=>{if(e.value!==t.value){const t=(0,Ge.F)(e.value);t&&this.setState({selection:t}),this.updateQueryRunner(e.value),this.updateExceptionsScene(e.value),this.updateBody()}})),this.updateExceptionsScene(t.getValue()),this._subs.add(this.subscribeToState((e,n)=>{var a,r;const s=i.jh.getTimeRange(this),o=null===(r=e.selection)||void 0===r||null===(a=r.timeRange)||void 0===a?void 0:a.from;if(o&&o<s.state.value.from.unix()&&this.setState({selection:void 0}),!(0,re.isEqual)(e.selection,n.selection)){(0,m.pl)(this).changeValueTo(l.y2),this.updateQueryRunner(t.getValue())}})),this._subs.add((0,m._b)(this).subscribeToState(()=>{this.updateAttributes()})),this._subs.add((0,m.gi)(this).subscribeToState(()=>{this.updateQueryRunner(t.getValue())})),this.updateQueryRunner(t.getValue()),this.updateAttributes()}updateBody(){const e=(0,m.zY)(this).getMetricVariable().getValue(),t=nt.find(e=>e.value===this.state.actionView);this.setState({body:Et(e,t?[null==t?void 0:t.getScene(e)]:void 0)}),void 0===this.state.actionView&&this.setActionView("breakdown")}updateExceptionsScene(e){if("errors"===e){if(!this.state.exceptionsScene){const e=new Pe({});this.setState({exceptionsScene:e}),setTimeout(()=>{e.activate()},0)}}else this.state.exceptionsScene&&this.setState({exceptionsScene:void 0})}updateAttributes(){return(e=function*(){var e;const t=yield(0,c.getDataSourceSrv)().get(l.gR,{__sceneObject:{value:this}});if(!t)return;const n={timeRange:i.jh.getTimeRange(this).state.value,filters:[]};null===(e=t.getTagKeys)||void 0===e||e.call(t,n).then(e=>{let t=[];t="data"in e?e.data:e;const n=t.map(e=>e.text);n!==this.state.attributes&&this.setState({attributes:n})})},function(){var t=this,n=arguments;return new Promise(function(a,r){var s=e.apply(t,n);function i(e){mt(s,a,r,i,o,"next",e)}function o(e){mt(s,a,r,i,o,"throw",e)}i(void 0)})}).call(this);var e}getUrlState(){return{actionView:this.state.actionView,selection:this.state.selection?JSON.stringify(this.state.selection):void 0}}updateFromUrl(e){if("string"==typeof e.actionView){if(this.state.actionView!==e.actionView){const t=nt.find(t=>t.value===e.actionView);t&&this.setActionView(t.value)}}else null===e.actionView&&this.setActionView("breakdown");if("string"==typeof e.selection){const t=JSON.parse(e.selection);(0,re.isEqual)(t,this.state.selection)||this.setState({selection:t})}}onUserUpdateSelection(e){this._urlSync.performBrowserHistoryAction(()=>{this.setState({selection:e})})}setActionView(e){const{body:t}=this.state,n=nt.find(t=>t.value===e),a=(0,m.zY)(this).getMetricVariable().getValue();if(t.state.children.length>1&&n){let r;r="exceptions"===e&&this.state.exceptionsScene?new i.vA({body:this.state.exceptionsScene}):n.getScene(a),t.setState({children:[...t.state.children.slice(0,2),r]}),(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.action_view_changed,{oldAction:this.state.actionView,newAction:e}),this.setState({actionView:n.value})}}updateQueryRunner(e){var t;const n=this.state.selection;var a;const r=null!==(a=null===(t=(0,m.gi)(this).getValue())||void 0===t?void 0:t.toString())&&void 0!==a?a:"";this.setState({$data:new i.Es({$data:new i.dt({datasource:l.Vl,queries:[St(e,r,n)],$timeRange:xt(n)}),transformations:[...l.s9,...Ot]})})}constructor(e){var t;super(ft({body:null!==(t=e.body)&&void 0!==t?t:new i.G1({children:[]})},e)),pt(this,"_urlSync",new i.So(this,{keys:["actionView","selection"]})),this.addActivationHandler(this._onActivate.bind(this))}}pt(vt,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,d.useStyles2)(bt);return r().createElement(r().Fragment,null,r().createElement("div",{className:n.title},r().createElement(d.Tooltip,{content:r().createElement(ht,null),placement:"right-start",interactive:!0},r().createElement("span",{className:n.hand},"Select metric type ",r().createElement(d.Icon,{name:"info-circle"})))),r().createElement(t.Component,{model:t}))});const ht=()=>{const e=(0,d.useStyles2)(bt);return r().createElement(d.Stack,{direction:"column",gap:1},r().createElement("div",{className:e.tooltip.title},"RED metrics for traces"),r().createElement("span",{className:e.tooltip.subtitle},"Explore rate, errors, and duration (RED) metrics generated from traces by Tempo."),r().createElement("div",{className:e.tooltip.text},r().createElement("div",null,r().createElement("span",{className:e.tooltip.emphasize},"Rate")," - Spans per second that match your filter, useful to find unusual spikes in activity"),r().createElement("div",null,r().createElement("span",{className:e.tooltip.emphasize},"Errors")," -Spans that are failing, overall issues in tracing ecosystem"),r().createElement("div",null,r().createElement("span",{className:e.tooltip.emphasize},"Duration")," - Amount of time those spans take, represented as a heat map (responds time, latency)")),r().createElement("div",{className:e.tooltip.button},r().createElement(d.LinkButton,{icon:"external-link-alt",fill:"solid",size:"sm",target:"_blank",href:"https://grafana.com/docs/grafana-cloud/visualizations/simplified-exploration/traces/concepts/#rate-error-and-duration-metrics",onClick:()=>(0,y.EE)(y.NO.common,y.ir.common.metric_docs_link_clicked)},"Read documentation")))};function bt(e){return{title:(0,u.css)({label:"title",display:"flex",gap:e.spacing.x0_5,fontSize:e.typography.bodySmall.fontSize,paddingBottom:e.spacing.x0_5,alignItems:"center"}),hand:(0,u.css)({label:"hand",cursor:"pointer"}),tooltip:{label:"tooltip",title:(0,u.css)({fontSize:"14px",fontWeight:500}),subtitle:(0,u.css)({marginBottom:e.spacing.x1}),text:(0,u.css)({label:"text",color:e.colors.text.secondary,div:{marginBottom:e.spacing.x0_5}}),emphasize:(0,u.css)({label:"emphasize",color:e.colors.text.primary}),button:(0,u.css)({marginBottom:e.spacing.x0_5})}}}const yt=240,wt=(yt-8)/2;function St(e,t,n){const a=""!==t?` | select(${t})`:"";let r="";switch(e){case"errors":r=" && status = error";break;case"duration":if(n){var s,i;const e=[];(null===(s=n.duration)||void 0===s?void 0:s.from.length)&&e.push(`duration >= ${n.duration.from}`),(null===(i=n.duration)||void 0===i?void 0:i.to.length)&&e.push(`duration <= ${n.duration.to}`),e.length&&(r+="&& "+e.join(" && "))}r.length||(r=`&& duration > ${l.xT}`)}return{refId:"A",query:`{${l.ui}${r}}${a}`,queryType:"traceql",tableType:"spans",limit:200,spss:10,filters:[]}}function xt(e){var t,n;const a=1e3*((null==e||null===(t=e.timeRange)||void 0===t?void 0:t.from)||0),r=1e3*((null==e||null===(n=e.timeRange)||void 0===n?void 0:n.to)||0);return a&&r?new i.JZ({from:a.toFixed(0),to:r.toFixed(0),value:{from:(0,s.dateTime)(a),to:(0,s.dateTime)(r),raw:{from:(0,s.dateTime)(a),to:(0,s.dateTime)(r)}}}):void 0}function Et(e,t){const n=new ut("rate"===e?{metric:"errors"}:{metric:"rate"}),a=new ut("duration"===e?{metric:"errors"}:{metric:"duration"});return new i.G1({direction:"column",$behaviors:[new i.Gg.K2({key:"metricCrosshairSync",sync:s.DashboardCursorSync.Crosshair})],children:[new i.G1({direction:"row",ySizing:"content",children:[new i.vA({minHeight:yt,maxHeight:yt,width:"60%",body:new o.Mu({})}),new i.G1({direction:"column",minHeight:yt,maxHeight:yt,children:[new i.vA({minHeight:wt,maxHeight:wt,height:wt,body:n}),new i.vA({minHeight:wt,maxHeight:wt,height:wt,ySizing:"fill",body:a})]})]}),new i.vA({ySizing:"content",body:new at({})}),...t||[]]})}const Ot=[()=>e=>e.pipe((0,b.map)(e=>e.map(e=>gt(ft({},e),{fields:e.fields.filter(e=>!e.name.startsWith("nestedSet"))})))),{id:"sortBy",options:{fields:{},sort:[{field:"Duration",desc:!0}]}},{id:"organize",options:{indexByName:{"Start time":0,status:1,"Trace Service":2,"Trace Name":3,Duration:4,"Span ID":5,"span.http.method":6,"span.http.request.method":7,"span.http.path":8,"span.http.route":9,"span.http.status_code":10,"span.http.response.status_code":11}}}]},3733:(e,t,n)=>{"use strict";n.d(t,{p:()=>v});var a=n(5959),r=n.n(a),s=n(2007),i=n(6089),o=n(1792);const l=n.p+"944c737f589d02ecf603.svg",c=n.p+"e79edcfbe2068fae2364.svg";var u=n(3241);const d=(e=50)=>{const[t,n]=(0,a.useState)({x:null,y:null});return(0,a.useEffect)(()=>{const t=(0,u.throttle)(e=>{n({x:e.clientX,y:e.clientY})},e);return window.addEventListener("mousemove",t),()=>{window.removeEventListener("mousemove",t)}},[e]),t},m=({width:e="auto",height:t,show404:n=!1})=>{const a=(0,s.useTheme2)(),{x:i,y:u}=d(),m=(0,s.useStyles2)(p,i,u,n);return r().createElement(o.A,{src:a.isDark?l:c,className:m.svg,height:t,width:e})};m.displayName="GrotNotFound";const p=(e,t,n,a)=>{const{innerWidth:r,innerHeight:s}=window,o=n&&n/s,l=t&&t/r,c=null!==o?f(o,-20,5):0,u=null!==l?f(l,-5,5):0;return{svg:(0,i.css)({"#grot-404-arm, #grot-404-magnifier":{transform:`rotate(${c}deg) translateX(${u}%)`,transformOrigin:"center",transition:"transform 50ms linear"},"#grot-404-text":{display:a?"block":"none"}})}},f=(e,t,n)=>e*(n-t)+t;var g=n(9504);const v=({message:e,remedyMessage:t,imgWidth:n,padding:a})=>{const i=(0,s.useStyles2)(h,a);return r().createElement("div",{className:i.container,"data-testid":g.b.emptyState},r().createElement(s.Stack,{direction:"column",alignItems:"center",gap:3},r().createElement(m,{width:null!=n?n:300}),"string"==typeof e&&r().createElement(s.Text,{textAlignment:"center",variant:"h5"},e),"string"!=typeof e&&e,t&&r().createElement("div",{className:i.remedy},r().createElement(s.Stack,{gap:.5,alignItems:"center"},r().createElement(s.Icon,{name:"info-circle"}),r().createElement(s.Text,{textAlignment:"center",variant:"body"},t)))))};function h(e,t){return{container:(0,i.css)({width:"100%",display:"flex",justifyContent:"space-evenly",flexDirection:"column",padding:t||0}),remedy:(0,i.css)({marginBottom:e.spacing(4)})}}v.displayName="EmptyState"},3761:(e,t,n)=>{"use strict";n.d(t,{$L:()=>s,Xn:()=>r,iH:()=>a});const a="span.db.system.name",r=[{label:"Root spans",value:"nestedSetParent<0",filter:{key:"nestedSetParent",operator:"<",value:"0"},description:"Focus your analysis on the root span of each trace"},{label:"All spans",value:"true",filter:{key:"",operator:"",value:!0},description:"View and analyse raw span data. This option may result in long query times."},{label:"Server spans",value:"kind=server",filter:{key:"kind",operator:"=",value:"server"},description:"Explore server-specific segments of traces"},{label:"Consumer spans",value:"kind=consumer",filter:{key:"kind",operator:"=",value:"consumer"},description:"Analyze interactions initiated by consumer services"},{label:"Database calls",value:`${a}!=""`,filter:{key:a,operator:"!=",value:'""'},description:"Evaluate the performance issues in database interactions"}],s=e=>r.find(t=>t.value===e)},4524:(e,t,n)=>{"use strict";n.d(t,{Fh:()=>E,GD:()=>w,R_:()=>v});var a=n(7781),r=n(118),s=n(5959),i=n.n(s),o=n(1793),l=n(8531),c=n(6338),u=n(1051),d=n(1269);function m(e,t,n,a,r,s,i){try{var o=e[s](i),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(a,r)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(a,r){var s=e.apply(t,n);function i(e){m(s,a,r,i,o,"next",e)}function o(e){m(s,a,r,i,o,"throw",e)}i(void 0)})}}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const v="Add to investigation",h="grafana-exploretraces-app/investigation/v1",b="investigations_divider",y="Investigations";class w extends r.Bs{addItem(e){this.state.body&&this.state.body.addItem(e)}setItems(e){this.state.body&&this.state.body.setItems(e)}constructor(e){super(e),this.addActivationHandler(()=>{const e=[{text:"Navigation",type:"group"},{text:"Explore",iconClassName:"compass",href:S(this),onClick:()=>x()}];this.setState({body:new r.Lw({items:e})});const t=(0,u.zY)(this),n=(0,u.U4)(t),a=new o.L({query:this.state.query,dsUid:n});a.activate(),this.setState({addToInvestigationButton:a}),this._subs.add(null==a?void 0:a.subscribeToState(()=>{var e;e=this,p(function*(){const t=e.state.addToInvestigationButton;if(t){var n;const l=yield E(t);var a;const u=null!==(a=null===(n=e.state.body)||void 0===n?void 0:n.state.items)&&void 0!==a?a:[],d=u.find(e=>e.text===v);var r,s,i,o;l&&(d?d&&(null===(r=e.state.body)||void 0===r||r.setItems(u.filter(e=>!1===[b,y,v].includes(e.text)))):(null===(s=e.state.body)||void 0===s||s.addItem({text:b,type:"divider"}),null===(i=e.state.body)||void 0===i||i.addItem({text:y,type:"group"}),null===(o=e.state.body)||void 0===o||o.addItem({text:v,iconClassName:"plus-square",onClick:e=>{l.onClick&&l.onClick(e),(0,c.EE)(c.NO.analyse_traces,c.ir.analyse_traces.add_to_investigation_clicked)}})))}})()})),a.setState(g(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){f(e,t,n[t])})}return e}({},a.state),{labelValue:this.state.labelValue}))})}}f(w,"Component",({model:e})=>{const{body:t}=e.useState();return t?i().createElement(t.Component,{model:t}):i().createElement(i().Fragment,null)});const S=e=>{const t=(0,u.zY)(e),n=(0,u.U4)(t),s=r.jh.getTimeRange(e).state.value,i=(0,u.Is)(e),o=JSON.stringify({"traces-explore":{range:(0,a.toURLRange)(s.raw),queries:[{refId:"A",datasource:n,query:e.state.query,step:i}]}});var c;const d=null!==(c=l.config.appSubUrl)&&void 0!==c?c:"";return a.urlUtil.renderUrl(`${d}/explore`,{panes:o,schemaVersion:1})},x=()=>{(0,c.EE)(c.NO.analyse_traces,c.ir.analyse_traces.open_in_explore_clicked)},E=e=>p(function*(){const t=e.state.context;if(void 0!==l.getPluginLinkExtensions){return(0,l.getPluginLinkExtensions)({extensionPointId:h,context:t}).extensions[0]}if(void 0!==l.getObservablePluginLinks){return(yield(0,d.firstValueFrom)((0,l.getObservablePluginLinks)({extensionPointId:h,context:t})))[0]}})()},4917:(e,t,n)=>{"use strict";n.d(t,{F:()=>r,p:()=>a});const a=e=>{var t;const n=e.fields.find(e=>"Baseline"===e.name),a=e.fields.find(e=>"Selection"===e.name);let r=0,s=0;for(let e=0;e<((null==n||null===(t=n.values)||void 0===t?void 0:t.length)||0);e++){const t=((null==a?void 0:a.values[e])||0)-((null==n?void 0:n.values[e])||0);Math.abs(t)>Math.abs(r||0)&&(r=t,s=e)}return{maxDifference:r,maxDifferenceIndex:s}},r=e=>{if("duration"!==e)return{query:"status = error",type:"auto"}}},5445:(e,t,n)=>{"use strict";n.d(t,{y:()=>d});var a,r,s,i=n(118),o=n(5959),l=n.n(o),c=n(2007),u=n(9504);class d extends i.Bs{}s=({model:e})=>{const{message:t}=e.useState();return l().createElement(c.Alert,{title:"Query error",severity:"error","data-testid":u.b.errorState},t)},(r="Component")in(a=d)?Object.defineProperty(a,r,{value:s,enumerable:!0,configurable:!0,writable:!0}):a[r]=s},6003:(e,t,n)=>{"use strict";n.d(t,{x:()=>v});var a=n(5959),r=n.n(a),s=n(118),i=n(3761),o=n(2007),l=n(6089),c=n(5225),u=n(6338);function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const p=e=>{const t=(0,o.useStyles2)(h);return r().createElement(c.c.Menu,m(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){d(e,t,n[t])})}return e}({},e),{className:t.customMenu}))};function f({selectProps:e}){const t=e.menuIsOpen?"angle-up":"angle-down";return r().createElement(o.Icon,{name:t,size:"md"})}const g=()=>{const e=(0,o.useStyles2)(h);return r().createElement("div",{className:e.heading},r().createElement(o.Text,{weight:"bold",variant:"bodySmall",color:"secondary"},"Primary signal"))};class v extends s.yP{}d(v,"Component",({model:e})=>{const t=(0,o.useStyles2)(h),{value:n,isReadOnly:s}=e.useState();(0,a.useEffect)(()=>{n||e.changeValueTo(s?i.Xn[1].value:i.Xn[0].value)});const l=i.Xn.slice(0,2),c=i.Xn.find(e=>e.value===n);c&&!l.some(e=>e.filter.key===c.filter.key)&&l.push(c);const d=i.Xn.filter(e=>!l.some(t=>t.value===e.value)),m=t=>{(0,u.EE)(u.NO.analyse_traces,u.ir.analyse_traces.primary_signal_changed,{primary_signal:t}),e.changeValueTo(t,void 0,!0)};return s?r().createElement(r().Fragment,null):r().createElement(r().Fragment,null,r().createElement(o.RadioButtonGroup,{options:l,value:n,onChange:m,disabled:s,className:t.buttonGroup}),r().createElement(o.Select,{options:[{label:"Primary signal",options:d}],value:"",placeholder:"",isSearchable:!1,isClearable:!1,width:4,onChange:e=>m(e.value),className:t.select,components:{IndicatorSeparator:()=>null,SingleValue:()=>null,Menu:p,DropdownIndicator:f,GroupHeading:g}}))});const h=e=>({select:l.css`
|
||
[class$='input-suffix'] {
|
||
position: absolute;
|
||
z-index: 2;
|
||
}
|
||
|
||
:focus-within {
|
||
outline: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
> div {
|
||
padding: 0;
|
||
}
|
||
|
||
input {
|
||
opacity: 0 !important;
|
||
}
|
||
|
||
border-radius: 0 2px 2px 0;
|
||
border-left: none;
|
||
`,buttonGroup:l.css`
|
||
border-radius: 2px 0 0 2px;
|
||
`,customMenu:l.css`
|
||
width: 230px;
|
||
|
||
[class$='grafana-select-option-grafana-select-option-focused'] {
|
||
background: transparent;
|
||
|
||
::before {
|
||
display: none;
|
||
}
|
||
}
|
||
`,heading:(0,l.css)({padding:e.spacing(1,1,.75,.75),borderLeft:"2px solid transparent",borderBottom:`1px solid ${e.colors.border.weak}`})})},6338:(e,t,n)=>{"use strict";n.d(t,{EE:()=>s,NO:()=>i,ir:()=>o});var a=n(8531),r=n(2533);const s=(e,t,n)=>{(0,a.reportInteraction)(((e,t)=>`${r.id.replace(/-/g,"_")}_${e}_${t}`)(e,t),n)},i={analyse_traces:"analyse_traces",home:"home",common:"common"},o={[i.analyse_traces]:{action_view_changed:"action_view_changed",breakdown_group_by_changed:"breakdown_group_by_changed",breakdown_add_to_filters_clicked:"breakdown_add_to_filters_clicked",comparison_add_to_filters_clicked:"comparison_add_to_filters_clicked",select_attribute_in_comparison_clicked:"select_attribute_in_comparison_clicked",layout_type_changed:"layout_type_changed",start_investigation:"start_investigation",stop_investigation:"stop_investigation",open_trace:"open_trace",open_in_explore_clicked:"open_in_explore_clicked",add_to_investigation_clicked:"add_to_investigation_clicked",add_to_investigation_trace_view_clicked:"add_to_investigation_trace_view_clicked",span_list_columns_changed:"span_list_columns_changed",toggle_bookmark_clicked:"toggle_bookmark_clicked",primary_signal_changed:"primary_signal_changed",exception_message_clicked:"exception_message_clicked"},[i.home]:{homepage_initialized:"homepage_initialized",panel_row_clicked:"panel_row_clicked",explore_traces_clicked:"explore_traces_clicked",read_documentation_clicked:"read_documentation_clicked",filter_changed:"filter_changed",go_to_bookmark_clicked:"go_to_bookmark_clicked"},[i.common]:{metric_changed:"metric_changed",new_filter_added_manually:"new_filter_added_manually",app_initialized:"app_initialized",global_docs_link_clicked:"global_docs_link_clicked",metric_docs_link_clicked:"metric_docs_link_clicked",feedback_link_clicked:"feedback_link_clicked",go_to_full_app_clicked:"go_to_full_app_clicked"}}},6374:(e,t,n)=>{"use strict";n.d(t,{$:()=>l});var a=n(118),r=n(7975);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){s(e,t,n[t])})}return e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class l extends a.dt{_onActivateStep(){const e=(0,r.oM)(this,this.state.maxDataPoints);this.setState({queries:this.state.queries.map(t=>o(i({},t),{step:e}))});a.jh.getTimeRange(this).subscribeToState((e,t)=>{if(e.value.from!==t.value.from||e.value.to!==t.value.to){const e=(0,r.oM)(this,this.state.maxDataPoints);this.setState({queries:this.state.queries.map(t=>o(i({},t),{step:e}))})}})}constructor(e){super(e),this.addActivationHandler(this._onActivateStep.bind(this))}}},6997:(e,t,n)=>{"use strict";n.d(t,{z:()=>s});var a=n(118),r=n(2007);const s=(e,t)=>{const n="errors"===e||!1,s=a.d0.timeseries().setOption("legend",{showLegend:!1}).setCustomFieldConfig("drawStyle",r.DrawStyle.Bars).setCustomFieldConfig("stacking",{mode:r.StackingMode.Normal}).setCustomFieldConfig("fillOpacity",75).setCustomFieldConfig("lineWidth",0).setCustomFieldConfig("pointSize",0).setCustomFieldConfig("axisLabel","Rate").setOverrides(e=>{e.matchFieldsWithNameByRegex(".*").overrideColor({mode:"fixed",fixedColor:n?"semi-dark-red":"green"})}).setOption("tooltip",{mode:r.TooltipDisplayMode.Multi});return void 0!==t&&s.setCustomFieldConfig("axisWidth",t),s}},7197:(e,t,n)=>{"use strict";n.d(t,{Mu:()=>A,jD:()=>L,FC:()=>$});var a=n(5959),r=n.n(a),s=n(118),i=n(7781),o=n(1829),l=n(775),c=n(2645),u=n(1379),d=n(6997),m=n(9840),p=n(6374),f=n(6089),g=n(2007),v=n(2860),h=n(1051),b=n(8855),y=n(9938),w=n(892),S=n(3241),x=n(6338);function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class O extends s.Bs{constructor({selection:e}){super({selection:e}),E(this,"startInvestigation",()=>{const e=(0,h.YX)(this);e.setState({selection:this.state.selection}),(0,h.H)(e.state.actionView)||e.setActionView("comparison"),(0,x.EE)(x.NO.analyse_traces,x.ir.analyse_traces.start_investigation,{selection:this.state.selection,metric:(0,h.GK)(this)})})}}function j(e){return{wrapper:(0,f.css)({display:"flex",gap:"16px",alignItems:"center"}),placeholder:(0,f.css)({color:e.colors.text.secondary,fontSize:e.typography.bodySmall.fontSize,display:"flex",gap:e.spacing.x0_5})}}E(O,"Component",({model:e})=>{const{selection:t}=(0,h.YX)(e).useState(),n=(0,g.useStyles2)(j),a="auto"===(null==t?void 0:t.type),s=a?"Slowest traces are selected, navigate to the Comparison or Slow Traces tab for more details.":void 0;return r().createElement("div",{className:n.wrapper},r().createElement(g.Button,{variant:"secondary",size:"sm",fill:"solid",disabled:a,icon:"bolt",onClick:e.startInvestigation,tooltip:s},a?"Slowest traces selected":"Select slowest traces"))});var k=n(3247),C=n(8531);function P({serviceName:e,model:t}){const{isLoading:n,component:a}=(0,C.usePluginComponent)("grafana-asserts-app/insights-timeline-widget/v1"),i=(0,g.useStyles2)(_),o=s.jh.getTimeRange(t).useState(),l=(0,h.H_)(t).state.value;let c=[];"errors"===l?c=["critical","warning"]:"rate"===l&&(c=["info"]);let u=[];return"duration"===l&&(u=["latency"]),!n&&a&&o&&e?r().createElement(a,{serviceName:e,start:o.from.valueOf(),end:o.to.valueOf(),filterBySeverity:c,filterBySummaryKeywords:u,label:r().createElement("div",{className:i.label},"Insights")}):null}function _(e){return{label:(0,f.css)({fontSize:"12px",color:e.colors.text.secondary,marginLeft:"35px",marginTop:"-3px"})}}var N=n(2395);function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){D(e,t,n[t])})}return e}function I(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}class A extends s.Bs{isDuration(){return"duration"===(0,h.H_)(this).state.value}_onActivate(){const e=(0,h.H_)(this).state.value;this.setState({$data:new s.Es({$data:new p.$({maxDataPoints:this.isDuration()?24:64,datasource:o.Vl,queries:[this.isDuration()?(0,w.z)():(0,m.l)({metric:e,sample:!0})]}),transformations:this.isDuration()?[...(0,k.h)()]:[...(0,k.G)((0,h.w$)(this))]}),panel:this.getVizPanel()})}getVizPanel(){const e=(0,h.H_)(this).state.value;var t;return this.isDuration()?(0,b.QA)(this,null!==(t=this.state.yBuckets)&&void 0!==t?t:[]):this.getRateOrErrorVizPanel(e)}getRateOrErrorVizPanel(e){const t=(0,d.z)(e,70).setHoverHeader(!0).setDisplayMode("transparent");return"rate"===e?t.setCustomFieldConfig("axisLabel","span/s"):"errors"===e&&t.setCustomFieldConfig("axisLabel","error/s").setColor({fixedColor:"semi-dark-red",mode:"fixed"}),new s.G1({direction:"row",children:[new s.vA({body:t.build()})]})}buildSelectionAnnotation(e){var t,n,a,r;if(!(0,h.H)(e.actionView))return;const s=null===(n=e.selection)||void 0===n||null===(t=n.raw)||void 0===t?void 0:t.x,o=null===(r=e.selection)||void 0===r||null===(a=r.raw)||void 0===a?void 0:a.y,l=(0,i.arrayToDataFrame)([{time:(null==s?void 0:s.from)||0,xMin:(null==s?void 0:s.from)||0,xMax:(null==s?void 0:s.to)||0,timeEnd:(null==s?void 0:s.to)||0,yMin:null==o?void 0:o.from,yMax:null==o?void 0:o.to,isRegion:!0,fillOpacity:.15,lineWidth:1,lineStyle:"solid",color:y._E,text:"Comparison selection"}]);return l.name="xymark",l.meta=I(T({},l.meta),{dataTopic:i.DataTopic.Annotations}),[l]}constructor(e){super(T({yBuckets:[],actions:[],isStreaming:!1},e)),this.addActivationHandler(()=>{this._onActivate();const e=s.jh.getData(this),t=(0,h.YX)(this),n=s.jh.getTimeRange(this);this._subs.add(e.subscribeToState(a=>{var r,d,m;if(this.setState({isStreaming:(null===(r=a.data)||void 0===r?void 0:r.state)===i.LoadingState.Streaming}),(null===(d=a.data)||void 0===d?void 0:d.state)===i.LoadingState.Done)if(0===a.data.series.length||0===a.data.series[0].length||(0,h.W6)(a))this.setState({panel:new s.G1({children:[new s.vA({body:new l.v({message:o.PL,imgWidth:150})})]})});else{let r=[];if(this.isDuration()){var p,f;if(r=$((null===(p=e.state.data)||void 0===p?void 0:p.series)||[]),t.state.selection&&(null===(f=a.data)||void 0===f?void 0:f.state)===i.LoadingState.Done){var g,v;const n=this.buildSelectionAnnotation(t.state);n&&!(null===(v=e.state.data)||void 0===v||null===(g=v.annotations)||void 0===g?void 0:g.length)&&e.setState({data:I(T({},e.state.data),{annotations:n})})}if(null==r?void 0:r.length){var y;const{minDuration:e,minBucket:a}=L(r),s={type:"auto"};(0,h.Kf)(this).changeValueTo(e),(0,h.F3)(this).changeValueTo((0,b.xx)(a-1,r,.3)),s.duration={from:e,to:""},s.raw={x:{from:1e3*n.state.value.from.unix(),to:1e3*n.state.value.to.unix()},y:{from:a-.5,to:r.length-.5}},this.setState({actions:[new O({selection:s})]}),(null===(y=t.state.selection)||void 0===y?void 0:y.duration)&&"auto"!==t.state.selection.type||t.setState({selection:s})}}this.setState({yBuckets:r,panel:this.getVizPanel()})}else(null===(m=a.data)||void 0===m?void 0:m.state)===i.LoadingState.Loading&&this.setState({panel:new s.G1({direction:"column",children:[new c.G({component:()=>(0,u.NO)(1)})]})})})),this._subs.add(t.subscribeToState((t,n)=>{var a;if((null===(a=e.state.data)||void 0===a?void 0:a.state)===i.LoadingState.Done&&(!(0,S.isEqual)(t.selection,n.selection)||t.actionView!==n.actionView)&&this.isDuration()){const n=this.buildSelectionAnnotation(t);e.setState({data:I(T({},e.state.data),{annotations:n})})}}))})}}D(A,"Component",({model:e})=>{const{panel:t,actions:n,isStreaming:a}=e.useState(),{value:s}=(0,h.H_)(e).useState(),i=(0,g.useStyles2)(V),o=(0,N.oL)(e);if(!t)return;const l="duration"===s?"Click and drag to compare selection with baseline.":"";return r().createElement("div",{className:i.container},r().createElement("div",{className:i.headerContainer},r().createElement("div",{className:i.titleContainer},r().createElement("div",{className:i.titleRadioWrapper},r().createElement(g.RadioButtonList,{name:`metric-${s}`,options:[{title:"",value:"selected"}],value:"selected"}),r().createElement("span",null,(()=>{switch(s){case"errors":return"Errors rate";case"rate":return"Span rate";case"duration":return"Histogram by duration";default:return""}})())),l&&r().createElement("div",{className:i.subtitle},l)),r().createElement("div",{className:i.actions},a&&r().createElement(v.M,{isStreaming:!0,iconSize:10}),null==n?void 0:n.map(e=>r().createElement(e.Component,{model:e,key:e.state.key})))),r().createElement(t.Component,{model:t}),r().createElement(P,{serviceName:o||"",model:e}))});const $=e=>e.map(e=>parseFloat(e.fields[1].name)).sort((e,t)=>e-t),L=e=>{const t=Math.floor(e.length/4);let n=e.length-t-1;return n<0&&(n=0),{minDuration:(0,b.xx)(n-1,e),minBucket:n}};function V(e){return{container:(0,f.css)({width:"100%",display:"flex",flexDirection:"column",border:`1px solid ${e.colors.border.weak}`,borderRadius:"2px",background:e.colors.background.primary,".show-on-hover":{display:"none"},"section, section:hover":{borderColor:"transparent"},"& .u-select":{border:"1px solid #ffffff75"}}),headerContainer:(0,f.css)({width:"100%",display:"flex",flexDirection:"row",padding:"8px",gap:"8px",justifyContent:"space-between",alignItems:"flex-start",fontWeight:e.typography.fontWeightBold}),titleContainer:(0,f.css)({display:"flex",flexDirection:"column",gap:"4px"}),titleRadioWrapper:(0,f.css)({display:"flex",alignItems:"center"}),actions:(0,f.css)({display:"flex",gap:"8px",alignItems:"center"}),subtitle:(0,f.css)({display:"flex",color:e.colors.text.secondary,fontSize:"12px",fontWeight:400,"& svg":{margin:"0 2px"}})}}},7975:(e,t,n)=>{"use strict";n.d(t,{KS:()=>m,a3:()=>d,oM:()=>p});var a=n(3241),r=n(118),s=n(2689);const i=1e3,o=1e6,l=6e7,c=36e8,u=(Math.log10(i),[{unit:"d",microseconds:864e8,ofPrevious:24},{unit:"h",microseconds:c,ofPrevious:60},{unit:"m",microseconds:l,ofPrevious:60},{unit:"s",microseconds:o,ofPrevious:1e3},{unit:"ms",microseconds:i,ofPrevious:1e3},{unit:"μs",microseconds:1,ofPrevious:1e3}]),d=e=>{const[t,n]=(0,a.dropWhile)(u,({microseconds:t},n)=>n<u.length-1&&t>e);if(1e3===t.ofPrevious)return`${(0,a.round)(e/t.microseconds,2)}${t.unit}`;let r=Math.floor(e/t.microseconds),s=e/n.microseconds%t.ofPrevious;const i=Math.round(s);i===t.ofPrevious?(r+=1,s=0):s=i;const o=`${r}${t.unit}`;if(0===s)return o;return`${o} ${`${s}${n.unit}`}`},m=(e,t=50)=>Math.floor(e/t)||1,p=(e,t)=>{const n=r.jh.getTimeRange(e),a=n.state.value.from.unix(),i=n.state.value.to.unix(),o=(0,s.duration)(i-a,"s");return`${m(o.asSeconds(),t)}s`}},8855:(e,t,n)=>{"use strict";n.d(t,{QA:()=>i,dX:()=>o,xx:()=>l});var a=n(1051),r=n(6338),s=n(118);function i(e,t){const n=(0,a.YX)(e),i=o().setHoverHeader(!0).setOption("selectionMode","xy").build();return i.setState({extendPanelContext:(e,s)=>{s.onSelectRange=e=>{var s,i,o,c;if(0===e.length)return void n.setState({selection:void 0});const u=e[0],d={type:"manual",raw:u};if(d.timeRange={from:Math.round(((null===(s=u.x)||void 0===s?void 0:s.from)||0)/1e3),to:Math.round(((null===(i=u.x)||void 0===i?void 0:i.to)||0)/1e3)},d.timeRange.from===d.timeRange.to)return;const m=l(((null===(o=e[0].y)||void 0===o?void 0:o.from)||0)-1,t),p=l((null===(c=e[0].y)||void 0===c?void 0:c.to)||0,t);d.duration={from:m,to:p},n.onUserUpdateSelection(d),(0,a.H)(n.state.actionView)||n.setActionView("comparison"),(0,r.EE)(r.NO.analyse_traces,r.ir.analyse_traces.start_investigation,{selection:d,metric:"duration"})}}}),new s.G1({direction:"row",children:[new s.vA({body:i})]})}const o=()=>s.d0.heatmap().setOption("legend",{show:!1}).setOption("yAxis",{unit:"s",axisLabel:"duration"}).setOption("color",{scheme:"Blues",steps:16}).setOption("rowsFrame",{value:"Spans"});function l(e,t,n){if(!t)return"";if(e<0)return"0";const a=t[Math.floor(e)]*(n||1);return!a||isNaN(a)?"":a>=1?`${a.toFixed(0)}s`:`${(1e3*a).toFixed(0)}ms`}},9504:(e,t,n)=>{"use strict";n.d(t,{b:()=>a});const a={emptyState:"data-testid empty-state",errorState:"data-testid error-state",loadingState:"data-testid loading-state"}},9840:(e,t,n)=>{"use strict";n.d(t,{l:()=>s,n:()=>r});var a=n(1829);function r({metric:e,groupByKey:t,extraFilters:n,sample:r=!1}){let s=`${a.ui}`;"errors"===e&&(s+=" && status=error"),n&&(s+=` && ${n}`),t&&t!==a.y2&&(s+=` && ${t} != nil`);let i="rate()";switch(e){case"errors":i="rate()";break;case"duration":i=`quantile_over_time(duration, ${a.yh})`}let o=[];t&&t!==a.y2&&o.push(t);return`{${s}} | ${i} ${o.length?`by(${o.join(", ")})`:""}${r?" with(sample=true)":""}`}function s(e){return{refId:"A",query:r(e),queryType:"traceql",tableType:"spans",limit:100,spss:10,filters:[]}}},9938:(e,t,n)=>{"use strict";n.d(t,{bT:()=>S,_E:()=>x,nF:()=>E,x:()=>k});var a=n(118),r=n(1379),s=n(2007),i=n(1625),o=n(6089),l=n(5959),c=n.n(l),u=n(1051),d=n(806),m=n(4917);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){p(e,t,n[t])})}return e}class g extends a.Bs{_onActivate(){const{frame:e}=this.state;this.setState(f({},(0,m.p)(e))),this._subs.add(this.subscribeToState((e,t)=>{if(e.frame!==t.frame){const{frame:t}=e;this.setState(f({},(0,m.p)(t)))}}))}getAttribute(){return this.state.frame.name}getValue(){const e=this.state.frame.fields.find(e=>"Value"===e.name);return null==e?void 0:e.values[this.state.maxDifferenceIndex||0]}onAddToFilters(){const e=(0,u.gG)(this),t=this.getAttribute();t&&(0,d.Qt)(e,t,this.getValue())}constructor(e){super(f({},e)),this.addActivationHandler(()=>this._onActivate())}}function v(e){return{container:(0,o.css)({display:"flex",flexDirection:"column",flexGrow:1,height:"100%"}),differenceContainer:(0,o.css)({display:"flex",flexDirection:"column",flexGrow:1,border:`1px solid ${e.colors.secondary.border}`,background:e.colors.background.primary,padding:"8px",marginBottom:e.spacing(2),fontSize:"12px",height:"116px"}),differenceValue:(0,o.css)({fontSize:"36px",fontWeight:"bold",textAlign:"center"}),value:(0,o.css)({textAlign:"center",color:e.colors.secondary.text,textWrap:"nowrap",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),title:(0,o.css)({fontWeight:500})}}p(g,"Component",({model:e})=>{const{maxDifference:t,maxDifferenceIndex:n,panel:a}=e.useState(),r=(0,s.useStyles2)(v),i=e.getValue();var o;const l=null!==(o=e.state.frame.name)&&void 0!==o?o:"",m=(0,d.D9)((0,u.gG)(e),l,i.replace(/"/g,""));return c().createElement("div",{className:r.container},c().createElement(a.Component,{model:a}),c().createElement("div",{className:r.differenceContainer},void 0!==t&&void 0!==n&&c().createElement(c().Fragment,null,c().createElement(s.Stack,{gap:1,justifyContent:"space-between",alignItems:"center"},c().createElement("div",{className:r.title},"Highest difference"),!m&&c().createElement(s.Button,{size:"sm",variant:"primary",icon:"search-plus",fill:"text",onClick:()=>e.onAddToFilters()},"Add to filters")),c().createElement("div",{className:r.differenceValue},(100*Math.abs(t)).toFixed(0===t?0:2),"%"),c().createElement("div",{className:r.value},i))))});var h=n(1829);function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){b(e,t,n[t])})}return e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const S="#5794F299",x="#FF9930";function E(e,t){return new r.hE({body:new a.gF({templateColumns:h.MV,autoRows:"320px",children:[]}),getLayoutChild:j({},O,e,t)})}const O=e=>e.name||"No name available";function j(e,t,n,r){return(s,i)=>{const o=i.name?e[i.name]:void 0,l=new a.Zv({data:w(y({},s),{series:[y({},i)]})});if(o){const e=o.state.body;return e.setState({frame:i}),e.state.panel.setState({$data:l}),o}const c=k(r).setTitle(t(i)).setData(l),u=n(i);u&&c.setHeaderActions(u);const d=new a.xK({body:new g({frame:i,panel:c.build()})});return i.name&&(e[i.name]=d),d}}function k(e){return a.d0.barchart().setOption("legend",{showLegend:!1}).setOption("tooltip",{mode:i.$N.Multi}).setMax(1).setOverrides(t=>{t.matchFieldsWithName("Value").overrideCustomFieldConfig("axisPlacement",s.AxisPlacement.Hidden),t.matchFieldsWithName("Baseline").overrideColor({mode:"fixed",fixedColor:"duration"===e?S:"semi-dark-green"}).overrideUnit("percentunit"),t.matchFieldsWithName("Selection").overrideColor({mode:"fixed",fixedColor:"duration"===e?x:"semi-dark-red"}).overrideUnit("percentunit")})}}}]);
|
||
//# sourceMappingURL=211.js.map?_cache=d475e482bb9a46b6417d
|