Files
HX_KI_com-Com1/grafana/plugins/grafana-exploretraces-app/782.js
2026-03-06 14:37:04 +00:00

41 lines
181 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(self.webpackChunkgrafana_exploretraces_app=self.webpackChunkgrafana_exploretraces_app||[]).push([[782],{2645:(e,t,n)=>{"use strict";n.d(t,{G:()=>p});var a,r,s,o=n(46089),i=n(15056),l=n(82007),c=n(85959),u=n.n(c),d=n(33049),m=n(39504);class p extends i.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,o.keyframes)({"0%":{opacity:0},"100%":{opacity:1}});function g(){return{container:(0,o.css)({label:"loading-state-scene",animationName:f,animationDelay:"100ms",animationTimingFunction:"ease-in",animationDuration:"100ms",animationFillMode:"backwards"})}}},5445:(e,t,n)=>{"use strict";n.d(t,{y:()=>d});var a,r,s,o=n(15056),i=n(85959),l=n.n(i),c=n(82007),u=n(39504);class d extends o.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},6997:(e,t,n)=>{"use strict";n.d(t,{z:()=>s});var a=n(15056),r=n(82007);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}},7921:(e,t,n)=>{"use strict";n.d(t,{VV:()=>Tt,jc:()=>Pt});var a=n(85959),r=n.n(a),s=n(87781),o=n(15056),i=n(77197),l=n(61829),c=n(18531),u=n(46089),d=n(82007),m=n(31051),p=n(70940);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(50775),h=n(33049),b=n(31269),y=n(76338);const w="grafana.traces-drilldown.favorites.attributes",x=()=>[...l.R7,...l.$q];function S({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=x().filter(e=>null==r?void 0:r.some(t=>t===e));n(t)}else{const e=x(),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])},[]),o=(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:o}}function E({options:e,selected:t,onAttributeChange:n,title:s="Attributes",model:o,showFavorites:i,isMulti:c,allowAllOption:u}){const p=(0,d.useStyles2)(O),f=(0,d.useTheme2)(),[g,v]=(0,a.useState)(""),[h,b]=(0,a.useState)(i?"Favorites":"All"),[y,w]=(0,a.useState)(null),[x,E]=(0,a.useState)(null),{favoriteAttributes:k,toggleFavorite:j,reorderFavorites:C}=S({scene:o}),P=(0,m.gG)(o),{filters:N}=P.useState(),D=N.map(e=>e.key),_=(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 k.map(e=>I.find(t=>t.value===e)).filter(Boolean).filter(e=>_(e.label,g))}const e=I.filter(e=>{const t=_(e.label,g),n="All"===h||e.scope===h;return t&&n});if("Resource"===h||"Span"===h){const t=[],n=[];return e.forEach(e=>{k.includes(e.value)?t.push(e):n.push(e)}),t.sort((e,t)=>k.indexOf(e.value)-k.indexOf(t.value)),[...t,...n]}return e},[I,g,h,k,_]);(0,a.useEffect)(()=>{if(!c&&t&&"string"==typeof t&&D.includes(t)){const e=A.findIndex(e=>e.value===t)+1;if(e<A.length)return void n(A[e].value)}},[t,D,c,A,n]);const $=(0,a.useCallback)((e,t)=>{t.stopPropagation(),j(e)},[j]),L=(0,a.useCallback)(e=>{w(e)},[]),z=(0,a.useCallback)(()=>{w(null),E(null)},[]),V=(0,a.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),null!==y&&y!==t&&x!==t&&E(t)},[y,x]),B=(0,a.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),null!==y&&y!==t&&E(t)},[y]),F=(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)},[]),W=(0,a.useCallback)(e=>{if(null===y)return;const t=A[e],n=A[y],a=k.findIndex(e=>e===t.value),r=k.findIndex(e=>e===n.value);C(r,a),w(null),E(null)},[y,C,A,k]),H=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 i&&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:()=>H("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=k.includes(e.value),a="Favorites"===h,s=y===t,o=D.includes(e.value),l=(e=>T().includes(e))(e.value),u=x===t&&null!==y&&y>t,m=x===t&&null!==y&&y<t;return r().createElement(r().Fragment,{key:e.value},u&&r().createElement("li",{className:p.ghostElement,onDrop:()=>W(t)},r().createElement("div",{className:p.ghostContent},"Drop here")),r().createElement("li",{title:o?`Filtered: ${e.label}`:e.label,className:`${p.attributeItem} ${!c&&l?p.attributeItemSelected:""} ${a?p.draggableItem:""} ${s?p.dragging:""}`,onClick:c?void 0:()=>H(e.value),draggable:a,onDragStart:()=>L(t),onDragEnd:z,onDragEnter:e=>B(e,t),onDragOver:e=>V(e,t),onDragLeave:F,onDrop:()=>W(t)},c&&r().createElement(d.Checkbox,{value:l,onChange:()=>H(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}),o&&r().createElement(d.Icon,{name:"filter",color:f.colors.text.disabled}),r().createElement("div",{className:p.attributeLabel},e.label)),i&&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:()=>W(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 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 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){k(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 o.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),o={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],o=null==a?void 0:a.values[e.rowIndex];if(!s)return e.value;const i=e.value?e.value:"<name not yet available>";return r().createElement("div",{className:"cell-link-wrapper"},r().createElement("div",{className:"cell-link",title:i,onClick:()=>{this.publishEvent(new l.vR({traceId:s,spanId:o}),!0)}},i),r().createElement(d.Link,{href:this.getLinkToExplore(s,o),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=o);const i=a.find(e=>"spanID"===e.name);return(null==i||null===(n=i.config)||void 0===n?void 0:n.custom)&&(i.config.custom.hideFrom={viz:!0}),C(j({},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 o.G1({children:[new o.vA({body:new v.v({message:l.PL,remedyMessage:l.a5,padding:"32px"})})]})})}else"done"!==this.state.dataState&&this.setState({dataState:"done",panel:new o.G1({direction:"row",children:[new o.vA({body:o.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 o.G1({direction:"row",children:[new g.G({component:D})]})})}}constructor(e){super(j({dataState:"empty"},e)),k(this,"getLinkToExplore",(e,t)=>{var n;const a=(0,m.zY)(this),r=(0,m.U4)(a),i=o.jh.getTimeRange(this).state.value,l=JSON.stringify({"explore-traces":{range:(0,s.toURLRange)(i.raw),queries:[{refId:"traceId",queryType:"traceql",query:e,datasource:r}],panelsState:{trace:{spanId:t}},datasource:r}}),u=null!==(n=c.config.appSubUrl)&&void 0!==n?n:"";return s.urlUtil.renderUrl(`${u}/explore`,{panes:l,schemaVersion:1})}),k(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 o.Es({transformations:this.setupTransformations()})});const e=o.jh.getData(this);this.updatePanel(e.state.data),this._subs.add(e.subscribeToState(e=>{this.updatePanel(e.data)}))})}}k(P,"Component",({model:e})=>{var t;const{panel:n}=e.useState(),a=N((0,d.useTheme2)()),o=(0,m.gi)(e),{attributes:i}=(0,m.YX)(e).useState();if(n)return r().createElement("div",{className:a.container},r().createElement("div",{className:a.header},r().createElement("div",{className:a.description},"View a list of spans for the current set of filters.")),r().createElement("div",{className:a.content},r().createElement(d.Stack,{direction:"row",gap:2,width:"100%"},r().createElement(E,{options:null!==(t=null==i?void 0:i.map(e=>(0,s.toOption)(e)))&&void 0!==t?t:[],selected:o.getValue(),onAttributeChange:t=>e.onChange(null!=t?t:[]),model:e,showFavorites:!0,isMulti:!0}),r().createElement(n.Component,{model:n}))))});const N=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)"})}),D=()=>{const e=(0,d.useStyles2)(_);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 _(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 o.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 z{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=B(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:o}){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=o}}function V(e){var t,n,a,r,s,o,i;const l=null===(s=e.attributes)||void 0===s?void 0:s.find(e=>"service.name"===e.key);return new z({left:A(e),right:$(e),name:B(e),serviceName:null!==(t=null!==(n=null==l?void 0:l.value.stringValue)&&void 0!==n?n:null==l||null===(i=l.value)||void 0===i||null===(o=i.Value)||void 0===o?void 0:o.string_value)&&void 0!==t?t:"",operationName:null!==(a=e.name)&&void 0!==a?a:"",spans:[e],traceID:null!==(r=e.traceId)&&void 0!==r?r:""})}function B(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 F(e){e.left=Number.MAX_SAFE_INTEGER,e.right=Number.MIN_SAFE_INTEGER;for(const t of e.children)F(t)}var M=n(33733);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 W(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 H="0000000000000000";class G extends o.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 i;const t=null===(i=e.data)||void 0===i?void 0:i.series[0].fields[0].values[0];if(t){const e=function(e){const t=new z({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;F(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=V(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 o.G1({height:"100%",wrap:"wrap",children:this.getPanels(e)})})}}}else this.setState({loading:!0})}))}getPanels(e){return e.children.map(e=>new o.vA({height:150,width:"100%",minHeight:"400px",body:this.getPanel(e)}))}getPanel(e){const t=o.jh.getTimeRange(this),n=t.state.value.from,a=t.state.value.to,r=(0,m.w$)(this);return o.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 o.Zv({data:{state:s.LoadingState.Done,timeRange:{from:n,to:a,raw:{from:n,to:a}},series:[W({},this.buildData(e))]}})).build()}buildData(e){const t=this.getTrace(e,H),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!==H&&(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(W({$data:new o.Es({$data:new o.dt({datasource:l.Vl,queries:[q(e.metric)]}),transformations:l.s9}),loading:!0},e)),this.addActivationHandler(this._onActivate.bind(this))}}function q(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"}const a=`${l.ui} ${n.length?`&& ${n}`:""}`;return{refId:"A",query:`({${a}} &>> { ${t} }) || ({${a}}) | 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:o,panel:i,$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=o||!(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 x=vt(v),S=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"},`${x.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},i&&r().createElement(i.Component,{model:i})),(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:S,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 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 K extends o.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),X(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"})}}X(K,"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 o=t[s];return r().createElement(o.Component,{model:o})});var Z=n(10806),J=n(71379),ee=n(89840),te=n(6997);const ne=()=>o.d0.timeseries().setOption("legend",{showLegend:!1}).setOption("tooltip",{mode:d.TooltipDisplayMode.Multi}).setCustomFieldConfig("fillOpacity",15);var ae=n(56374),re=n(93241);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=o.jh.findAllObjects(e,e=>e instanceof o.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 oe,ie,le,ce=n(83247);class ue extends o.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:de(this),onClick:()=>me()}];this.setState({body:new o.Lw({items:e})})})}}le=({model:e})=>{const{body:t}=e.useState();return t?r().createElement(t.Component,{model:t}):r().createElement(r().Fragment,null)},(ie="Component")in(oe=ue)?Object.defineProperty(oe,ie,{value:le,enumerable:!0,configurable:!0,writable:!0}):oe[ie]=le;const de=e=>{var t;const n=(0,m.zY)(e),a=(0,m.U4)(n),r=o.jh.getTimeRange(e).state.value,i=(0,m.Is)(e),l=JSON.stringify({"traces-explore":{range:(0,s.toURLRange)(r.raw),queries:[{refId:"A",datasource:a,query:e.state.query,step:i}]}}),u=null!==(t=c.config.appSubUrl)&&void 0!==t?t:"";return s.urlUtil.renderUrl(`${u}/explore`,{panes:l,schemaVersion:1})},me=()=>{(0,y.EE)(y.NO.analyse_traces,y.ir.analyse_traces.open_in_explore_clicked)};function pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fe(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){pe(e,t,n[t])})}return e}function ge(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 ve(e,t,n){const a=(0,m.zY)(e).getMetricVariable().getValue(),r=(0,ee.l)({metric:a,groupByKey:t.getValueText()}),i={};return new K({$behaviors:[se()],$data:new o.Es({$data:new ae.$({maxDataPoints:64,datasource:l.Vl,queries:[r]}),transformations:[...(0,ce.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 o.G1({direction:"column",children:[new o.vA({minHeight:300,body:("duration"===a?ne().setUnit("s"):ne()).build()})]}),new J.hE({body:new o.gF({templateColumns:l.MV,autoRows:"200px",isLazy:!0,children:[]}),groupBy:!0,getLayoutChild:he(i,m.ee,t,a,n)}),new J.hE({body:new o.gF({templateColumns:"1fr",autoRows:"200px",isLazy:!0,children:[]}),groupBy:!0,getLayoutChild:he(i,m.ee,t,a,n)})]})}function he(e,t,n,a,r){return(s,i)=>{var l;const c=i.name?e[i.name]:void 0,u=new o.Zv({data:ge(fe({},s),{annotations:null===(l=s.annotations)||void 0===l?void 0:l.filter(e=>e.refId===i.refId),series:[ge(fe({},i),{fields:i.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=o.jh.interpolate(n,(0,ee.n)({metric:a,extraFilters:`${n.getValueText()}=${(0,m.xo)((0,m.ee)(i))}`})),f=("duration"===a?ne().setUnit("s"):(0,te.z)(a)).setTitle(t(i,n.getValueText())).setMenu(new ue({query:p,labelValue:(0,m.ee)(i)})).setData(u),g=r(i);g&&f.setHeaderActions(g);const v=new o.xK({body:f.build()});return i.name&&(e[i.name]=v),v}}function be({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 ye=({percentilesVariable:e})=>{const{value:t}=e.useState(),n=(0,d.useStyles2)(we);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 we(e){return{label:(0,u.css)({marginBottom:e.spacing(0),display:"flex",alignItems:"center"})}}function xe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class Se extends o.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){xe(e,t,n[t])})}return e}({},e)),xe(this,"setBody",e=>{this.setState({body:ve(this,e,t=>[new Z.Ms({frame:t,labelKey:e.getValueText(),onClick:this.onAddToFiltersClick})])})}),xe(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 Ee(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 Oe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}xe(Se,"Component",({model:e})=>{const t=(0,m.tI)(e),{value:n}=(0,m.pl)(e).useState(),s=n,{body:o}=e.useState(),i=(0,d.useStyles2)(Ee),{attributes:l}=(0,m.YX)(e).useState(),{favoriteAttributes:c}=S({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:i.container},r().createElement("div",{className:i.controls},r().createElement(be,{description:f,tags:"duration"===p?[]:[{label:"Rate",color:"green"},{label:"Error",color:"red"}]}),o instanceof K&&r().createElement("div",{className:i.controlsRight},"duration"===p&&r().createElement("div",{className:i.percentiles},r().createElement(ye,{percentilesVariable:t})),r().createElement(o.Selector,{model:o}))),r().createElement("div",{className:i.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}),o&&r().createElement(o.Component,{model:o}))))});class ke extends o.Bs{_onActivate(){this.updateBody()}updateBody(){this.setState({body:new Se({})})}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){Oe(e,t,n[t])})}return e}({},e)),Oe(this,"_variableDependency",new o.Sh(this,{variableNames:[l.PU]})),this.addActivationHandler(this._onActivate.bind(this))}}Oe(ke,"Component",({model:e})=>{const{body:t}=e.useState();return t&&r().createElement(t.Component,{model:t})});var je=n(17975);function Ce(e){if(!e.length)return[];e.sort((e,t)=>e-t);const t=(e[e.length-1]-e[0])/1e3,n=1e3*(0,je.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 Pe(e){return e?e.replace(/\s+/g," ").trim():""}var Ne=n(11625);const De=({seriesData:e,theme:t})=>{const n=(0,d.useStyles2)(_e);if(!e||!e.length)return r().createElement("div",{className:n.message},"No data");const a=e.map(e=>e.count),o=e.map(e=>e.time),i=a.filter(e=>isFinite(e)&&!isNaN(e)),l=o.filter(e=>isFinite(e)&&!isNaN(e));if(i.length<2||l.length<2)return r().createElement("div",{className:n.message},"Not enough data");const c=Math.min(...i),u=Math.max(...i),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:i,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:n.sparklineWrapper},r().createElement(d.Sparkline,{width:130,height:20,sparkline:b,theme:t,config:{custom:{drawStyle:Ne.GR.Line,fillOpacity:5,fillColor:t.colors.background.secondary,lineColor:t.colors.primary.main,lineWidth:1,showPoints:Ne.yL.Never}}}))},_e=e=>({sparklineWrapper:(0,u.css)({width:"100%",display:"flex",alignItems:"center",justifyContent:"center"}),message:(0,u.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,padding:e.spacing(1)})});function Te(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ie(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){Te(e,t,n[t])})}return e}function Ae(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=({message:e,onClick:t,className:n})=>{const s=(0,a.useRef)(null),[o,i]=(0,a.useState)(!1);(0,a.useEffect)(()=>{const e=()=>{const e=s.current;if(e){const t=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight;i(t)}};e(),window.addEventListener("resize",e);const t=setTimeout(e,100);return()=>{window.removeEventListener("resize",e),clearTimeout(t)}},[e]);const l=r().createElement("div",{ref:s,className:n,onClick:t},e);return o?r().createElement(d.Tooltip,{content:e,placement:"top"},l):l},Le=({rows:e,theme:t,onFilterClick:n})=>{const a=(0,d.useStyles2)(ze);return r().createElement("div",{className:a.container},r().createElement("table",{className:a.table},r().createElement("thead",null,r().createElement("tr",{className:a.headerRow},r().createElement("th",{className:a.headerCell},r().createElement("span",null,"Exception Details"),r().createElement(d.Tooltip,{content:"Exception type, message, service, and last seen timestamp. Use the include/exclude buttons to include or exclude exception messages, or click on type or message to filter."},r().createElement(d.Icon,{name:"info-circle",size:"sm",className:a.headerIcon}))),r().createElement("th",{className:a.headerCellOccurrences},r().createElement("span",null,"Occurrences"),r().createElement(d.Tooltip,{content:"Total number of times this exception has occurred"},r().createElement(d.Icon,{name:"info-circle",size:"sm",className:a.headerIcon}))),r().createElement("th",{className:a.headerCellFrequency},r().createElement("span",null,"Frequency"),r().createElement(d.Tooltip,{content:"Visual representation of exception frequency over time"},r().createElement(d.Icon,{name:"info-circle",size:"sm",className:a.headerIcon}))))),r().createElement("tbody",null,e.map((e,s)=>r().createElement("tr",{key:s,className:a.tableRow},r().createElement("td",{className:a.tableCell},r().createElement("div",{className:a.exceptionDetailsContainer},r().createElement("div",{className:a.contentWithButtonsContainer},r().createElement("div",{className:a.exceptionContentContainer},r().createElement("div",{className:a.exceptionType,onClick:()=>{return t=e.type,void(null==n||n("event.exception.type",t));var t}},e.type),r().createElement($e,{message:e.message,onClick:()=>{return t=e.message,void(null==n||n("event.exception.message",t));var t},className:a.exceptionMessage}),r().createElement("div",{className:a.exceptionMeta},e.service&&r().createElement("span",{className:a.metaItem},r().createElement(d.Icon,{name:"cube",size:"xs"}),r().createElement("span",null,e.service)),e.lastSeen&&r().createElement("span",{className:a.metaItem},r().createElement(d.Icon,{name:"clock-nine",size:"xs"}),r().createElement("span",null,e.lastSeen)))),r().createElement("div",{className:a.filterButtonsContainer},r().createElement("button",{className:a.filterButton,onClick:t=>((e,t)=>{t.stopPropagation(),null==n||n("event.exception.message",e,"=",!0)})(e.message,t),"aria-label":"Include exception message"},"Include"),r().createElement("button",{className:a.filterButton,onClick:t=>((e,t)=>{t.stopPropagation(),null==n||n("event.exception.message",e,"!=",!0)})(e.message,t),"aria-label":"Exclude exception message"},"Exclude"))))),r().createElement("td",{className:a.tableCellOccurrences},r().createElement("div",{className:a.occurrencesCell},e.occurrences)),r().createElement("td",{className:a.tableCellFrequency},r().createElement(De,{seriesData:e.timeSeries,theme:t})))))))},ze=e=>{const t={padding:e.spacing(2),fontWeight:e.typography.fontWeightMedium,color:e.colors.text.secondary,backgroundColor:e.colors.background.secondary,"> span":{marginRight:e.spacing(.5)}},n=e=>Ae(Ie({},t),{textAlign:"center",width:e}),a={padding:e.spacing(2),verticalAlign:"middle"},r=e=>Ae(Ie({},a),{textAlign:"center",width:e});return{container:(0,u.css)({width:"100%",overflowX:"auto",overflowY:"auto"}),table:(0,u.css)({width:"100%",borderCollapse:"collapse",backgroundColor:e.colors.background.primary,tableLayout:"fixed"}),headerRow:(0,u.css)({borderBottom:`1px solid ${e.colors.border.weak}`}),headerCell:(0,u.css)(Ae(Ie({},t),{textAlign:"left",width:"auto"})),headerCellOccurrences:(0,u.css)(n("150px")),headerCellFrequency:(0,u.css)(n("220px")),headerIcon:(0,u.css)({color:e.colors.text.secondary,opacity:.7}),tableRow:(0,u.css)({borderBottom:`1px solid ${e.colors.border.weak}`,"&:hover":{backgroundColor:e.colors.background.secondary}}),tableCell:(0,u.css)(a),tableCellOccurrences:(0,u.css)(r("150px")),tableCellFrequency:(0,u.css)(r("220px")),occurrencesCell:(0,u.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium,color:e.colors.text.primary}),exceptionDetailsContainer:(0,u.css)({display:"flex",flexDirection:"column",height:"100%"}),contentWithButtonsContainer:(0,u.css)({display:"flex",alignItems:"center",justifyContent:"space-between",gap:e.spacing(2),width:"100%"}),exceptionContentContainer:(0,u.css)({display:"flex",flexDirection:"column",flex:1,minWidth:0}),filterButtonsContainer:(0,u.css)({display:"flex",flexDirection:"row",gap:e.spacing(1),flexShrink:0}),filterButton:(0,u.css)({display:"flex",alignItems:"center",justifyContent:"center",padding:`${e.spacing(.5)} ${e.spacing(1)}`,background:"transparent",border:`1px solid ${e.colors.border.medium}`,borderRadius:e.shape.radius.default,cursor:"pointer",color:e.colors.text.secondary,fontSize:e.typography.bodySmall.fontSize,fontWeight:e.typography.fontWeightMedium,transition:"all 0.2s ease-in-out",whiteSpace:"nowrap","&:hover":{background:e.colors.background.secondary,color:e.colors.text.primary,borderColor:e.colors.border.strong},"&:active":{transform:"scale(0.95)"}}),exceptionType:(0,u.css)({fontWeight:e.typography.fontWeightMedium,color:e.colors.text.link,cursor:"pointer",marginBottom:e.spacing(.5),"&:hover":{textDecoration:"underline"}}),exceptionMessage:(0,u.css)({fontSize:e.typography.body.fontSize,color:e.colors.text.primary,lineHeight:1.4,wordBreak:"break-word",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",cursor:"pointer","&:hover":{color:e.colors.text.link}}),exceptionMeta:(0,u.css)({display:"flex",alignItems:"center",gap:e.spacing(2),fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,marginTop:e.spacing(.5)}),metaItem:(0,u.css)({display:"flex",alignItems:"center",gap:e.spacing(.5)})}};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 Be extends o.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 o.G1({direction:"row",children:[new g.G({component:Me})]})});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.extractExceptionRows(e),n=t.reduce((e,t)=>e+t.occurrences,0);this.setState({dataState:"done",exceptionsCount:n,exceptionRows:t})}}else this.setState({dataState:"empty",exceptionsCount:0,panel:new o.G1({children:[new o.vA({body:new v.v({message:l.PL,remedyMessage:l.a5,padding:"32px"})})]})})}extractExceptionRows(e){const t=e.series[0];if(!t)return[];const n=t.fields.find(e=>"exception.message"===e.name),a=t.fields.find(e=>"exception.type"===e.name),r=t.fields.find(e=>"service.name"===e.name),s=t.fields.find(e=>"time"===e.name);if(!n||!n.values.length)return[];const o=function(e,t,n,a){const r=new Map,s=new Map,o=new Map,i=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=Pe(u);if(r.set(e,(r.get(e)||0)+1),!s.has(e)&&d&&s.set(e,d),!i.has(e)&&p&&i.set(e,p),m){const t="string"==typeof m?parseFloat(m):m;c.has(e)||c.set(e,[]),c.get(e).push(t),t>(o.get(e)||0)&&o.set(e,t)}}}for(const[e,t]of c.entries()){const n=Ce(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])=>i.get(e)||""),timeSeries:u.map(([e])=>l.get(e)||[]),lastSeenTimes:u.map(([e])=>{const t=o.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`})}}(n,a,s,r);return o.messages.map((e,t)=>({type:o.types[t]||"Unknown",message:e,service:o.services[t]||"",lastSeen:o.lastSeenTimes[t]||"",occurrences:o.occurrences[t]||0,timeSeries:o.timeSeries[t]||[]}))}createTransformation(){return()=>e=>e.pipe((0,b.map)(e=>e))}getExceptionsCount(){return this.state.exceptionsCount||0}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}({$data:new o.Es({$data:new o.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));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)}))})}}Ve(Be,"Component",({model:e})=>{const t=(0,d.useStyles2)(Fe),n=(0,d.useTheme2)(),{dataState:a,exceptionRows:s}=e.useState();return r().createElement("div",{className:t.container},r().createElement("div",{className:t.header},r().createElement("div",{className:t.description},"View exception details from errored traces for the current set of filters.")),"loading"===a&&r().createElement("div",{className:t.loadingContainer},r().createElement(h.A,{count:10,height:120,baseColor:n.colors.background.secondary,highlightColor:n.colors.background.primary})),"done"===a&&s&&s.length>0&&r().createElement(Le,{rows:s,theme:n,onFilterClick:(t,n,a="=",r=!1)=>{const s=(0,m.gG)(e);(0,Z.Qt)(s,t,n,a,r);(0,m.YX)(e).setActionView("traceList")}}),"empty"===a&&r().createElement(M.p,{message:"No exceptions found",remedyMessage:l.a5,padding:n.spacing(4)}))});const Fe=e=>({container:(0,u.css)({display:"flex",flexDirection:"column",height:"100%"}),header:(0,u.css)({display:"flex",flexDirection:"column"}),description:(0,u.css)({fontSize:e.typography.h6.fontSize,padding:`${e.spacing(1)} 0 ${e.spacing(2)} 0`}),loadingContainer:(0,u.css)({padding:e.spacing(2)})}),Me=()=>{const e=(0,d.useStyles2)(Re),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 Re(e){return{container:(0,u.css)({padding:e.spacing(2)})}}var We=n(89938),He=n(92468);function Ge(e){var t,n,a,r;let s="";if(!e)return"{}";e.query&&(s+=e.query);const o=[];(null===(t=e.duration)||void 0===t?void 0:t.from.length)&&o.push(`duration >= ${e.duration.from}`),(null===(n=e.duration)||void 0===n?void 0:n.to.length)&&o.push(`duration <= ${e.duration.to}`),o.length&&(s.length&&(s+=" && "),s+=o.join(" && "));const i=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${i&&l?`, ${1e9*i}, ${1e9*l}`:""}`}function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ue(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){qe(e,t,n[t])})}return e}function Ye(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 Xe(e,t,n,a){var r;const i=o.jh.getTimeRange(e),c=o.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:{}},Ye(Ue({},f),{values:[f.values[e]],labels:{[u]:p.values[e]},config:{displayName:"Baseline"}}),Ye(Ue({},g),{values:[g.values[e]]})]});return new J.hE({$data:new o.Es({$data:new o.Zv({data:{timeRange:i.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 o.gF({templateColumns:l.MV,autoRows:"200px",isLazy:!0,children:[]}),getLayoutChild:Qe({},Ke,n,a)})}const Ke=e=>e.name||"No name available";function Qe(e,t,n,a){return(r,s)=>{const i=s.name?e[s.name]:void 0,l=new o.Zv({data:Ye(Ue({},r),{series:[Ue({},s)]})});var c;if(i)return null===(c=i.state.body)||void 0===c||c.setState({$data:l}),i;const u=(0,We.x)(a).setTitle(t(s)).setData(l),d=n(s);d&&u.setHeaderActions(d);const m=new o.xK({body:u.build()});return s.name&&(e[s.name]=m),m}}class Ze extends o.Bs{}!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Ze,"Component",({model:e})=>e.state.attribute?r().createElement(d.Button,{variant:"secondary",size:"sm",fill:"solid",onClick:()=>e.state.onClick()},"Inspect"):null);var Je=n(64917);function et(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class tt extends o.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))}),o.jh.getTimeRange(this).subscribeToState(()=>{this.updateData()}),this.setBody(e)}updateData(){const e=(0,m.YX)(this),t=o.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 o.Es({$data:new o.dt({datasource:l.Vl,queries:[nt(n,a,Ge(e.state.selection))]}),transformations:[()=>e=>e.pipe((0,b.map)(e=>{const t=at(e);return Object.entries(t).filter(([e,t])=>!s.includes(e)).map(([e,t])=>rt(e,t)).sort((e,t)=>{const n=(0,Je.p)(e),a=(0,Je.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){et(e,t,n[t])})}return e}({},e)),et(this,"_variableDependency",new o.Sh(this,{variableNames:[l.Ao,l.CE],onReferencedVariableValueChanged:this.onReferencedVariableValueChanged.bind(this)})),et(this,"getFilteredAttributes",e=>"nestedSetParent<0"===e?["rootName","rootServiceName"]:[]),et(this,"setBody",e=>{const t=(0,m.zY)(this);this.setState({body:e.hasAllValue()||e.getValue()===l.y2?(0,We.nF)(e=>new Ze({attribute:e.name,onClick:()=>this.onChange(e.name||"")}),t.getMetricFunction()):Xe(this,e,t=>[new Z.Ms({frame:t,labelKey:e.getValueText(),onClick:this.onAddToFiltersClick})],t.getMetricFunction())})}),et(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 nt(e,t,n){const a=`${(0,He.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:[]}}et(tt,"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(),o=(0,d.useStyles2)(ot);return r().createElement("div",{className:o.container},r().createElement("div",{className:o.controls},r().createElement(be,{description:"Attributes are ordered by the difference between the baseline and selection values for each value.",tags:[{label:"Baseline",color:"duration"===a.getMetricFunction()?We.bT:(0,d.getTheme)().visualization.getColorByName("semi-dark-green")},{label:"Selection",color:"duration"===a.getMetricFunction()?We._E:(0,d.getTheme)().visualization.getColorByName("semi-dark-red")}]}),t instanceof K&&r().createElement("div",{className:o.controlsRight},r().createElement(t.Selector,{model:t}))),r().createElement("div",{className:o.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 at=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},{}),rt=(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:{}},o={name:"Selection",type:s.FieldType.number,values:[],config:{}},i=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=st(t,"baseline",i),c=st(t,"selection",i);return n.length=Object.keys(i).length,Object.entries(i).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),o.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,o],n};function st(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 ot(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 it(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class lt extends o.Bs{_onActivate(){const e=(0,m.H_)(this).getValue(),t=(0,m.YX)(this);if(!t.state.selection){const n=(0,Je.F)(e);n&&t.setState({selection:n})}this.updateBody()}updateBody(){this.setState({body:new tt({})})}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){it(e,t,n[t])})}return e}({},e)),it(this,"_variableDependency",new o.Sh(this,{variableNames:[l.PU]})),this.addActivationHandler(this._onActivate.bind(this))}}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}it(lt,"Component",({model:e})=>{const{body:t}=e.useState();return t&&r().createElement(t.Component,{model:t})});const ut=(0,a.memo)(function({SpanLatencyComponent:e,policyId:t,timeRange:n}){const a=(0,d.useStyles2)(mt);return r().createElement("div",{className:a.container},r().createElement(e,{policyId:t,timeRange:n}))},(e,t)=>e.policyId===t.policyId&&e.timeRange.from.valueOf()===t.timeRange.from.valueOf()&&e.timeRange.to.valueOf()===t.timeRange.to.valueOf());class dt extends o.Bs{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}({},e))}}function mt(){return{container:(0,u.css)({label:"container",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}}ct(dt,"Component",({model:e})=>{var t;const n=(0,d.useStyles2)(mt),{isLoading:a,component:s}=(0,c.usePluginComponent)("grafana-adaptivetraces-app/span-latency/v1"),i=(0,m.gG)(e),{filters:l}=i.useState(),u=null===(t=l.find(e=>"instrumentation.tailsampling.policy"===e.key))||void 0===t?void 0:t.value.replace(".*/",""),p=o.jh.getTimeRange(e),{value:f}=p.useState();return a?r().createElement("div",{className:n.container},r().createElement(d.LoadingPlaceholder,{text:"Loading Adaptive Traces..."})):s&&u?r().createElement(ut,{SpanLatencyComponent:s,policyId:u,timeRange:f}):null});var pt=n(13518);const ft=[{displayName:function(e){return"Breakdown"},value:"breakdown",getScene:function(){return new o.vA({body:new ke({})})}},{displayName:vt,value:"structure",getScene:function(e){return new o.vA({body:new G({metric:e})})}},{displayName:function(e){return"Comparison"},value:"comparison",getScene:function(){return new o.vA({body:new lt({})})}},{displayName:function(e){return"Exceptions"},value:"exceptions",getScene:function(){return new o.vA({body:new Be({})})}},{displayName:function(e){return"errors"===e?"Errored traces":"duration"===e?"Slow traces":"Traces"},value:"traceList",getScene:function(){return new o.vA({body:new I({})})}},{displayName:function(){return"Adaptive Traces"},value:"adaptiveTraces",getScene:function(){return new o.vA({body:new dt({})})}}];class gt extends o.Bs{}function vt(e){switch(e){case"rate":return"Service structure";case"errors":return"Root cause errors";case"duration":return"Root cause latency"}}function ht(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}(gt,"Component",({model:e})=>{var t,n,i,l;const u=(0,d.useStyles2)(ht),[p,g]=(0,a.useState)(0),v=(0,m.YX)(e),h=(0,m.zY)(e),{actionView:b}=v.useState(),{value:y}=h.getMetricVariable().useState(),{allowedActionViews:w}=h.useState(),x=o.jh.getData(e).useState(),S=null===(i=x.data)||void 0===i||null===(n=i.series)||void 0===n||null===(t=n[0])||void 0===t?void 0:t.length,{component:E}=(0,c.usePluginComponent)("grafana-adaptivetraces-app/span-latency/v1"),O=(0,m.gG)(e),{filters:k}=O.useState(),j=k.some(e=>"instrumentation.tailsampling.policy"===e.key),C=ft.filter(e=>("exceptions"!==e.value||"errors"===y)&&(!!("adaptiveTraces"!==e.value||j&&E)&&(!(null==w?void 0:w.length)||w.includes(e.value)))),P=(0,m.h7)(e),N=o.jh.getTimeRange(e),{value:D}=P.useState(),{value:_}=N.useState();return(0,a.useEffect)(()=>{if("errors"!==y)return void g(0);const t=(0,m.dB)(e);if(!t)return void g(0);g(t.getExceptionsCount());const n=t.subscribeToState((e,t)=>{e.exceptionsCount!==t.exceptionsCount&&g(e.exceptionsCount||0)});return()=>{n.unsubscribe()}},[y,e,b,k,D,_]),(0,a.useEffect)(()=>{var e;if(!v.state.hasSetView)return h.state.embedded&&(null===(e=x.data)||void 0===e?void 0:e.state)===s.LoadingState.Done&&void 0!==S&&S>20?(v.setState({hasSetView:!0}),void v.setActionView("traceList")):void 0},[null===(l=x.data)||void 0===l?void 0:l.state,h.state.embedded,v,S]),(0,pt.A)(()=>{1===C.length&&v.setActionView(C[0].value)}),1===C.length?null:r().createElement(d.Box,null,r().createElement("div",{className:u.actions},r().createElement(d.Stack,{gap:1},r().createElement(f,{exploration:h}))),r().createElement(d.TabsBar,null,C.map((e,t)=>r().createElement(d.Tab,{key:t,label:e.displayName(y),active:b===e.value,onChangeTab:()=>v.setActionView(e.value),counter:"traceList"===e.value?S:"exceptions"===e.value?p:void 0}))))});var bt=n(70892),yt=n(8855),wt=n(22860);function xt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class St extends o.Bs{_onActivate(){this.setState({$data:new o.Es({$data:new ae.$({maxDataPoints:"duration"===this.state.metric?24:64,datasource:l.Vl,queries:["duration"===this.state.metric?(0,bt.z)():(0,ee.l)({metric:this.state.metric,sample:!0})]}),transformations:"duration"===this.state.metric||this.state.embeddedMini?[...(0,ce.h)()]:[...(0,ce.G)((0,m.w$)(this))]}),panel:this.getVizPanel(this.state.metric)})}getVizPanel(e){return new o.G1({direction:"row",children:[new o.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,yt.dX)().setTitle("Histogram by duration").setHoverHeader(!0).setDisplayMode("transparent").build()}constructor(e){var t;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){xt(e,t,n[t])})}return e}({isStreaming:!1,embeddedMini:null!==(t=e.embeddedMini)&&void 0!==t&&t},e)),this.addActivationHandler(()=>{this._onActivate();const e=o.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 o.G1({children:[new o.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 o.G1({direction:"column",maxHeight:Tt,height:Tt,children:[new g.G({component:()=>(0,J.NO)(1)})]})})}))})}}function Et(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:Tt,'[class*="loading-state-scene"]':{height:Tt,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 Ot(e,t,n,a,r,s,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.done?t(l):Promise.resolve(l).then(a,r)}function kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jt(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){kt(e,t,n[t])})}return e}function Ct(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}xt(St,"Component",({model:e})=>{const{panel:t,isStreaming:n,embeddedMini:a}=e.useState(),s=(0,d.useStyles2)(Et),o=(0,m.zY)(e),i=t=>{if((0,y.EE)(y.NO.common,y.ir.common.metric_changed,{metric:e.state.metric,location:"panel"}),o.onChangeMetricFunction(e.state.metric),t){const e=(0,m.__)(o);c.locationService.push(e)}};if(t)return r().createElement("div",{className:(0,u.css)([s.container,s.clickable]),onClick:()=>i(a)},!a&&r().createElement("div",{className:s.headerWrapper},r().createElement(d.RadioButtonList,{className:s.radioButton,name:`metric-${e.state.metric}`,options:[{title:"",value:"selected"}],onChange:()=>i(a),value:"not-selected"})),n&&r().createElement("div",{className:s.indicatorWrapper},r().createElement(wt.M,{isStreaming:!0,iconSize:10})),r().createElement(t.Component,{model:t}))});class Pt extends o.Bs{_onActivate(){const e=new URLSearchParams(window.location.search).get("actionView");e&&ft.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,Je.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=o.jh.getTimeRange(this),i=null===(r=e.selection)||void 0===r||null===(a=r.timeRange)||void 0===a?void 0:a.from;if(i&&i<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),t=e.getMetricVariable().getValue(),n=ft.find(e=>e.value===this.state.actionView),a=e.state.embedded,r=e.state.embeddedMini;this.setState({body:$t(t,n?[null==n?void 0:n.getScene(t)]:void 0,a,r)}),void 0===this.state.actionView&&this.setActionView("breakdown")}updateExceptionsScene(e){if("errors"===e){if(!this.state.exceptionsScene){const e=new Be({});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:o.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 o(e){Ot(s,a,r,o,i,"next",e)}function i(e){Ot(s,a,r,o,i,"throw",e)}o(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=ft.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=ft.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 o.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,n;const a=this.state.selection,r=null!==(t=null===(n=(0,m.gi)(this).getValue())||void 0===n?void 0:n.toString())&&void 0!==t?t:"";this.setState({$data:new o.Es({$data:new o.dt({datasource:l.Vl,queries:[It(e,r,a)],$timeRange:At(a)}),transformations:[...l.s9,...Lt]})})}constructor(e){var t;super(jt({body:null!==(t=e.body)&&void 0!==t?t:new o.G1({children:[]})},e)),kt(this,"_urlSync",new o.So(this,{keys:["actionView","selection"]})),this.addActivationHandler(this._onActivate.bind(this))}}kt(Pt,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,d.useStyles2)(Dt);return r().createElement(r().Fragment,null,r().createElement("div",{className:n.title},r().createElement(d.Tooltip,{content:r().createElement(Nt,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 Nt=()=>{const e=(0,d.useStyles2)(Dt);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 Dt(e){return{title:(0,u.css)({label:"title",display:"flex",gap:e.spacing.x0_5,fontSize:e.typography.bodySmall.fontSize,padding:`${e.spacing(1)} 0 ${e.spacing(.5)} 0`,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 _t=240,Tt=(_t-8)/2;function It(e,t,n){const a=""!==t?` | select(${t})`:"";let r="";switch(e){case"errors":r=" && status = error";break;case"duration":if(n){var s,o;const e=[];(null===(s=n.duration)||void 0===s?void 0:s.from.length)&&e.push(`duration >= ${n.duration.from}`),(null===(o=n.duration)||void 0===o?void 0:o.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 At(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 o.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 $t(e,t,n,a){const r=new St("rate"===e?{embeddedMini:a,metric:"errors"}:{embeddedMini:a,metric:"rate"}),l=new St("duration"===e?{embeddedMini:a,metric:"errors"}:{embeddedMini:a,metric:"duration"}),c="undefined"!=typeof window&&window.innerWidth<700,u=[new o.G1({direction:a?c?"row":"column":"row",ySizing:"content",children:[new o.vA({minHeight:a?Tt:_t,maxHeight:a?Tt:_t,width:a?void 0:"60%",body:new i.Mu({embeddedMini:a})}),new o.G1({direction:"column",minHeight:_t,maxHeight:_t,children:[new o.vA({minHeight:Tt,maxHeight:Tt,height:Tt,body:r}),new o.vA({minHeight:Tt,maxHeight:Tt,height:Tt,ySizing:"fill",body:l})]})]})];return a||(u.push(new o.vA({ySizing:"content",body:new gt({})})),t&&u.push(...t)),new o.G1({direction:"column",$behaviors:[new o.Gg.CursorSync({key:"metricCrosshairSync",sync:s.DashboardCursorSync.Crosshair})],children:u})}const Lt=[()=>e=>e.pipe((0,b.map)(e=>e.map(e=>Ct(jt({},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}}}]},8855:(e,t,n)=>{"use strict";n.d(t,{QA:()=>o,dX:()=>i,xx:()=>l});var a=n(31051),r=n(76338),s=n(15056);function o(e,t){const n=(0,a.YX)(e),o=i().setHoverHeader(!0).setOption("selectionMode","xy").build();return o.setState({extendPanelContext:(e,s)=>{s.onSelectRange=e=>{var s,o,i,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===(o=u.x)||void 0===o?void 0:o.to)||0)/1e3)},d.timeRange.from===d.timeRange.to)return;const m=l(((null===(i=e[0].y)||void 0===i?void 0:i.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:o})]})}const i=()=>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`}},10806:(e,t,n)=>{"use strict";n.d(t,{D9:()=>m,Ms:()=>u,Qt:()=>d});var a=n(85959),r=n.n(a),s=n(15056),o=n(82007),i=n(31051),l=n(33761);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,t,n;const a=(0,i.gG)(this),r=null!==(e=null===(n=this.state.frame.fields.find(e=>e.labels))||void 0===n?void 0:n.labels)&&void 0!==e?e:{};if(this.state.labelKey){if(!r[this.state.labelKey])return}else if(1!==Object.keys(r).length)return;const s=null!==(t=this.state.labelKey)&&void 0!==t?t:Object.keys(r)[0],o=(0,i.ee)(this.state.frame,this.state.labelKey);d(a,s,o),this.state.onClick({labelName:s})})}}c(u,"Component",({model:e})=>{var t,n,a,s,l,c;const u=null!==(t=null===(a=e.state)||void 0===a?void 0:a.labelKey)&&void 0!==t?t:"",d=null===(s=e.state)||void 0===s?void 0:s.frame.fields.filter(e=>"time"!==e.type),p=null!==(n=null==d||null===(c=d[0])||void 0===c||null===(l=c.labels)||void 0===l?void 0:l[u])&&void 0!==n?n:"";return m((0,i.gG)(e),u,p.replace(/"/g,""))?r().createElement(r().Fragment,null):r().createElement(o.Button,{variant:"primary",size:"sm",fill:"text",onClick:e.onClick,icon:"search-plus"},"Add to filters")});const d=(e,t,n,a="=",r=!1)=>{let s;history.pushState(null,""),s=r?e.state.filters:e.state.filters.filter(e=>e.key===l.iH||e.key!==t),e.setState({filters:[...s,{key:t,operator:a,value:n}]})},m=(e,t,n)=>(0,i.gG)(e).state.filters.find(e=>e.key===t&&e.value===n)},17975:(e,t,n)=>{"use strict";n.d(t,{KS:()=>m,a3:()=>d,oM:()=>p});var a=n(93241),r=n(15056),s=n(42689);const o=1e3,i=1e6,l=6e7,c=36e8,u=(Math.log10(o),[{unit:"d",microseconds:864e8,ofPrevious:24},{unit:"h",microseconds:c,ofPrevious:60},{unit:"m",microseconds:l,ofPrevious:60},{unit:"s",microseconds:i,ofPrevious:1e3},{unit:"ms",microseconds:o,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 o=Math.round(s);o===t.ofPrevious?(r+=1,s=0):s=o;const i=`${r}${t.unit}`;if(0===s)return i;return`${i} ${`${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(),o=n.state.value.to.unix(),i=(0,s.duration)(o-a,"s");return`${m(i.asSeconds(),t)}s`}},22860:(e,t,n)=>{"use strict";n.d(t,{M:()=>i});var a=n(85959),r=n.n(a),s=n(82007),o=n(46089);const i=({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,o.css)({width:`${t}px`,height:`${t}px`,backgroundColor:e.colors.success.text,fill:e.colors.success.text,borderRadius:"50%",display:"inline-block"})})},31051:(e,t,n)=>{"use strict";n.d(t,{BB:()=>Ke,W6:()=>Ue,xo:()=>Xe,_g:()=>Te,Is:()=>He,U4:()=>_e,_b:()=>We,u1:()=>Pe,dB:()=>je,gG:()=>Fe,pl:()=>$e,Ey:()=>Re,oT:()=>Oe,ee:()=>Ie,F3:()=>Ve,Kf:()=>ze,GK:()=>qe,H_:()=>Be,Fp:()=>Ne,w$:()=>Qe,tI:()=>Ae,h7:()=>Me,gi:()=>Le,YX:()=>ke,zY:()=>Ee,__:()=>De,Et:()=>Ye,em:()=>Ce,H:()=>Ge});var a=n(87781),r=n(15056),s=n(65082),o=n(61829),i=n(7921),l=n(46089),c=n(85959),u=n.n(c),d=n(92468),m=n(82007),p=n(2645),f=n(18531),g=n(76338);const v=e=>{const{index:t,type:n,label:a,labelTitle:r,value:s,valueTitle:o,url:i}=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},o)),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(i)}},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),i=e=>{var t,n;const a=e.fields.find(e=>"time"!==e.name);return null!==(t=null==a||null===(n=a.labels)||void 0===n?void 0:n["resource.service.name"].replace(/"/g,""))&&void 0!==t?t:"Service name not found"},l=e=>{const t={"var-filters":`resource.service.name|=|${i(e)}`,"var-metric":"errors"};return a.urlUtil.renderUrl(o.D5,t)},c=e=>{var t,n;const a=e.fields.find(e=>"time"!==e.name);return null!==(t=null==a||null===(n=a.values)||void 0===n?void 0:n.reduce((e,t)=>"number"!=typeof e||isNaN(e)?t:e+t,0))&&void 0!==t?t: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:i(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(17975);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 S(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 i,l;const e=null==s||null===(i=s.values.map((e,t)=>t))||void 0===i?void 0:i.sort((e,t)=>(null==s?void 0:s.values[t])-(null==s?void 0:s.values[e])),c=t[0].fields.map(t=>S(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}({},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"),o.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(o.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 k=e=>{var t;const{series:n,type:r}=e,s=(0,m.useStyles2)(j),i=e=>{var t,n;const a=e.fields.find(e=>"time"!==e.name);return null!==(t=null==a||null===(n=a.labels)||void 0===n?void 0:n["resource.service.name"].replace(/"/g,""))&&void 0!==t?t:"Service name not found"},l=e=>{const t={"var-filters":`resource.service.name|=|${i(e)}`,"var-metric":"duration"};return a.urlUtil.renderUrl(o.D5,t)},c=e=>{var t,n;const a=e.fields.find(e=>"time"!==e.name);return null!==(t=null==a||null===(n=a.values)||void 0===n?void 0:n.reduce((e,t)=>"number"!=typeof e||isNaN(e)?t:e+t,0))&&void 0!==t?t: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:i(e),labelTitle:"Service",value:(0,w.a3)(1e6*c(e)),valueTitle:"p90",url:l(e)}))))};function j(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(k,{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 N extends r.Bs{}var 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}))},(_="Component")in(D=N)?Object.defineProperty(D,_,{value:T,enumerable:!0,configurable:!0,writable:!0}):D[_]=T;var $=n(33049),L=n(77197);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 V(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 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}class F extends r.Bs{constructor(e){super(V({$data:new r.dt({datasource:o.Vl,queries:[B(V({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,o,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 N({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!==(u=null===(d=t.data)||void 0===d?void 0:d.series)&&void 0!==u?u:[]);if(null==n?void 0:n.length){var m;const{minDuration:t}=(0,L.jD)(n);this.setState({panel:new r.G1({children:[new F({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 N({message:Ne(e.title.toLowerCase()),title:e.title,type:e.type})]})});else(null===(o=t.data)||void 0===o?void 0:o.state)===a.LoadingState.Error?this.setState({panel:new r.G1({children:[new N({message:Pe(t),title:e.title,type:e.type})]})}):this.setState({panel:new r.G1({direction:"column",maxHeight:i.VV,height:i.VV,children:[new p.G({component:()=>R()})]})})}))})}}function M(){return{container:(0,l.css)({minWidth:"350px",width:"-webkit-fill-available"})}}z(F,"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)(W);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 W(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 H=()=>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 q=n(81159);function U(e,t,n,a,r,s,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.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 o(e){U(s,a,r,o,i,"next",e)}function i(e){U(s,a,r,o,i,"throw",e)}o(void 0)})}}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 K(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(o.$V),e.delete(`var-${o.pf}`),e.delete(`var-${o.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 o.D5;const t=new URLSearchParams(e.params),n=Object.fromEntries(t.entries()),r=t.getAll(`var-${o.Ao}`),s=a.urlUtil.renderUrl(o.D5,K(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}({},n),{[`var-${o.Ao}`]:r}));return s},ee=(e,t)=>Y(function*(){try{yield e.setItem(o.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(o.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=>!oe(t,e));yield ee(e,n)})(),se=(e,t)=>Y(function*(){return(yield te(e)).some(e=>oe(t,e))})(),oe=(e,t)=>{const n=Q(new URLSearchParams(e.params)),a=Q(new URLSearchParams(t.params)),r=`var-${o.Ao}`,s=Array.from(n.keys()).filter(e=>e!==r),i=Array.from(a.keys()).filter(e=>e!==r);if(s.length!==i.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 ie=n(33761);const le=({bookmark:e})=>{let{actionView:t,primarySignal:n,metric:a,filters:r}=(e=>{var t,n,a;if(!e||!e.params)return{actionView:"",primarySignal:"",filters:"",metric:""};const r=new URLSearchParams(e.params);return{actionView:null!==(t=r.get(o.V2))&&void 0!==t?t:"",primarySignal:null!==(n=r.get(o.W5))&&void 0!==n?n:"",filters:r.getAll(`var-${o.Ao}`).join(o.x5),metric:null!==(a=r.get(`var-${o.PU}`))&&void 0!==a?a:""}})(e);const s=(0,m.useStyles2)(ce);return r=((e,t)=>{const n=(e=>{const t=(0,ie.$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(o.x5);return a=a.filter(e=>e!==n),a.join(o.x5)})(r,n),r=r.replace(/\|=\|/g," = "),r=r.replace(o.$d,"").replace(o.zd,"").replace(o.X0,""),u().createElement("div",{title:r},u().createElement("div",null,u().createElement("b",null,Ke(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,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.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 o(e){ue(s,a,r,o,i,"next",e)}function i(e){ue(s,a,r,o,i,"throw",e)}o(void 0)})}}const me=()=>{const e=(0,m.useStyles2)(pe),{getBookmarks:t,removeBookmark:n}=Z(),[a,r]=(0,c.useState)([]),[s,o]=(0,c.useState)(!0),[i,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{de(function*(){o(!0);try{const e=yield t();r(e)}catch(e){console.error("Error loading bookmarks:",e),r([])}finally{o(!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,{"aria-label":"Remove bookmark",variant:"secondary",fill:"text",icon:"trash-alt",disabled:i,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,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.done?t(l):Promise.resolve(l).then(a,r)}function he(e){return(t=function*(){const t=r.jh.interpolate(e,o.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(o.$d)}),n=e.filter(e=>{var t;return null===(t=e.text)||void 0===t?void 0:t.includes(o.zd)}),a=e.filter(e=>{var t,n,a,r;return!((null===(t=e.text)||void 0===t?void 0:t.includes(o.$d))||(null===(n=e.text)||void 0===n?void 0:n.includes(o.zd))||(null===(a=e.text)||void 0===a?void 0:a.includes(o.X0))||(null===(r=e.text)||void 0===r?void 0:r.includes(o.ZV))||-1!==o.uK.concat(o.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 o(e){ve(s,a,r,o,i,"next",e)}function i(e){ve(s,a,r,o,i,"throw",e)}o(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,q.useNavigate)(),{controls:a}=t.useState(),r=(0,m.useStyles2)(ge),s=(0,m.useTheme2)(),i=We(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(H,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(o.D5)}},"Lets 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},i&&u().createElement(m.Stack,{gap:1,alignItems:"center"},u().createElement("div",{className:r.label},"Data source"),u().createElement(i.Component,{model:i})),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}),We(this).subscribeToState(e=>{e.value&&localStorage.setItem(o.cd,e.value.toString())}),Re(this).subscribeToState((t,n)=>{if(t.filters!==n.filters){this.buildPanels(e,t.filters),localStorage.setItem(o.$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`,i=function(e){const t=e.filter(e=>e.key&&e.operator&&e.value).map(e=>be(e)).join(o.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 F({query:{query:`{nestedSetParent < 0 && status = error ${i}} | count_over_time() by (resource.service.name)`,step:s},title:"Errored services",type:"errored-services"})}),new r.xK({body:new F({query:{query:`{nestedSetParent < 0 ${i}} | quantile_over_time(duration, 0.9) by (resource.service.name)`,step:s},title:"Slow services",type:"slowest-services"})}),new r.xK({body:new F({query:{query:`{nestedSetParent<0 ${i}} | histogram_over_time(duration)`},title:"Slow traces",type:"slowest-traces",filter:i})})]})]})})}constructor(e){var t,n,a,s,i;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,i=e.initialDS,new r.Pj({variables:[new r.mI({name:o.EY,label:"Data source",value:i,pluginId:"tempo"}),new r.H9({name:o.zM,datasource:o.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 xe(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)(xe);return u().createElement("div",{className:n.container},u().createElement(fe.Component,{model:e}),t&&u().createElement(t.Component,{model:t}))});var Se=n(96003);function Ee(e){return r.jh.getAncestor(e,s.Nr)}function Oe(e){return r.jh.getAncestor(e,we)}function ke(e){return r.jh.getAncestor(e,i.jc)}function je(e){const t=ke(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!==(t=null==e||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)&&void 0!==t?t:"There are no Tempo data sources"}function Ne(e){return`No data for selected data source and filter. Select another to see ${e}.`}function De(e){const t=r.Go.getUrlState(e);return n=t,a.urlUtil.renderUrl(o.D5,n);var n}function _e(e){return r.jh.interpolate(e,o.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(o.cT,e);if(!(t instanceof r.yP))throw new Error("Percentiles variable not found");return t}function $e(e){const t=r.jh.lookupVariable(o.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(o.gP,e);if(!(t instanceof r.yP))throw new Error("Span list columns variable not found");return t}function ze(e){const t=r.jh.lookupVariable(o.pf,e);if(!(t instanceof r.yP))throw new Error("Latency threshold variable not found");return t}function Ve(e){const t=r.jh.lookupVariable(o.xc,e);if(!(t instanceof r.yP))throw new Error("Partial latency threshold variable not found");return t}function Be(e){const t=r.jh.lookupVariable(o.PU,e);if(!(t instanceof r.yP))throw new Error("Metric variable not found");return t}function Fe(e){const t=r.jh.lookupVariable(o.Ao,e);if(!(t instanceof r.H9))throw new Error("Filters variable not found");return t}function Me(e){const t=r.jh.lookupVariable(o.CE,e);if(!(t instanceof Se.x))throw new Error("Primary signal variable not found");return t}function Re(e){const t=r.jh.lookupVariable(o.zM,e);if(!(t instanceof r.H9))throw new Error("Home filter variable not found");return t}function We(e){const t=r.jh.lookupVariable(o.EY,e);if(!(t instanceof r.mI))throw new Error("Datasource variable not found");return t}function He(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 qe(e){return Be(e).useState().value}function Ue(e){var t,n,a;return null!==(t=null==e||null===(a=e.data)||void 0===a||null===(n=a.series[0].fields)||void 0===n?void 0:n.some(e=>e.values.every(e=>void 0===e)))&&void 0!==t&&t}const Ye=/^-?\d+\.?\d*$/,Xe=e=>Ye.test(e)||"string"!=typeof e||e.startsWith('"')||e.endsWith('"')?e:`"${e}"`,Ke=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 o.vR({traceId:t,spanId:n}),!0)}},33733:(e,t,n)=>{"use strict";n.d(t,{p:()=>v});var a=n(85959),r=n.n(a),s=n(82007),o=n(46089),i=n(71792);const l=n.p+"944c737f589d02ecf603.svg",c=n.p+"e79edcfbe2068fae2364.svg";var u=n(93241);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:o,y:u}=d(),m=(0,s.useStyles2)(p,o,u,n);return r().createElement(i.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,i=n&&n/s,l=t&&t/r,c=null!==i?f(i,-20,5):0,u=null!==l?f(l,-5,5):0;return{svg:(0,o.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(39504);const v=({message:e,remedyMessage:t,imgWidth:n,padding:a})=>{const o=(0,s.useStyles2)(h,a);return r().createElement("div",{className:o.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:o.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,o.css)({width:"100%",display:"flex",justifyContent:"space-evenly",flexDirection:"column",padding:t||0}),remedy:(0,o.css)({marginBottom:e.spacing(4)})}}v.displayName="EmptyState"},33761:(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)},39504:(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"}},50775:(e,t,n)=>{"use strict";n.d(t,{v:()=>u});var a,r,s,o=n(15056),i=n(85959),l=n.n(i),c=n(33733);class u extends o.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},56374:(e,t,n)=>{"use strict";n.d(t,{$:()=>l});var a=n(15056),r=n(17975);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 o(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 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 l extends a.dt{_onActivateStep(){const e=(0,r.oM)(this,this.state.maxDataPoints);this.setState({queries:this.state.queries.map(t=>i(o({},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=>i(o({},t),{step:e}))})}})}constructor(e){super(e),this.addActivationHandler(this._onActivateStep.bind(this))}}},61738:(e,t,n)=>{var a={"./af":99805,"./af.js":99805,"./ar":94449,"./ar-dz":44468,"./ar-dz.js":44468,"./ar-kw":63480,"./ar-kw.js":63480,"./ar-ly":64197,"./ar-ly.js":64197,"./ar-ma":62180,"./ar-ma.js":62180,"./ar-ps":29343,"./ar-ps.js":29343,"./ar-sa":50230,"./ar-sa.js":50230,"./ar-tn":72808,"./ar-tn.js":72808,"./ar.js":94449,"./az":45865,"./az.js":45865,"./be":86627,"./be.js":86627,"./bg":60901,"./bg.js":60901,"./bm":63179,"./bm.js":63179,"./bn":61966,"./bn-bd":90969,"./bn-bd.js":90969,"./bn.js":61966,"./bo":6317,"./bo.js":6317,"./br":46474,"./br.js":46474,"./bs":35961,"./bs.js":35961,"./ca":77270,"./ca.js":77270,"./cs":61564,"./cs.js":61564,"./cv":43239,"./cv.js":43239,"./cy":92366,"./cy.js":92366,"./da":82453,"./da.js":82453,"./de":76601,"./de-at":25027,"./de-at.js":25027,"./de-ch":8101,"./de-ch.js":8101,"./de.js":76601,"./dv":96080,"./dv.js":96080,"./el":12655,"./el.js":12655,"./en-au":46836,"./en-au.js":46836,"./en-ca":22086,"./en-ca.js":22086,"./en-gb":2103,"./en-gb.js":2103,"./en-ie":35964,"./en-ie.js":35964,"./en-il":74379,"./en-il.js":74379,"./en-in":50765,"./en-in.js":50765,"./en-nz":71502,"./en-nz.js":71502,"./en-sg":1152,"./en-sg.js":1152,"./eo":90050,"./eo.js":90050,"./es":43350,"./es-do":49338,"./es-do.js":49338,"./es-mx":51326,"./es-mx.js":51326,"./es-us":89947,"./es-us.js":89947,"./es.js":43350,"./et":18231,"./et.js":18231,"./eu":28512,"./eu.js":28512,"./fa":59083,"./fa.js":59083,"./fi":25059,"./fi.js":25059,"./fil":32607,"./fil.js":32607,"./fo":83369,"./fo.js":83369,"./fr":27390,"./fr-ca":66711,"./fr-ca.js":66711,"./fr-ch":6152,"./fr-ch.js":6152,"./fr.js":27390,"./fy":62419,"./fy.js":62419,"./ga":3002,"./ga.js":3002,"./gd":82533,"./gd.js":82533,"./gl":16557,"./gl.js":16557,"./gom-deva":48944,"./gom-deva.js":48944,"./gom-latn":25387,"./gom-latn.js":25387,"./gu":17462,"./gu.js":17462,"./he":39237,"./he.js":39237,"./hi":49617,"./hi.js":49617,"./hr":36544,"./hr.js":36544,"./hu":60341,"./hu.js":60341,"./hy-am":41388,"./hy-am.js":41388,"./id":75251,"./id.js":75251,"./is":41146,"./is.js":41146,"./it":37891,"./it-ch":80007,"./it-ch.js":80007,"./it.js":37891,"./ja":73727,"./ja.js":73727,"./jv":5198,"./jv.js":5198,"./ka":28974,"./ka.js":28974,"./kk":37308,"./kk.js":37308,"./km":57786,"./km.js":57786,"./kn":84807,"./kn.js":84807,"./ko":61584,"./ko.js":61584,"./ku":61906,"./ku-kmr":75305,"./ku-kmr.js":75305,"./ku.js":61906,"./ky":79190,"./ky.js":79190,"./lb":7396,"./lb.js":7396,"./lo":38503,"./lo.js":38503,"./lt":33010,"./lt.js":33010,"./lv":5192,"./lv.js":5192,"./me":51944,"./me.js":51944,"./mi":56492,"./mi.js":56492,"./mk":2934,"./mk.js":2934,"./ml":61463,"./ml.js":61463,"./mn":8377,"./mn.js":8377,"./mr":78733,"./mr.js":78733,"./ms":18030,"./ms-my":39445,"./ms-my.js":39445,"./ms.js":18030,"./mt":55887,"./mt.js":55887,"./my":87228,"./my.js":87228,"./nb":48294,"./nb.js":48294,"./ne":19559,"./ne.js":19559,"./nl":20600,"./nl-be":78796,"./nl-be.js":78796,"./nl.js":20600,"./nn":9570,"./nn.js":9570,"./oc-lnc":5662,"./oc-lnc.js":5662,"./pa-in":87101,"./pa-in.js":87101,"./pl":56118,"./pl.js":56118,"./pt":29198,"./pt-br":7203,"./pt-br.js":7203,"./pt.js":29198,"./ro":45565,"./ro.js":45565,"./ru":33315,"./ru.js":33315,"./sd":58473,"./sd.js":58473,"./se":11258,"./se.js":11258,"./si":98798,"./si.js":98798,"./sk":26404,"./sk.js":26404,"./sl":7057,"./sl.js":7057,"./sq":25718,"./sq.js":25718,"./sr":45363,"./sr-cyrl":20478,"./sr-cyrl.js":20478,"./sr.js":45363,"./ss":37260,"./ss.js":37260,"./sv":42231,"./sv.js":42231,"./sw":27104,"./sw.js":27104,"./ta":47493,"./ta.js":47493,"./te":57705,"./te.js":57705,"./tet":94457,"./tet.js":94457,"./tg":22727,"./tg.js":22727,"./th":32206,"./th.js":32206,"./tk":33419,"./tk.js":33419,"./tl-ph":77243,"./tl-ph.js":77243,"./tlh":60016,"./tlh.js":60016,"./tr":87020,"./tr.js":87020,"./tzl":8026,"./tzl.js":8026,"./tzm":78537,"./tzm-latn":87899,"./tzm-latn.js":87899,"./tzm.js":78537,"./ug-cn":40818,"./ug-cn.js":40818,"./uk":48478,"./uk.js":48478,"./ur":77893,"./ur.js":77893,"./uz":89133,"./uz-latn":20311,"./uz-latn.js":20311,"./uz.js":89133,"./vi":52179,"./vi.js":52179,"./x-pseudo":92455,"./x-pseudo.js":92455,"./yo":3310,"./yo.js":3310,"./zh-cn":27244,"./zh-cn.js":27244,"./zh-hk":40076,"./zh-hk.js":40076,"./zh-mo":62305,"./zh-mo.js":62305,"./zh-tw":88588,"./zh-tw.js":88588};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=61738},64917:(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"}}},65082:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>ne,oL:()=>re});var a=n(46089),r=n(85959),s=n.n(r),o=n(15056),i=n(18531),l=n(82007),c=n(61829),u=n(31051),d=n(50775),m=n(87781),p=n(2645),f=n(5445),g=n(33049);function v(e,t,n,a,r,s,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.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,u.U4)((0,u.zY)(this)),n=yield(0,i.getDataSourceSrv)().get(e);if(n){var s;const e=n;if(null===(s=e.traceQuery)||void 0===s?void 0:s.timeShiftEnabled){var l,c;const n=o.jh.getTimeRange(this).state.value,a=null===(l=e.traceQuery)||void 0===l?void 0:l.spanStartTimeShift,r=null===(c=e.traceQuery)||void 0===c?void 0:c.spanEndTimeShift,s=n.from.valueOf()-parseInt(a||"0",10),i=n.to.valueOf()+parseInt(r||"0",10),u=(0,m.dateTimeFormat)(s),d=(0,m.dateTimeFormat)(i);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 ${u} to ${d}.`}}}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 o(e){v(s,a,r,o,i,"next",e)}function i(e){v(s,a,r,o,i,"throw",e)}o(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:c.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)===m.LoadingState.Done)this.setState({panel:this.getVizPanel().build()});else if((null===(n=e.data)||void 0===n?void 0:n.state)===m.LoadingState.Loading)this.setState({panel:new p.G({component:y})});else if((null===(a=e.data)||void 0===a?void 0:a.state)===m.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,l.useStyles2)(w);if(t)return s().createElement("div",{className:n.panelContainer},s().createElement(t.Component,{model:t}))});const y=()=>{const e=(0,l.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 x=n(76338);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}class E extends o.Bs{_onActivate(){this.updateBody();(0,u.zY)(this).subscribeToState((e,t)=>{e.traceId===t.traceId&&e.spanId===t.spanId||(this.updateBody(),(0,x.EE)(x.NO.analyse_traces,x.ir.analyse_traces.open_trace,{traceId:e.traceId,spanId:e.spanId}))})}updateBody(){const e=(0,u.zY)(this);e.state.traceId?this.setState({body:new b({traceId:e.state.traceId,spanId:e.state.spanId})}):this.setState({body:new d.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){S(e,t,n[t])})}return e}({},e)),this.addActivationHandler(this._onActivate.bind(this))}}S(E,"Component",({model:e})=>{const{body:t}=e.useState();return t&&s().createElement(t.Component,{model:t})});var O=n(93956),k=n(96003),j=n(33761);class C extends o.Bs{_onActivate(){this.runIssueDetectionQuery();const e=(0,u._b)(this);this._subs.add(e.subscribeToState((e,t)=>{e.value!==t.value&&(this.resetIssues(),this.runIssueDetectionQuery())}))}runIssueDetectionQuery(){const e=(0,u._b)(this),t=(0,m.dateTime)(),n=(0,m.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)===m.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(l.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(l.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=n(7921);function D({serviceName:e,model:t}){const{isLoading:n,component:a}=(0,i.usePluginComponent)("grafana-asserts-app/entity-assertions-widget/v1"),[l,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&&l?s().createElement(a,{size:"md",source:"Traces Drilldown",query:{start:l.from.valueOf(),end:l.to.valueOf(),entityName:e,entityType:"Service",enabled:!0},returnToPrevious:!0}):null}var _=n(44776),T=n(12405),I=n(71508),A=n(47186),$=n(23901);n(91546);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}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){L(e,t,n[t])})}return e}function V(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 B={sm:{width:"25%",minWidth:384},md:{width:"50%",minWidth:568},lg:{width:"75%",minWidth:744}};function F({children:e,onClose:t,closeOnMaskClick:n=!0,scrollableContent:s=!0,title:o,subtitle:i,size:c="md",tabs:u}){const[d,m,p]=function(){const[e,t]=(0,r.useState)(void 0),n=(0,r.useCallback)(e=>{t(M(e.clientX))},[]),a=(0,r.useCallback)(e=>{const n=e.touches[0];t(M(n.clientX))},[]),s=(0,r.useCallback)(e=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)},[n]),o=(0,r.useCallback)(e=>{document.removeEventListener("touchmove",a),document.removeEventListener("touchend",o)},[a]);function i(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",o)}return[e,i,l]}(),f=(0,l.useStyles2)(R),g=(0,l.useStyles2)(W,c),v=(0,l.useStyles2)(l.getDragStyles),h=r.useRef(null),{dialogProps:b,titleProps:y}=(0,_.s)({},h),{overlayProps:w}=(0,T.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 x=r.createElement("div",{className:f.content},e),S=null!=d?d:B[c].width,E=B[c].minWidth;return r.createElement(I.A,{open:!0,onClose:t,placement:"right",getContainer:"#trace-exploration",className:f.drawerContent,rootClassName:f.drawer,classNames:{wrapper:g},styles:{wrapper:{width:S,minWidth:E}},width:"",motion:{motionAppear:!0,motionName:f.drawerMotion},maskClassName:f.mask,maskClosable:n,maskMotion:{motionAppear:!0,motionName:f.maskMotion}},r.createElement("div",V(z({"aria-label":"string"==typeof o?A.Tp.components.Drawer.General.title(o):A.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(l.IconButton,{name:"times",variant:"secondary",onClick:t,"data-testid":A.Tp.components.Drawer.General.close,tooltip:(0,$.t)("grafana-ui.drawer.close","Close")})),"string"==typeof o?r.createElement("div",{className:f.titleWrapper},r.createElement(l.Text,z({element:"h3"},y),o),i&&r.createElement("div",{className:f.subtitle,"data-testid":A.Tp.components.Drawer.General.subtitle},i)):o,u&&r.createElement("div",{className:f.tabsWrapper},u)),s?r.createElement(l.ScrollContainer,{showScrollIndicators:!0},x):x))}function M(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 R=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!==(t=null===(n=e.components.drawer)||void 0===n?void 0:n.padding)&&void 0!==t?t: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 W(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 H=({children:e,title:t,isOpen:n,onClose:a,embedded:r=!1,forceNoDrawer:o=!1})=>{const i=(0,l.useStyles2)(G);return n?!o&&!r?s().createElement(F,{size:"lg",title:t,onClose:a},e):s().createElement("div",{className:i.container},s().createElement("div",{className:i.drawerHeader},s().createElement(l.Button,{variant:"primary",fill:"text",size:"md",icon:"arrow-left",onClick:a},"Back to all traces")),e):null},G=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 q(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)&&(U(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&&U(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 U(e){return null!=e&&""!==e&&!isNaN(Number(e.toString().trim()))}class Y extends o.H9{constructor(e){var t;super({addFilterButtonText:"Add filter",name:c.Ao,datasource:c.Vl,hide:O.zL.hideLabel,layout:"combobox",filters:null!==(t=e.initialFilters)&&void 0!==t?t:[],allowCustomValue:!0,expressionBuilder:q})}}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 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){X(e,t,n[t])})}return e}function Q(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 Z(e){var t,n;const{children:a,embedded:r,timeRange:o}=e,l=null===m.useDataLinksContext||void 0===m.useDataLinksContext?void 0:(0,m.useDataLinksContext)(),c=(null===m.DataLinksContext||void 0===m.DataLinksContext?void 0:m.DataLinksContext.Provider)&&l,u=null===i.usePluginFunctions||void 0===i.usePluginFunctions?void 0:(0,i.usePluginFunctions)({extensionPointId:"grafana-exploretraces-app/get-logs-drilldown-link/v1",limitPerPlugin:1}),d=null!==(t=null==u||null===(n=u.functions)||void 0===n?void 0:n[0])&&void 0!==t?t:void 0;if(r||!c||!d||!o)return s().createElement(s().Fragment,null,a);return s().createElement(m.DataLinksContext.Provider,{value:{dataLinkPostProcessor:e=>{var t,n,a,r,s,o;const c=l.dataLinkPostProcessor(e),u=null==c||null===(t=c.interpolatedParams)||void 0===t?void 0:t.query,m=null==c||null===(n=c.interpolatedParams)||void 0===n?void 0:n.timeRange,p=null==c||null===(s=c.interpolatedParams)||void 0===s||null===(r=s.query)||void 0===r||null===(a=r.datasource)||void 0===a?void 0:a.uid,f=null===(o=(0,i.getDataSourceSrv)().getInstanceSettings(p))||void 0===o?void 0:o.type;if(u&&c&&u&&"loki"===f&&m){const e=d.fn({targets:[Q(K({},u),{datasource:{uid:p,type:f}})],timeRange:m});(null==e?void 0:e.path)&&(c.href=e.path)}return c}}},a)}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}const ee="2026-02-04T15:46:32.603Z",te=`${ee.split("T")[0]} (6bee37e)`;class ne extends o.Bs{_onActivate(){this.state.topScene||this.setState({topScene:new N.jc({})}),this._subs.add(this.subscribeToEvent(c.vR,e=>{this.setState({traceId:e.payload.traceId,spanId:e.payload.spanId})}));o.jh.lookupVariable(c.EY,this).subscribeToState(e=>{e.value&&localStorage.setItem(c.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(c.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})}constructor(e){var t,n,a;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){J(e,t,n[t])})}return e}({$timeRange:null!==(t=e.$timeRange)&&void 0!==t?t:new o.JZ({}),$variables:null!==(n=e.$variables)&&void 0!==n?n:ie(e),controls:null!==(a=e.controls)&&void 0!==a?a:[new o.KE({}),new o.WM({})],body:new ae({}),drawerScene:new E({}),issueDetector:new C},e)),J(this,"_urlSync",new o.So(this,{keys:["traceId","spanId"]})),J(this,"onChangeMetricFunction",e=>{const t=this.getMetricVariable();e&&t.getValue()!==e&&t.changeValueTo(e,void 0,!0)}),this.addActivationHandler(this._onActivate.bind(this))}}J(ne,"Component",({model:e})=>{const{body:t}=e.useState(),n=(0,l.useStyles2)(le);return s().createElement("div",{className:n.bodyContainer}," ",t&&s().createElement(t.Component,{model:t})," ")});class ae extends o.Bs{}J(ae,"Component",({model:e})=>{var t;const n=(0,u.zY)(e),{controls:a,topScene:r,drawerScene:o,traceId:i,issueDetector:c,embedded:d}=n.useState(),{hasIssue:m}=(null==c?void 0:c.useState())||{hasIssue:!1},p=(0,l.useStyles2)(le),f=null===(t=n.useState().$timeRange)||void 0===t?void 0:t.useState();return s().createElement("div",{className:p.container,id:"trace-exploration"},m&&c&&s().createElement(P,{detector:c}),d?s().createElement(se,{model:e}):s().createElement(oe,{controls:a,model:e}),s().createElement("div",{className:p.body},r&&s().createElement(r.Component,{model:r})),s().createElement(Z,{embedded:d,timeRange:null==f?void 0:f.value},s().createElement(H,{isOpen:!!o&&!!i,onClose:()=>n.closeDrawer(),title:`View trace ${i}`,embedded:d,forceNoDrawer:d},o&&s().createElement(o.Component,{model:o}))))});const re=e=>{const[t,n]=s().useState(),a=(0,u.zY)(e),o=(0,u.gG)(a),i=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(i(o.state.filters));const e=o.subscribeToState(e=>{n(i(e.filters))});return()=>{e.unsubscribe()}},[o]),t},se=({model:e})=>{var t;const n=(0,i.useReturnToPrevious)(),a=(0,u.zY)(e),{returnToPreviousSource:c,embeddedMini:d}=a.useState(),m=(0,l.useStyles2)(le,!0,d),p=(0,u.gG)(a),f=(0,u.h7)(a),g=a.state.controls.find(e=>e instanceof o.KE),v=null===(t=a.state.$timeRange)||void 0===t?void 0:t.useState(),h=p.useState(),b=a.getMetricVariable().useState(),[y,w]=s().useState(()=>(0,u.__)(a));return null==f||f.changeValueTo(j.Xn[1].value),(0,r.useEffect)(()=>{w((0,u.__)(a))},[v,h,b,a]),s().createElement("div",{className:m.headerContainer},s().createElement(l.Stack,{gap:1,alignItems:"center",wrap:"wrap",justifyContent:"space-between"},s().createElement(f.Component,{model:f}),p&&s().createElement("div",null,s().createElement(p.Component,{model:p})),s().createElement(l.Stack,{gap:1,alignItems:"center"},s().createElement(l.LinkButton,{href:y,variant:"secondary",icon:"arrow-right",onClick:()=>{n(c||"previous"),(0,x.EE)(x.NO.common,x.ir.common.go_to_full_app_clicked)}},"Traces Drilldown"),g&&s().createElement(g.Component,{model:g}))))},oe=({controls:e,model:t})=>{const n=(0,l.useStyles2)(le),[a,d]=s().useState(!1),m=re(t),p=(0,u.zY)(t),{traceId:f}=p.useState(),[g,v]=s().useState(null!=f?f:""),h=o.jh.lookupVariable(c.EY,p),b=(0,u.gG)(p),y=(0,u.h7)(p);function w(){const e=(0,l.useStyles2)(le);return s().createElement("div",{className:e.menuHeader},s().createElement("h5",null,"Grafana Traces Drilldown v","1.3.2"),s().createElement("div",{className:e.menuHeaderSubtitle},"Last update: ",te))}(0,r.useEffect)(()=>{v(null!=f?f:"")},[f]);const S=s().createElement(l.Menu,{header:s().createElement(w,null)},s().createElement("div",{className:n.menu},i.config.feedbackLinksEnabled&&s().createElement(l.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,x.EE)(x.NO.common,x.ir.common.global_docs_link_clicked)}),s().createElement(l.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,x.EE)(x.NO.common,x.ir.common.feedback_link_clicked)}))),E=()=>{g!==f&&p.setState({traceId:g})};return s().createElement("div",{className:n.headerContainer},s().createElement(l.Stack,{gap:1,justifyContent:"space-between",wrap:"wrap"},s().createElement(l.Stack,{gap:1,alignItems:"center",wrap:"wrap"},h&&s().createElement(l.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(D,{serviceName:m||"",model:t}),s().createElement(l.Dropdown,{overlay:S,onVisibleChange:()=>d(!a)},s().createElement(l.Button,{variant:"secondary",icon:"info-circle"},"Need help",s().createElement(l.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(l.Stack,{gap:1,alignItems:"flex-start",justifyContent:"space-between"},s().createElement(l.Stack,{gap:1,alignItems:"center",wrap:"wrap"},s().createElement(l.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(l.Stack,{gap:0,alignItems:"center"},s().createElement("div",{className:n.datasourceLabel},"Trace ID"),s().createElement(l.Input,{placeholder:"Enter an ID and press Enter",value:null!=g?g:"",suffix:s().createElement(l.Stack,{direction:"row",alignItems:"center",gap:1,width:"40px"},g&&s().createElement(s().Fragment,null,s().createElement(l.Icon,{name:"times",onClick:()=>v(""),cursor:"pointer"}),s().createElement(l.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 ie(e){return new o.Pj({variables:[new o.mI({name:c.EY,label:"Data source",value:e.initialDS,pluginId:"tempo",isReadOnly:e.embedded}),new k.x({name:c.CE,isReadOnly:e.embedded}),new Y({initialFilters:e.initialFilters}),new o.yP({name:c.PU,hide:O.zL.hideVariable}),new o.yP({name:c.z,defaultToAll:!1,value:e.initialGroupBy}),new o.yP({name:c.gP,defaultToAll:!1}),new o.yP({name:c.pf,defaultToAll:!1,hide:O.zL.hideVariable}),new o.yP({name:c.xc,defaultToAll:!1,hide:O.zL.hideVariable}),new o.yP({name:c.cT,label:"Duration Percentiles",value:["0.9"],isMulti:!0,includeAll:!1})]})}function le(e,t,n){return{bodyContainer:(0,a.css)({label:"bodyContainer",flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column",minWidth:"380px"}),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:n?"none":"flex",flexDirection:"column",position:"sticky",top:0,zIndex:3,padding:`${e.spacing(1.5)} 0 0 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)})}}},70892:(e,t,n)=>{"use strict";n.d(t,{z:()=>r});var a=n(61829);function r(){return{refId:"A",query:`{${a.ui}} | histogram_over_time(duration) with(sample=true)`,queryType:"traceql",tableType:"spans",limit:1e3,spss:10,filters:[]}}},71379:(e,t,n)=>{"use strict";n.d(t,{hE:()=>k,NO:()=>C});var a=n(85959),r=n.n(a),s=n(87781),o=n(15056),i=n(50775),l=n(46089),c=n(82007),u=n(33049),d=n(2645),m=n(5445),p=n(93241);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(31051),h=n(61829);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 x(e){return w(y({},e),{fields:e.fields.map(e=>w(y({},e),{values:e.values}))})}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 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){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 k extends o.Bs{renderFilteredData(e){e.series&&e.series.length>0?this.performRepeat(e):this.state.body.setState({children:[new o.vA({body:new i.v({message:"No data for search term",padding:"32px"})})]})}groupSeriesBy(e,t){const n=e.series.reduce((e,n)=>{var a,r;const o=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 o?(e[o]||(e[o]=[]),e[o].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=x(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),S(this,"onSearchQueryChange",e=>{this.setState({searchQuery:e.currentTarget.value})}),S(this,"onSearchQueryChangeDebounced",(0,p.debounce)(e=>{var t;const n=o.jh.getData(this),a=O(E({},n.state.data),{series:null===(t=n.state.data)||void 0===t?void 0:t.series.filter(N(e))});this.renderFilteredData(a)},250)),this.addActivationHandler(()=>{const e=o.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 o.vA({body:new i.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(N(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 o.gF({children:[new m.y({message:null!==(u=null===(f=e.data.errors)||void 0===f||null===(p=f[0])||void 0===p?void 0:p.message)&&void 0!==u?u:"An error occurred in the query"})]})]})}else this.state.body.setState({children:[new o.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 j(){return{container:(0,l.css)({display:"flex",flexDirection:"column",flexGrow:1})}}S(k,"Component",({model:e})=>{const{body:t,searchQuery:n}=e.useState(),a=(0,c.useStyles2)(j);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 N=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)))}},76338:(e,t,n)=>{"use strict";n.d(t,{EE:()=>s,NO:()=>o,ir:()=>i});var a=n(18531),r=n(62533);const s=(e,t,n)=>{(0,a.reportInteraction)(((e,t)=>`${r.id.replace(/-/g,"_")}_${e}_${t}`)(e,t),n)},o={analyse_traces:"analyse_traces",home:"home",common:"common"},i={[o.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",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"},[o.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"},[o.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"}}},77197:(e,t,n)=>{"use strict";n.d(t,{Mu:()=>A,jD:()=>L,FC:()=>$});var a=n(85959),r=n.n(a),s=n(15056),o=n(87781),i=n(61829),l=n(50775),c=n(2645),u=n(71379),d=n(6997),m=n(89840),p=n(56374),f=n(46089),g=n(82007),v=n(22860),h=n(31051),b=n(8855),y=n(89938),w=n(70892),x=n(93241),S=n(76338);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,S.EE)(S.NO.analyse_traces,S.ir.analyse_traces.start_investigation,{selection:this.state.selection,metric:(0,h.GK)(this)})})}}function k(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)(k),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 j=n(83247),C=n(65082),P=n(18531);const N=(0,a.memo)(function({serviceName:e,metric:t,startTime:n,endTime:a}){const{isLoading:s,component:o}=(0,P.usePluginComponent)("grafana-asserts-app/insights-timeline-widget/v1"),i=(0,g.useStyles2)(D);let l=[];"errors"===t?l=["critical","warning"]:"rate"===t&&(l=["info"]);let c=[];return"duration"===t&&(c=["latency"]),!s&&o&&e?r().createElement(o,{serviceName:e,start:n,end:a,filterBySeverity:l,filterBySummaryKeywords:c,label:r().createElement("div",{className:i.label},"Insights")}):null});function D(e){return{label:(0,f.css)({fontSize:"12px",color:e.colors.text.secondary,marginLeft:"35px",marginTop:"-3px"})}}function _(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){_(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:i.Vl,queries:[this.isDuration()?(0,w.z)():(0,m.l)({metric:e,sample:!0})]}),transformations:this.isDuration()||this.state.embeddedMini?[...(0,j.h)()]:[...(0,j.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,this.state.embeddedMini?void 0: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,i=null===(r=e.selection)||void 0===r||null===(a=r.raw)||void 0===a?void 0:a.y,l=(0,o.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==i?void 0:i.from,yMax:null==i?void 0:i.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:o.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)===o.LoadingState.Streaming}),(null===(d=a.data)||void 0===d?void 0:d.state)===o.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:i.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)===o.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)===o.LoadingState.Loading&&this.setState({panel:new s.G1({direction:"row",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)===o.LoadingState.Done&&(!(0,x.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})})}}))})}}_(A,"Component",({model:e})=>{const{panel:t,actions:n,isStreaming:a,embeddedMini:o}=e.useState(),{value:i}=(0,h.H_)(e).useState(),l=(0,h.zY)(e),c=(0,g.useStyles2)(z),u=(0,C.oL)(e),d=s.jh.getTimeRange(e).useState();if(!t)return;const m="duration"===i?"Click and drag to compare selection with baseline.":"";return r().createElement("div",{className:c.container,onClick:()=>(e=>{if(e){const e=(0,h.__)(l);P.locationService.push(e)}})(o)},!o&&r().createElement("div",{className:c.headerContainer},r().createElement("div",{className:c.titleContainer},r().createElement("div",{className:c.titleRadioWrapper},r().createElement(g.RadioButtonList,{name:`metric-${i}`,options:[{title:"",value:"selected"}],value:"selected"}),r().createElement("span",null,(()=>{switch(i){case"errors":return"Errors rate";case"rate":return"Span rate";case"duration":return"Histogram by duration";default:return""}})())),m&&r().createElement("div",{className:c.subtitle},m)),r().createElement("div",{className:c.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}),!o&&d&&r().createElement(N,{serviceName:u||"",metric:i,startTime:d.from.valueOf(),endTime:d.to.valueOf()}))});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 z(e){return{container:(0,f.css)({flex:1,cursor:"pointer",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"}})}}},83247:(e,t,n)=>{"use strict";n.d(t,{G:()=>s,h:()=>o});var a=n(31269),r=n(87781);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 o=s.split("#")[1];o&&""!==o&&(null==e||e(o))}}])}return t})))}],o=()=>[{topic:r.DataTopic.Annotations,operator:()=>e=>e.pipe((0,a.map)(e=>e.filter(e=>"exemplar"!==e.name)))}]},89840:(e,t,n)=>{"use strict";n.d(t,{l:()=>s,n:()=>r});var a=n(61829);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 o="rate()";switch(e){case"errors":o="rate()";break;case"duration":o=`quantile_over_time(duration, ${a.yh})`}let i=[];t&&t!==a.y2&&i.push(t);return`{${s}} | ${o} ${i.length?`by(${i.join(", ")})`:""}${r?" with(sample=true)":""}`}function s(e){return{refId:"A",query:r(e),queryType:"traceql",tableType:"spans",limit:100,spss:10,filters:[]}}},89938:(e,t,n)=>{"use strict";n.d(t,{bT:()=>x,_E:()=>S,nF:()=>E,x:()=>j});var a=n(15056),r=n(71379),s=n(82007),o=n(11625),i=n(46089),l=n(85959),c=n.n(l),u=n(31051),d=n(10806),m=n(64917);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,i.css)({display:"flex",flexDirection:"column",flexGrow:1,height:"100%"}),differenceContainer:(0,i.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,i.css)({fontSize:"36px",fontWeight:"bold",textAlign:"center"}),value:(0,i.css)({textAlign:"center",color:e.colors.secondary.text,textWrap:"nowrap",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),title:(0,i.css)({fontWeight:500})}}p(g,"Component",({model:e})=>{var t;const{maxDifference:n,maxDifferenceIndex:a,panel:r}=e.useState(),o=(0,s.useStyles2)(v),i=e.getValue(),l=null!==(t=e.state.frame.name)&&void 0!==t?t:"",m=(0,d.D9)((0,u.gG)(e),l,i.replace(/"/g,""));return c().createElement("div",{className:o.container},c().createElement(r.Component,{model:r}),c().createElement("div",{className:o.differenceContainer},void 0!==n&&void 0!==a&&c().createElement(c().Fragment,null,c().createElement(s.Stack,{gap:1,justifyContent:"space-between",alignItems:"center"},c().createElement("div",{className:o.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:o.differenceValue},(100*Math.abs(n)).toFixed(0===n?0:2),"%"),c().createElement("div",{className:o.value},i))))});var h=n(61829);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 x="#5794F299",S="#FF9930";function E(e,t){return new r.hE({body:new a.gF({templateColumns:h.MV,autoRows:"320px",children:[]}),getLayoutChild:k({},O,e,t)})}const O=e=>e.name||"No name available";function k(e,t,n,r){return(s,o)=>{const i=o.name?e[o.name]:void 0,l=new a.Zv({data:w(y({},s),{series:[y({},o)]})});if(i){const e=i.state.body;return e.setState({frame:o}),e.state.panel.setState({$data:l}),i}const c=j(r).setTitle(t(o)).setData(l),u=n(o);u&&c.setHeaderActions(u);const d=new a.xK({body:new g({frame:o,panel:c.build()})});return o.name&&(e[o.name]=d),d}}function j(e){return a.d0.barchart().setOption("legend",{showLegend:!1}).setOption("tooltip",{mode:o.$N.Multi}).setMax(1).setOverrides(t=>{t.matchFieldsWithName("Value").overrideCustomFieldConfig("axisPlacement",s.AxisPlacement.Hidden),t.matchFieldsWithName("Baseline").overrideColor({mode:"fixed",fixedColor:"duration"===e?x:"semi-dark-green"}).overrideUnit("percentunit"),t.matchFieldsWithName("Selection").overrideColor({mode:"fixed",fixedColor:"duration"===e?S:"semi-dark-red"}).overrideUnit("percentunit")})}},96003:(e,t,n)=>{"use strict";n.d(t,{x:()=>v});var a=n(85959),r=n.n(a),s=n(15056),o=n(33761),i=n(82007),l=n(46089),c=n(25225),u=n(76338);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,i.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(i.Icon,{name:t,size:"md"})}const g=()=>{const e=(0,i.useStyles2)(h);return r().createElement("div",{className:e.heading},r().createElement(i.Text,{weight:"bold",variant:"bodySmall",color:"secondary"},"Primary signal"))};class v extends s.yP{}d(v,"Component",({model:e})=>{const t=(0,i.useStyles2)(h),{value:n,isReadOnly:s}=e.useState();(0,a.useEffect)(()=>{n||e.changeValueTo(s?o.Xn[1].value:o.Xn[0].value)});const l=o.Xn.slice(0,2),c=o.Xn.find(e=>e.value===n);c&&!l.some(e=>e.filter.key===c.filter.key)&&l.push(c);const d=o.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(i.RadioButtonGroup,{options:l,value:n,onChange:m,disabled:s,className:t.buttonGroup}),r().createElement(i.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}`})})}}]);
//# sourceMappingURL=782.js.map?_cache=2c6e6a1e27674bd194fb