1import{a as Ie}from"./chunk-DE6IAEWP.js";import{b as Me}from"./chunk-EX6NKQDG.js";import{a as xe}from"./chunk-UOWRG7AM.js";import{a as y}from"./chunk-CPHPYD7K.js";import{a as Ae}from"./chunk-TGDXTKQQ.js";import"./chunk-6HOIMSWF.js";import{a as B}from"./chunk-LLGUBQAX.js";import"./chunk-R64IOEX5.js";import{a as Re}from"./chunk-HCALZWNB.js";import{a as _e}from"./chunk-JEA6YNW6.js";import"./chunk-YBXMIYXC.js";import"./chunk-QCSZSGG3.js";import{a as qe}from"./chunk-G2K46VGU.js";import"./chunk-VXZPHLE2.js";import{a as Pe}from"./chunk-MFJ7FIGJ.js";import"./chunk-5KZZ65X3.js";import"./chunk-WCOE7NEP.js";import"./chunk-YYZJYWRU.js";import{a as Fe}from"./chunk-YZHK7LLM.js";import"./chunk-HE72SMZE.js";import"./chunk-NXRDVMU7.js";import"./chunk-ERIW265U.js";import"./chunk-5BTRMVOH.js";import{b as we}from"./chunk-5D6E3B7Z.js";import"./chunk-VNMPCTCO.js";import"./chunk-MPV6QC75.js";import"./chunk-MYURY4DW.js";import"./chunk-7KWXR6AB.js";import{a as ye}from"./chunk-X7JNSEDD.js";import"./chunk-K7FY64C4.js";import{a as Ge}from"./chunk-APKADBJS.js";import{b as Oe,d as Ee}from"./chunk-QYYBCH2R.js";import"./chunk-FH4PAS6M.js";import"./chunk-KYLOFBSV.js";import"./chunk-72QW37UE.js";import"./chunk-S24PT66N.js";import"./chunk-Q6MSBDSY.js";import"./chunk-QLWNYNGD.js";import"./chunk-WXQXVJP2.js";import"./chunk-HU777VAE.js";import"./chunk-4UKO6KQV.js";import"./chunk-YJYVI5WW.js";import"./chunk-WXYVLBOU.js";import"./chunk-COCB37UL.js";import"./chunk-NL4YGRDR.js";import{b as ke}from"./chunk-QXT6TTQZ.js";import"./chunk-6BKRTIKI.js";import"./chunk-IEUE3JR7.js";import"./chunk-4EPZVYPG.js";import{b as be,c as Se}from"./chunk-U2DLDSEZ.js";import"./chunk-2C3OI57X.js";import"./chunk-5CAJXM5U.js";import{b as Ce}from"./chunk-6FPJRJ4U.js";import"./chunk-75TSEUQ4.js";import{k as Le}from"./chunk-2HI4M2HF.js";import"./chunk-3XQWUKYG.js";import{a as ve}from"./chunk-BZLTXMPL.js";import{c as fe}from"./chunk-Q6XGM6HP.js";import{Eb as l,L as D,Rb as I,Wa as De,ob as Te}from"./chunk-J5MMLNOU.js";import{C as X,Da as A,Ga as _,Hb as q,I as ee,Jb as O,Jc as o,K as te,Kb as ue,Kc as R,Lc as ge,Mb as he,Mc as E,Nb as me,Ob as n,Pb as h,Qb as u,Rb as m,T as ie,Tc as G,Uc as pe,Vc as U,Ya as le,_b as V,ac as x,ca as ae,h as Z,k as Y,lb as r,pa as re,ta as ne,ua as se,ub as de,va as oe,vb as M,yb as ce,ze as j}from"./chunk-CZEFH2NR.js";import{a as c,b as g}from"./chunk-QDSGMOWV.js";var $e=()=>({nameType:"shortScaleSymbol",useScaleAt:3}),Qe=()=>({key:"bandwidthUsed",label:"Total bandwidth",color:"info"}),Ke=()=>({key:"bandwidthCached",label:"Cached bandwidth"}),Je=()=>({key:"bandwidthUnCached",label:"Uncached bandwidth",color:"success"}),z=(a,b,e)=>[a,b,e],He=a=>({formatMode:"metricSymbol",summaryLabels:a}),Ye=()=>({key:"requests",label:"Total requests",color:"info"}),Xe=()=>({key:"cachedRequests",label:"Cached requests"}),et=()=>({key:"uncachedRequests",label:"Uncached requests",color:"success"}),Be=a=>({formatMode:"shortScaleSymbol",summaryLabels:a}),tt=()=>({summaryLabelKey:"averageOriginResponseTime",summaryLabelText:"Average origin response time",valueDivisor:1e3,useAllMetricOptions:!0,axisFormat:"metricFormat"}),it=()=>({summaryLabelKey:"averageOriginTraffic",summaryLabelText:"Average origin traffic",axisFormat:"metricFormat",externalSummaryLabels:!0}),at=()=>({key:"requests3xx",label:"3xx requests",color:"info"}),rt=()=>({key:"requests4xx",label:"4xx requests",color:"success"}),nt=()=>({key:"requests5xx",label:"5xx requests",color:"warning"}),st=()=>({key:"averageInternalCDNTraffic",label:"Average internal traffic",color:"info"}),ot=()=>({key:"averageOriginTraffic",label:"Average origin traffic",color:"success"}),lt=(a,b)=>[a,b],dt=()=>({title:"No data available",description:"No data was served in the last month."}),ct=()=>[],ut=()=>({"width.%":30,height:"22px"}),ht=()=>({"width.%":10}),mt=()=>({"height.px":30,"width.%":5}),gt=()=>({"height.px":265,"width.%":100});function pt(a,b){if(a&1&&(h(0,"div",14)(1,"bn-web-ui-card",27),m(2,"hr")(3,"bn-web-ui-chart-multi-metric",28),u()()),a&2){let e=x(3);r(),n("isLoading",e.isLoading.data),r(2),n("chartConfig",R(12,He,ge(9,lt,o(7,st),o(8,ot))))("data",e.originShieldTraffic==null?null:e.originShieldTraffic.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.originShieldTraffic==null?null:e.originShieldTraffic.total)("timeframe",e.timeframe)}}function ft(a,b){if(a&1&&(h(0,"div",14)(1,"bn-web-ui-card",15),m(2,"hr")(3,"bn-web-ui-chart-multi-metric",16),u()(),h(4,"div",14)(5,"bn-web-ui-card",17),m(6,"hr")(7,"bn-web-ui-chart-multi-metric",18),u()(),h(8,"div",14)(9,"bn-web-ui-card",19),m(10,"hr")(11,"bn-web-ui-chart-single-metric",20),u()(),h(12,"div",14)(13,"bn-web-ui-card",21),m(14,"hr")(15,"bn-web-ui-chart-single-metric",22),u()(),q(16,pt,4,14,"div",14),h(17,"div",14)(18,"bn-web-ui-card",23),m(19,"hr")(20,"bn-web-ui-chart-data-center-traffic-distribution",24),u()(),h(21,"div",14)(22,"bn-web-ui-card",25),m(23,"hr")(24,"bn-web-ui-chart-multi-metric",26),u(
1)()),a&2){let e=x(2);r(),n("isLoading",e.isLoading.data),r(2),n("chartConfig",R(49,He,E(45,z,o(42,Qe),o(43,Ke),o(44,Je))))("data",e.bandwidthServedChart==null?null:e.bandwidthServedChart.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.bandwidthServedChart==null?null:e.bandwidthServedChart.total)("timeframe",e.timeframe),r(2),n("isLoading",e.isLoading.data),r(2),n("chartConfig",R(58,Be,E(54,z,o(51,Ye),o(52,Xe),o(53,et))))("data",e.requestsServedChart==null?null:e.requestsServedChart.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.requestsServedChart==null?null:e.requestsServedChart.total)("timeframe",e.timeframe),r(2),n("isLoading",e.isLoading.data),r(2),n("chartConfig",o(60,tt))("data",e.originResponseChart==null?null:e.originResponseChart.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.originResponseChart==null?null:e.originResponseChart.total)("timeframe",e.timeframe),r(2),n("isLoading",e.isLoading.data),r(2),n("chartConfig",o(61,it))("data",e.originTrafficChart==null?null:e.originTrafficChart.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.originTrafficChart==null?null:e.originTrafficChart.total)("timeframe",e.timeframe),r(),O(((e.originShieldTraffic==null||e.originShieldTraffic.total==null?null:e.originShieldTraffic.total.averageOriginTraffic)??0)>0?16:-1),r(2),n("isLoading",e.isLoading.data),r(2),n("countries",e.geoData.countries())("data",e.dataCenterTrafficDistributionChart.worldData)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("usageLabels",e.dataCenterTrafficDistributionChart.usageLabels),r(2),n("isLoading",e.isLoading.data),r(2),n("chartConfig",R(69,Be,E(65,z,o(62,at),o(63,rt),o(64,nt))))("data",e.httpRequestChart==null?null:e.httpRequestChart.chartSeries)("dataGranularity",e.dataGranularity())("isLoading",e.isLoading.data)("summaryLabels",e.httpRequestChart==null?null:e.httpRequestChart.total)("timeframe",e.timeframe)}}function yt(a,b){a&1&&m(0,"bn-web-ui-not-available",13),a&2&&n("options",o(1,dt))}function bt(a,b){if(a&1&&q(0,ft,25,71)(1,yt,1,2,"bn-web-ui-not-available",13),a&2){let e=x();O(e.stats!=null&&e.stats.BandwidthUsedChart&&e.stats?0:1)}}function St(a,b){a&1&&(h(0,"bn-web-ui-card",14)(1,"div",29),m(2,"ngx-skeleton-loader",30),u(),h(3,"div"),m(4,"ngx-skeleton-loader",30),u(),h(5,"div",14),m(6,"ngx-skeleton-loader",30),u(),h(7,"div"),m(8,"ngx-skeleton-loader",30),u()()),a&2&&(r(2),n("theme",o(4,ut)),r(2),n("theme",o(5,ht)),r(2),n("theme",o(6,mt)),r(2),n("theme",o(7,gt)))}function Ct(a,b){if(a&1&&he(0,St,9,8,"bn-web-ui-card",14,ue),a&2){let e=x();me(o(0,ct).constructor(e.skeletonsCount))}}var Ze=(()=>{class a extends qe{#d;#e;#t;#i;#a;#r;#n;#o;#l;#s;constructor(){super(),this.pullZoneApi=_(Ee),this.statisticsApi=_(Ie),this.statsReMapService=_(Ge),this.geoData=_(Te),this.#d=_(be),this.dataGranularity=le("daily"),this.pullZonesSelectList=[],this.regionsSelectList=[],this.filterInitialized=!1,this.filter={filter$:new Y(1),isLoading:!1,items:[],value:{},onChange:e=>this.onFilterChange(e)},this.filterValues={},this.isLoading={data:!0,filter:!0,isFirstLoad:!0},this.unit=De,this.stats=null,this.timeframe=14,this.skeletonsCount=3,this.hourlyMaxD
1aysAgo=7,this.hourlyTimepickerTitle="Hour selection is available for the past 7 days.",this.statsTickerParams={exactRange:!0,loadErrors:!0},this.statsTickerQueryParams$=new Z,this.manualRefresh$=new Z,this.#e=null,this.#t=null,this.#i=null,this.#a=null,this.#r=null,this.#n=null,this.#o="",this.#l=[],this.#s=null,this.resolveTimepickerActive=e=>{let t=Array.isArray(e)?e[0]:e;if(!t)return!1;let i=l.toLocalTime(t).format(D.DatePickerDate);return l.getDurationBetweenDateTime(this.getTodayCalendarDate(),i,"day",!1)<=this.hourlyMaxDaysAgo},this.subscribeToFilterData(),this.subscribeToData()}refresh(){this.manualRefresh$.next()}onFilterChange(e){let t=this.getDatePickerValueArray(e.datePicker),i=this.getDatePickerValueArray(this.filter.value.datePicker),s=e.INIT_STATE===!0;if(delete e.INIT_STATE,Array.isArray(e.datePicker)&&t.length===0&&!s||s&&this.#e)return;let d=t[0],S=t[1]??d,p=this.getDatePickerCalendarDate(d),C=this.getDatePickerCalendarDate(S),T=p!==this.getDatePickerCalendarDate(i[0]),v=C!==this.getDatePickerCalendarDate(i[1]),k=d!==i[0]&&S!==i[1],f=l.getDurationBetweenDateTime(this.getTodayCalendarDate(),p,"day",!1)<=this.hourlyMaxD
1aysAgo,N=f?y.hourly:y.daily,W=f&&this.hasDatePickerTime(i),P=this.getHourlyDatePickerDateTime(d,p,W&&!k&&!T,0,"start"),w=this.getHourlyDatePickerDateTime(S,C,W&&!k&&!v,23,"end"),$=f&&w.isBefore(P);$&&(w=P.endOf("hour").startOf("minute"));let Ue=f?l.getStatsApiDateRange(P.format(),w.format(),!0):this.getDailyApiDateRange(p,C),Q=g(c({},Ue),{exactRange:!0,hourly:f,loadErrors:!0,pullZone:e.pullZone?+e.pullZone:void 0,serverZoneId:e.region?+e.region:void 0}),K=g(c(c({datePicker:f?l.getStatsDatePickerQueryRange(P,w,!0):l.getStatsDatePickerQueryRange(p,C)},e.pullZone?{pullZone:e.pullZone}:{}),e.region?{region:e.region}:{}),{timeframe:N}),F=f?[P.format(),w.format()]:[p,C],H=F.join("|"),je=H!==this.#o,J=l.getDurationBetweenDateTime(P,w,"day"),ze=this.#s!==f,We=T||v;if(e.datePicker=F,this.updateDatePickerTimeMode(f),this.filter.value=e,(!f||ze||We||k||$)&&!I.isDeepEqual(t,F)&&(this.filterValues=c({},e)),this.shouldStageHourlyChange(f,s,je)){this.#r=H,this.#n=F,this.stageParams(Q,K,N,J);return}this.#o=H,this.#l=F,this.commitStatsViewState(N,J),this.applyParams(Q,K)}applyTimeChange(){!this.#e||!this.#t||(this.#i&&this.dataGranularity.set(this.#i),this.#a!==null&&(this.timeframe=this.#a),this.#r!==null&&(this.#o=this.#r),this.#n!==null&&(this.#l=this.#n),this.applyParams(this.#e,this.#t))}discardPendingHourlyChange(){this.#e&&(this.filter.value=g(c({},this.filter.value),{datePicker:this.#l}),this.filterValues=c({},this.filter.value),this.clearPendingState())}stageParams(e,t,i,s){this.#e=e,this.#t=t,this.#i=i,this.#a=s}commitStatsViewState(e,t){this.dataGranularity.set(e),this.timeframe=t}applyParams(e,t){this.clearPendingState(),this.statsTickerParams=e,this.statsTickerQueryParams$.next(e),I.isDeepEqual(this.route.snapshot.queryParams,t)||this.router.navigate([],{relativeTo:this.route,queryParams:t})}clearPendingState(){this.#e=null,this.#t=null,this.#i=null,this.#a=null,this.#r=null,this.#n=null}updateDatePickerTimeMode(e){if(this.#s===e)return;let t=this.filter.items.findIndex(s=>s.id==="datePicker"),i=this.filter.items[t]?.datePicker;t===-1||!i||(this.#s=e,this.filter.items[t]=g(c({},this.filter.items[t]),{datePicker:g(c({},i),{applyButton:e,timepickerDateLabels:e,timepickerStaticMinutes:e,timepickerTitle:e?this.hourlyTimepickerTitle:"",bsConfig:g(c({},i.bsConfig),{withTimepicker:!0,keepDatepickerOpened:!0,rangeInputFormat:e?D.DatePickerDateTime:
1D.DatePickerDate})})}))}subscribeToData(){this.isLoading.data=!0,this.subscriptions.add(this.initStatsTicker().subscribe({next:e=>{this.stats=e,this.bandwidthUsed=e.TotalBandwidthUsed,this.requestsServed=e.TotalRequestsServed,this.cacheHitRate=e.CacheHitRate,this.requestsServedChart=this.statsReMapService.getRequestsServed(e),this.originTrafficChart=this.statsReMapService.getOriginTraffic(e),this.originResponseChart=this.statsReMapService.getOriginResponseTime(e),this.originShieldTraffic=this.statsReMapService.getOriginShieldTraffic(e),this.dataCenterTrafficDistributionChart=this.statsReMapService.getDataCenterTrafficDistribution(e),this.httpRequestChart=this.statsReMapService.getHttpStatusRequests(e),this.bandwidthServedChart=this.statsReMapService.getBandwidthServed(e),this.isLoading={data:!1,isFirstLoad:!1}},error:()=>{this.isLoading={data:!1,isFirstLoad:!1},this.stats=null}}))}subscribeToFilterData(){this.isLoading.filter=!0,X([this.route.queryParams,this.pullZoneApi.getPullZones(Le.getHttpParams({addStreamZones:!0,addMagicContainerZones:!0})).pipe(ne(null))]).subscribe({next:([e,t])=>{let{datePicker:i,pullZone:s,region:d,timeframe:S}=e,p=this.getDatePickerValueArray(i);t&&(this.pullZonesSelectList=Oe.getPullZonesSelectList(t)),this.regionsSelectList=this.geoData.regionsSelectList()||[],Object.values(y).includes(S)&&this.dataGranularity.set(S);let C=this.dataGranularity()===y.hourly;if(!this.filterInitialized)this.filterInitialized=!0,this.filter.value=g(c(c({},s&&!isNaN(+s)?{pullZone:+s}:{}),d&&!isNaN(+d)?{region:+d}:{}),{datePicker:p.length>=1?this.getInitialDatePickerValue(p,C):l.getISODateRangeFromNow(14,!0)}),this.initFilter();else{let T=this.filter.items.findIndex(L=>L.id==="pullZone");T!==-1&&t&&(this.filter.items[T]=g(c({},this.filter.items[T]),{select:g(c({},this.filter.items[T].select),{items:this.pullZonesSelectList})}));let v=this.filter.items.findIndex(L=>L.id==="region");v!==-1&&this.regionsSelectList.length>0&&(this.filter.items[v]=g(c({},this.filter.items[v]),{select:g(c({},this.filter.items[v].select),{items:this.regionsSelectList})}));let k=this.filter.items.findIndex(L=>L.id==="datePicker");k!==-1&&p.length>0&&(this.filter.items[k]=g(c({},this.filter.items[k]),{value:this.getInitialDatePickerValue(p,C)})),this.updateDatePickerTimeMode(C)}this.isLoading.filter=!1},error:()=>this.isLoading.filter=!1})}initFilter(){let e=l.getISODateRangeFromNow(365),t=l.dayjsNow();this.#s=this.dataGranularity()===y.hourly,this.filter.items=[{align:"end",filterType:B.DatePicker,id:"datePicker",itemStyle:"secondary",placeholder:"Last 30 Days",value:this.filter.value.datePicker,visible:!0,datePicker:{type:"range",autoWidth:!0,applyButton:this.dataGranularity()===y.hourly,timepickerDateLabels:this.dataGranularity()===y.hourly,timepickerStaticMinutes:this.dataGranularity()===y.hourly,timepickerTitle:this.dataGranularity()===y.hourly?this.hourlyTimepickerTitle:"",timepickerActiveResolver:this.resolveTimepickerActive,bsConfig:{maxDateRange:30,minDate:new Date(e[0]),maxDate:new Date(e[1]),withTimepicker:!0,keepDatepickerOpened:!0,rangeInputFormat:this.dataGranularity()===y.hourly?D.DatePickerDateTime:
1D.DatePickerDate,ranges:[{label:"Today",value:[t.startOf("day").toDate(),t.toDate()]},{label:"Yesterday",value:[t.subtract(1,"day").startOf("day").toDate(),t.subtract(1,"day").endOf("day").toDate()]},{label:"Last 7 Days",value:[t.subtract(7,"days").toDate(),t.toDate()]},{label:"Last 14 Days",value:[t.subtract(14,"days").toDate(),t.toDate()]},{label:"Last 30 Days",value:[t.subtract(1,"month").toDate(),t.toDate()]},...[...Array(13)].map((i,s)=>{let d=t.subtract(s,"month").startOf("month");return{label:d.format(D.DatePickerRangeStats),value:[d.toDate(),d.endOf("month").toDate()]}})]},minWidth:"240px"},size:"xxs"},{align:"end",filterType:B.Dropdown,id:"pullZone",itemStyle:"secondary",select:{items:this.pullZonesSelectList,options:{isSearchable:!0,groupBy:"group",clearable:!0,innerLabel:this.#d.instant("LABELS.PULL-ZONE"),placeholder:"All Pull Zones",minWidth:"200px"},selectSize:"xxs"},value:this.filter.value.pullZone,visible:!0},{align:"end",filterType:B.Dropdown,id:"region",itemStyle:"secondary",select:{items:this.regionsSelectList,options:{isSearchable:!0,groupBy:"group",clearable:!0,innerLabel:"Region",placeholder:"All Datacenters",minWidth:"200px",flagSize:"sm"},selectSize:"xxs"},value:this.filter.value.region,visible:!0}]}initStatsTicker(){return te(ee(0,l.getDurationAsMs(...this.appConfig.api.refreshInterval.statistics)),this.manualRefresh$).pipe(oe(this.stopPolling),ie(this.statsTickerQueryParams$.pipe(ae((e,t)=>I.isDeepEqual(e,t)))),se(([,e])=>(this.isLoading.data=!0,this.statsTickerParams=g(c({},this.statsTickerParams),{loadErrors:!0}),this.statisticsApi.getStatistics(e))),re(1))}getDatePickerValueArray(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"?[e]:[]}getDatePickerCalendarDate(e){return e?.match(/^\d{4}-\d{2}-\d{2}/)?.[0]??l.toLocalTime(e).format(D.DatePickerDate)}getTodayCalendarDate(){return l.dayjsNow().format(D.DatePickerDate)}getDatePickerFilterValue(e){let t=this.getDatePickerCalendarDate(e[0]),i=this.getDatePickerCalendarDate(e[1]);return[t,i]}getHourlyDatePickerDateTime(e,t,i,s,d){let S=i?l.toLocalTime(e):l.toLocalTime(t).hour(s);return d==="start"?S.startOf("hour"):S.endOf("hour").startOf("minute")}getDailyApiDateRange(e,t){let i=l.toLocalTime(t),s=l.isToday(i)?l.dayjsNow():i.endOf("day");return{dateFrom:l.toLocalTime(e).startOf("day").format(),dateTo:s.format()}}hasDatePickerTime(e){return e.some(t=>/\d{4}-\d{2}-\d{2}T\d{2}/.test(t))}shouldStageHourlyChange(e,t,i){return e&&!t&&(i||this.#e!==null)}getInitialDatePickerValue(e,t){return t?e.length>1?e:[e[0],e[0]]:e.length>1?this.getDatePickerFilterValue(e):[this.getDatePickerCalendarDate(e[0]),this.getDatePickerCalendarDate(e[0])]}static{this.\u0275fac=function(t){return new(t||a)}}static{this.\u0275cmp=de({type:a,selectors:[["ng-component"]],features:[ce],decls:19,vars:33,consts:[["heading","Statistics"],[1,"d-flex","w-100","align-content-center","align-items-center","mb-2","justify-content-between","position-relative"],[1,"flex-grow-1"],["data-e2e","StatisticsFilterTop",3,"datePickerApply","datePickerClose","filterValuesChange","initFilterValuesChange","filterValues","isLoading","items"],[1,"d-inline-flex","justify-content-between","align-items-center","gap-2","flex-shrink-0","ms-2"],["aria-label","Refresh statistics","bn-web-ui-button","","data-e2e","StatisticsRefreshButton","itemStyle","stroke","size","sm","type","button",1,"bn-button--circle",3,"click","loading"],["containerClass","m-1","icon","arrows-rotate",3,"tooltip"],[1,"row","mb-4"],[1,"col-xl-4","mb-xl-0","mb-4"],["data-e2e","StatisticsBandwidthUsed","label","Bandwidth used",3,"chartDataSeries","edgeToEdge","isFullHeight","showChange","unit","value"],["data-e2e","StatisticsRequestsServedCard","label","Requests served","valueType","number",3,"chartDataSeries","edgeToEdge","isFullHeight","showChange","value","valueTypeOptions"],[1,"col-xl-4"],["data-e2e","StatisticsCacheHitRate","label","Cache hit rate","valueType","number",3,"chartDataSeries","edgeToEdge","isFullHeight","showChange","unit","value"],[3,"options"],[1,"mb-4"],["data-e2e","StatisticsBandwidthServed","heading","Bandwidth served",3,"isLoading"],["unit","B",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],["data-e2e","StatisticsRequestsServed","heading","Requests served",3,"isLoading"],["data-e2e","StatisticsRequestsServedChart",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],["data-e2e","StatisticsOriginResponseTime","heading","Origin response time",3,"isLoading"],["data-e2e","StatisticsOriginResponseTimeChart","unit","s",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],["data-e2e","StatisticsOriginTraffic","heading","Origin traffic",3,"isLoading"],["data-e2e","StatisticsOriginTrafficChart","unit","B",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],["data-e2e","StatisticsDataCenterTrafficDistribution","heading","Data center traffic distribution",3,"isLoading"],["data-e2e","StatisticsDataCenterTrafficDistributionChart",3,"countries","data","dataGranularity","isLoading","usageLabels"],["data-e2e","StatisticsNon2xxRequestsServed","heading","Non 2xx requests served",3,"isLoading"],["data-e2e","StatisticsNon2xxRequestsServedChart",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],["data-e2e","StatisticsOriginShieldTraffic","heading","Origin shield traffic",3,"isLoading"],["data-e2e","StatisticsOriginShieldTrafficChart","unit","B",1,"d-block","mt-4",3,"chartConfig","data","dataGranularity","isLoading","summaryLabels","timeframe"],[1,"mb-3"],[3,"theme"]],template:function(t,i){t&1&&(h(0,"bn-web-ui-content",0)(1,"div",1)(2,"div",2)(3,"bn-web-ui-filter",3),V("datePickerApply",function(){return i.applyTimeChange()})("datePickerClose",function(){return i.discardPendingHourlyChange()})("filterValuesChange",function(d){return i.onFilterChange(d)})("initFilterValuesChange",function(d){return i.onFilterChange(d)}),u()(),h(4,"div",4)(5,"button",5),V("click",function(){return i.refresh()}),m(6,"fa-icon",6),G(7,"translate"),u()()(),h(8,"div",7)(9,"div",8),m(10,"bn-web-ui-chart-card",9),G(11,"formatByte"),G(12,"formatByte"),u(),h(13,"div",8),m(14,"bn-web-ui-chart-card",10),u(),h(15,"div",11),m(16,"bn-web-ui-chart-card",12),u()(),q(17,bt,2,1)(18,Ct,2,1),u()),t&2&&(r(3),n("filterValues",i.filterValues)("isLoading",i.isLoading.filter)("items",i.filter.items),r(2),n("loading",i.isLoading.data),r(),n("tooltip",pe(7,24,"BUTTONS.REFRESH")),r(4),n("chartDataSeries",(i.stats==null?null:i.stats.BandwidthUsedChart)??null)("edgeToEdge",!0)("isFullHeight",!0)("showChange",!1)("unit",U(11,26,i.bandwidthUsed,2).unit)("value",i.bandwidthUsed||i.bandwidthUsed===0?U(12,29,i.bandwidthUsed,2).value:null),r(4),n("chartDataSeries",(i.stats==null?null:i.stats.RequestsServedChart)??null)("edgeToEdge",!0)("isFullHeight",!0)("showChange",!1)("value",i.requestsServed??null)("valueTypeOptions",o(32,$e)),r(2),n("chartDataSeries",(i.stats==null?null:i.stats.CacheHitRateChart)??null)("edgeToEdge",!0)("isFullHeight",!0)("showChange",!1)("unit",i.unit.Percent)("value",i.cacheHitRate??null),r(),O(i.isLoading.isFirstLoad?18:17))},dependencies:[Fe,Me,ve,fe,Ce,_e,we,Re,Ae,xe,Pe,ye,ke,Se],encapsulation:2})}}return a})();var Dt=[{path:"",component:Ze}],Ve=(()=>{class a{static{this.\u0275fac=function(t){return new(t||a)}}static{this.\u0275mod=M({type:a})}static{this.\u0275inj=A({imports:[j.forChild(Dt),j]})}}return a})();var ii=(()=>{class a{static{this.\u0275fac=function(t){return new(t||a)}}static{this.\u0275mod=M({type:a})}static{this.\u0275inj=A({imports:[Ve]})}}return a})();export{ii as StatisticsModule};
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.