1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[22893],{22893:(e,l,a)=>{a.r(l),a.d(l,{DoraLens:()=>b});var r=a(32957),t=a(3625),o=a(70307),n=a(75438),i=a(57300),s=a(79432),d=a(12789),u=a(80909),c=a(67322),x=a(12317),m=a(75238),p=a(88238),y=a(98405);let h=y.rR,f=y.w_;function b(){var e;let{currentProjectId:l}=(0,s.ZJ)(),a=(0,o.c)("insights"),[b,v]=(0,t.useState)(30),{data:g,error:j}=(0,i.P)(()=>n.eE.dora(b,l),[b,l]);if(j)return(0,r.jsx)(d.ek,{message:j});if(!g)return(0,r.jsx)(d.Vl,{message:a("loading")});let q=h.map(e=>({key:e,label:a("dora.tier.".concat(e)),color:f[e]})),k=g.totalDeployments>0?(0,y.mG)(g.deploymentFrequencyPerDay):null,F=null!=g.leadTimeHours?(0,y._7)(g.leadTimeHours):null,S=null!=g.changeFailureRatePct?(0,y.q$)(g.changeFailureRatePct):null,D=null!=g.mttrHours?(0,y.Mq)(g.mttrHours):null,T=[k,F,S,D].filter(e=>null!=e),w=T.length?h[Math.round(T.reduce((e,l)=>e+l,0)/T.length)]:null,I=g.changeFailureRatePct,H=null!=(e=g.series)?e:[],M=e=>null==e?0:3-e,P=H.map(e=>e.bucketStart.slice(5)),R=[{key:"deploy",label:a("dora.deployFreq"),color:f.elite,values:H.map(e=>M(e.totalDeployments>0?(0,y.mG)(e.deploymentFrequencyPerDay):null))},{key:"lead",label:a("dora.leadTime"),color:"var(--info)",values:H.map(e=>M(null!=e.leadTimeHours?(0,y._7)(e.leadTimeHours):null))},{key:"cfr",label:a("dora.cfr"),color:f.medium,values:H.map(e=>M(null!=e.changeFailureRatePct?(0,y.q$)(e.changeFailureRatePct):null))},{key:"mttr",label:a("dora.mttr"),color:f.low,values:H.map(e=>M(null!=e.mttrHours?(0,y.Mq)(e.mttrHours):null))}];return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18},children:[(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end"},children:(0,r.jsx)(u.y,{value:b,onChange:v})}),(0,r.jsxs)(u.F,{children:[(0,r.jsx)(d.hI,{label:a("dora.deployFreq"),value:a("dora.perDay",{value:g.deploymentFrequencyPerDay.toFixed(2)}),sub:a("dora.deploys",{n:g.totalDeployments})}),(0,r.jsx)(d.hI,{label:a("dora.leadTime"),value:(0,p.GQ)(g.leadTimeHours),sub:a("dora.leadSub")}),(0,r.jsx)(d.hI,{label:a("dora.cfr"),value:(0,p.Oe)(g.changeFailureRatePct),sub:a("dora.cfrSub")}),(0,r.jsx)(d.hI,{label:a("dora.mttr"),value:(0,p.GQ)(g.mttrHours),sub:a("dora.mttrSub")}),(0,r.jsx)(d.hI,{label:a("dora.totalDeploys"),value:String(g.totalDeployments),sub:a("days",{n:g.windowDays})})]}),(0,r.jsx)(d.sx,{title:a("dora.performance"),action:(0,r.jsxs)("span",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,r.jsx)("span",{style:{fontSize:"0.74rem",color:"var(--text-muted)"},children:a("dora.overall")}),(0,r.jsx)("span",{"aria-label":a("dora.tierAria"),style:{fontSize:"0.76rem",fontWeight:700,color:"var(--text-on-accent)",background:w?f[w]:"var(--text-muted)",padding:"2px 10px",borderRadius:"var(--radius-full)"},children:w?a("dora.tier.".concat(w)):"â"})]}),children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,r.jsx)(c.q,{label:a("dora.deployFreq"),valueText:a("dora.perDay",{value:g.deploymentFrequencyPerDay.toFixed(2)}),tiers:q,activeIndex:k,ariaLabel:a("dora.barAria",{metric:a("dora.deployFreq")})}),(0,r.jsx)(c.q,{label:a("dora.leadTime"),valueText:(0,p.GQ)(g.leadTimeHours),tiers:q,activeIndex:F,ariaLabel:a("dora.barAria",{metric:a("dora.leadTime")})}),(0,r.jsx)(c.q,{label:a("dora.cfr"),valueText:(0,p.Oe)(g.changeFailureRatePct),tiers:q,activeIndex:S,ariaLabel:a("dora.barAria",{metric:a("dora.cfr")})}),(0,r.jsx)(c.q,{label:a("dora.mttr"),valueText:(0,p.GQ)(g.mttrHours),tiers:q,activeIndex:D,ariaLabel:a("dora.barAria",{metric:a("dora.mttr")})}),(0,r.jsx)("span",{style:{fontSize:"0.74rem",color:"var(--text-muted)"},children:a("dora.performanceSub")})]})}),(0,r.jsx)(d.sx,{title:a("dora.changeOutcomes"),children:null==I?(0,r.jsx)("span",{style:{fontSize:"0.84rem",color:"var(--text-muted)"},children:a("dora.noCfr")}):(0,r.jsx)(x.V,{ariaLabel:a("dora.ringAria"),size:168,centerValue:(0,p.Oe)(I),centerLabel:a("dora.cfr"),formatValue:()=>"",segments:[{key:"failed",label:a("dora.failed"),value:I,color:"var(--error-text)"},{key:"ok",label:a("dora.succeeded"),value:Math.max(0,100-I),color:"var(--success-text)"}]})}),P.length>=2&&(0,r.jsxs)(d.sx,{title:a("dora.trendTitle"),children:[(0,r.jsx)(m.Q,{labels:P,series:R,height:210,formatValue:e=>a("dora.tier.".concat(h[Math.max(0,Math.min(3,3-Math.round(e)))])),ariaLabel:a("dora.trendTitle")}),(0,r.jsx)("span",{style:{fontSize:"0.74rem",color:"var(--text-muted)"},children:a("dora.trendSub")})]})]})}},67322:(e,l,a)=>{a.d(l,{q:()=>o});var r=a(32957);let t={display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:10,fontSize:"0.85rem"};function o(e){let{label:l,valueText:a,tiers:o,activeIndex:n,ariaLabel:i}=e,s=null!=n?o[n]:void 0;return(0,r.jsxs)("div",{role:"group","aria-label":null!=i?i:l,style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsxs)("div",{style:t,children:[(0,r.jsx)("span",{style:{fontWeight:600,color:"var(--text-secondary)"},children:l}),(0,r.jsxs)("span",{style:{display:"flex",gap:10,alignItems:"center"},children:[s&&(0,r.jsx)("span",{style:{fontSize:"0.7rem",fontWeight:700,color:"var(--text-on-accent)",background:s.
1color,padding:"1px 8px",borderRadius:"var(--radius-full)"},children:s.label}),(0,r.jsx)("span",{style:{fontWeight:700,color:"var(--text-primary)"},children:a})]})]}),(0,r.jsx)("div",{style:{display:"flex",gap:3},children:o.map((e,l)=>{let a=l===n;return(0,r.jsx)("div",{title:e.label,style:{flex:1,height:22,borderRadius:"var(--radius-sm)",background:e.color,opacity:null==n?.4:a?1:.26,display:"flex",alignItems:"center",justifyContent:"center",outline:a?"2px solid var(--text-primary)":"none",outlineOffset:1,transition:"opacity 0.2s"},children:(0,r.jsx)("span",{style:{fontSize:"0.68rem",fontWeight:a?700:600,color:"var(--text-on-accent)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",padding:"0 4px"},children:e.label})},e.key)})})]})}},98405:(e,l,a)=>{a.d(l,{Mq:()=>d,_7:()=>i,mG:()=>n,q$:()=>s,rR:()=>t,w_:()=>o});var r=a(92826);let t=["elite","high","medium","low"],o={elite:(0,r.Mb)("success","solid"),high:(0,r.Mb)("success","solid"),medium:(0,r.Mb)("warning","solid"),low:(0,r.Mb)("danger","solid")};function n(e){return e>=1?0:e>=1/7?1:e>=1/30?2:3}function i(e){return e<24?0:e<168?1:e<730?2:3}function s(e){return e<=5?0:e<=15?1:e<=30?2:3}function d(e){return e<1?0:e<24?1:e<168?2:3}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.