1"use strict";(globalThis.webpackChunk_mlflow_mlflow=globalThis.webpackChunk_mlflow_mlflow||[]).push([[8359],{80479(e,t,o){o.d(t,{g:()=>l});o(51477);var a=o(77753),n=o(5460),s=o(63968);const l=({componentId:e,value:t,onChange:o})=>(0,s.FD)(a.SegmentedControlGroup,{name:`${e}-dimension`,componentId:e,value:t,onChange:({target:{value:e}})=>o(e),children:[(0,s.Y)(a.SegmentedControlButton,{value:"model",children:(0,s.Y)(n.A,{id:"AQh8lf",defaultMessage:"Model"})}),(0,s.Y)(a.SegmentedControlButton,{value:"provider",children:(0,s.Y)(n.A,{id:"L71uzj",defaultMessage:"Provider"})})]})},38359(e,t,o){o.d(t,{TraceCostOverTimeChart:()=>A});var a=o(15032),n=o(51477),s=o(10587),l=o(74343),i=o(5460),r=o(68077),d=o(54426),m=o(57455),c=o(55368),u=o(95305),g=o(82124),v=o(8098),p=o(39848),f=o(55871),h=o(71974),M=o(19135);var T=o(86273),w=o(63074),C=o(80479),y=o(88322),S=o(24213),Y=o(63968);var _={name:"1f1m9i6",styles:"display:flex;justify-content:space-between;align-items:flex-start"};const A=()=>{const{theme:e}=(0,s.u)(),t=(0,l.A)(),o=(0,S.zZ)(),A=(0,S.IT)(),D=(0,S.gy)(),{getChartColor:b}=(0,h.yC)(),{getOpacity:I,handleLegendMouseEnter:k,handleLegendMouseLeave:L}=(0,h.pH)(.8,.2),{dimension:E,setDimension:O}=(0,T.q)(),{chartData:N,dimensionValues:x,totalCost:F,isLoading:H,error:P,hasData:W}=function(e="model",{enabled:t=!0}={}){const{experimentIds:o,startTimeMs:a,endTimeMs:s,timeIntervalSeconds:l,timeBuckets:i,filters:r}=(0,M.W0)(),d="model"===e?p.it.MODEL_NAME:p.it.MODEL_PROVIDER,{data:m,isLoading:c,error:u}=(0,f.o)({experimentIds:o,startTimeMs:a,endTimeMs:s,viewType:p.mW.SPANS,metricName:p.Ub.TOTAL_COST,aggregations:[{aggregation_type:p.DF.SUM}],dimensions:[d],timeIntervalSeconds:l,filters:r,enabled:t}),g=(0,n.useMemo)(()=>(null===m||void 0===m?void 0:m.data_points)||[],[null===m||void 0===m?void 0:m.data_points]),v=(0,n.useMemo)(()=>{const e=new Set;for(const o of g){var t;const a=null===(t=o.dimensions)||void 0===t?void 0:t[d];a&&e.add(a)}return Array.from(e).sort()},[g,d]),T=(0,n.useMemo)(()=>{const e=new Map;for(const s of g){var t,o,a;const l=null===(t=s.dimensions)||void 0===t?void 0:t[p.Ad],i=null===(o=s.dimensions)||void 0===o?void 0:o[d],r=(null===(a=s.values)||void 0===a?void 0:a[p.DF.SUM])||0;if(l&&i){var n;const t=new Date(l).getTime();e.has(t)||e.set(t,new Map),null===(n=e.get(t))||void 0===n||n.set(i,r)}}return e},[g,d]),w=(0,n.useMemo)(()=>i.map(e=>{const t=T.get(e),o={name:(0,h.fq)(e,l)};for(const a of v)o[a]=(null===t||void 0===t?void 0:t.get(a))||0;return o}),[i,T,v,l]),C=(0,n.useMemo)(()=>g.reduce((e,t)=>{var o;return e+((null===(o=t.values)||void 0===o?void 0:o[p.DF.SUM])||0)},0),[g]);return{chartData:w,dimensionValues:v,totalCost:C,isLoading:c,error:u,hasData:g.length>0}}(E),j=(0,n.useMemo)(()=>({allSelected:"model"===E?t.formatMessage({id:"DLZwqO",defaultMessage:"All models"}):t.formatMessage({id:"abIH3b",defaultMessage:"All providers"}),noneSelected:"model"===E?t.formatMessage({id:"KIlp8v",defaultMessage:"No models selected"}):t.formatMessage({id:"45tCkn",defaultMessage:"No providers selected"})}),[E,t]),{displayedItems:q,isAllSelected:B,selectorLabel:R,handleSelectAllToggle:U,handleItemToggle:V}=(0,w.n)(x,j,E),z=(0,n.useCallback)((e,t)=>[(0,p.lE)(e),t],[]);return H?(0,Y.Y)(S.lh,{}):P?(0,Y.Y)(S.nN,{}):(0,Y.FD)(S.h,{componentId:"mlflow.overview.usage.trace_cost_over_time",children:[(0,Y.FD)("div",{css:_,children:[(0,Y.Y)(S.XQ,{icon:(0,Y.Y)(s.ck,{}),title:(0,Y.Y)(i.A,{id:"ljOsC9",defaultMessage:"Cost Over Time"}),value:(0,p.lE)(F),subtitle:(0,Y.Y)(i.A,{id:"WcHytj",defaultMessage:"Total Cost"})}),(0,Y.FD)("div",{css:(0,a.AH)({display:"flex",gap:e.spacing.sm,flexShrink:0},""),children:[(0,Y.Y)(C.g,{componentId:"mlflow.overview.usage.trace_cost_over_time.dimension",value:E,onChange:O}),W&&x.length>0&&(0,Y.Y)(y.d,{componentId:"mlflow.overview.usage.trace_cost_over_time.item_selector",itemNames:x,"data-testid":"item-selector-dropdown",displayedItems:q,isAllSelected:B,selectorLabel:R,onSelectAllToggle:U,onItemToggle:V})]})]}),(0,Y.Y)("div",{css:(0,a.AH)({height:S.tz,marginTop:e.spacing.sm},""),children:W&&q.length>0?(0,Y.Y)(r.u,{width:"100%",height:"100%",children:(0,Y.FD)(d.b,{data:N,margin:{top:10,right:30,left:10,bottom:0},children:[(0,Y.Y)(m.W,{dataKey:"name",...o}),(0,Y.Y)(c.h,{...A}),(0,Y.Y)(u.m,{content:(0,Y.Y)(S.Vn,{formatter:z,componentId:"mlflow.overview.usage.traces.view_traces_link"}
1),cursor:{stroke:e.colors.actionTertiaryBackgroundHover},wrapperStyle:{pointerEvents:"auto"}}),q.map(e=>{const t=x.indexOf(e);return(0,Y.Y)(g.N1,{type:"monotone",dataKey:e,stroke:b(t),strokeOpacity:I(e),strokeWidth:2,dot:(0,h.vx)(b(t)),name:e},e)}),(0,Y.Y)(v.s,{verticalAlign:"bottom",iconType:"plainline",onMouseEnter:k,onMouseLeave:L,...D})]})}):(0,Y.Y)(S.iE,{message:(0,Y.Y)(i.A,{id:"iRs4JD",defaultMessage:"No cost data available"})})})]})}},86273(e,t,o){o.d(t,{q:()=>n});var a=o(51477);function n(e="model"){const[t,o]=(0,a.useState)(e),n=(0,a.useCallback)(()=>{o(e=>"model"===e?"provider":"model")},[]);return{dimension:t,setDimension:o,toggleDimension:n}}},54426(e,t,o){o.d(t,{b:()=>i});var a=o(51477),n=o(46029),s=o(384),l=["axis"],i=(0,a.forwardRef)((e,t)=>a.createElement(s.P,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:l,tooltipPayloadSearcher:n.uN,categoricalChartProps:e,ref:t}))}}]);
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.