@kong-ui-public/analytics-metric-provider 1.1.19 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(R,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/i18n"],s):(R=typeof globalThis<"u"?globalThis:R||self,s(R["kong-ui-public-vitals-metric-provider"]={},R.Vue,R["kong-ui-public-i18n"]))})(this,function(R,s,fe){"use strict";var Me=Object.defineProperty,Ve=(e,t,r)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,C=(e,t,r)=>(Ve(e,typeof t!="symbol"?t+"":t,r),r),y=(e=>(e.MINUTELY="Minutely",e.HOURLY="Hourly",e.DAILY="Daily",e.WEEKLY="Weekly",e))(y||{}),T=(e=>(e.FIFTEEN_MIN="15m",e.ONE_HOUR="1h",e.SIX_HOUR="6h",e.TWELVE_HOUR="12h",e.ONE_DAY="24h",e.SEVEN_DAY="7d",e.THIRTY_DAY="30d",e.CURRENT_WEEK="current_week",e.CURRENT_MONTH="current_month",e.CURRENT_QUARTER="current_quarter",e.PREVIOUS_WEEK="previous_week",e.PREVIOUS_MONTH="previous_month",e.PREVIOUS_QUARTER="previous_quarter",e))(T||{});const me={[y.MINUTELY]:60*1e3,[y.HOURLY]:60*60*1e3,[y.DAILY]:60*60*24*1e3,[y.WEEKLY]:60*60*24*7*1e3};function Pe(e,t){return e?{duration:e,type:"duration",origin:t}:null}function he(e,t,r){const i=me[r],a=i>=me[y.DAILY]?t.getTimezoneOffset()*60*1e3:0;return new Date(e((t.getTime()-a)/i)*i+a)}function ye(e,t){return he(Math.floor,e,t)}function Ye(e,t){return he(Math.ceil,e,t)}function G(e){"@babel/helpers - typeof";return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},G(e)}function _(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function w(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function L(e){w(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||G(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function Q(e,t){w(2,arguments);var r=L(e),i=_(t);return isNaN(i)?new Date(NaN):(i&&r.setDate(r.getDate()+i),r)}function Fe(e,t){w(2,arguments);var r=L(e),i=_(t);if(isNaN(i))return new Date(NaN);if(!i)return r;var a=r.getDate(),n=new Date(r.getTime());n.setMonth(r.getMonth()+i+1,0);var l=n.getDate();return a>=l?n:(r.setFullYear(n.getFullYear(),n.getMonth(),a),r)}var xe={};function Be(){return xe}function z(e,t){var r,i,a,n,l,f,d,o;w(1,arguments);var u=Be(),c=_((r=(i=(a=(n=t==null?void 0:t.weekStartsOn)!==null&&n!==void 0?n:t==null||(l=t.locale)===null||l===void 0||(f=l.options)===null||f===void 0?void 0:f.weekStartsOn)!==null&&a!==void 0?a:u.weekStartsOn)!==null&&i!==void 0?i:(d=u.locale)===null||d===void 0||(o=d.options)===null||o===void 0?void 0:o.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=L(e),h=m.getDay(),p=(h<c?7:0)+h-c;return m.setDate(m.getDate()-p),m.setHours(0,0,0,0),m}function pe(e){w(1,arguments);var t=L(e);return t.setHours(0,0,0,0),t}var He=60,$e=3600;function V(e){w(1,arguments);var t=L(e);return t.setDate(1),t.setHours(0,0,0,0),t}function Ge(e){w(1,arguments);var t=L(e),r=t.getFullYear(),i=t.getMonth(),a=new Date(0);return a.setFullYear(r,i+1,0),a.setHours(0,0,0,0),a.getDate()}function Z(e){w(1,arguments);var t=L(e),r=t.getTime();return r}function ge(e){return w(1,arguments),Math.floor(Z(e)/1e3)}function ze(e){return w(1,arguments),Math.floor(e*$e)}function Ke(e,t){w(2,arguments);var r=_(t);return Q(e,-r)}function qe(e){w(1,arguments);var t=e/He;return Math.floor(t)}function J(e,t){w(2,arguments);var r=_(t);return Fe(e,-r)}function je(e,t){if(w(2,arguments),!t||G(t)!=="object")return new Date(NaN);var r=t.years?_(t.years):0,i=t.months?_(t.months):0,a=t.weeks?_(t.weeks):0,n=t.days?_(t.days):0,l=t.hours?_(t.hours):0,f=t.minutes?_(t.minutes):0,d=t.seconds?_(t.seconds):0,o=J(e,i+r*12),u=Ke(o,n+a*7),c=f+l*60,m=d+c*60,h=m*1e3,p=new Date(u.getTime()-h);return p}class X{constructor(t){if(C(this,"timeframe"),this.constructor===X)throw new Error("BaseQueryTime is not meant to be used directly.");this.timeframe=t}calculateStartDate(t,r,i=1){if(t)return new Date(this.endDate().getTime()-this.timeframe.timeframeLengthMs()*i);{const a=this.endDate(),n=ye(this.timeframe.rawStart(),r),l=(a.getTime()-n.getTime())*(i-1);return ye(new Date(this.timeframe.rawStart().getTime()-l),r)}}granularitySeconds(){return Math.floor(this.granularityMs()/1e3)}granularityDruid(){return Pe(this.granularityMs(),this.startDate().toISOString())}startSeconds(){return ge(this.startDate())}endSeconds(){return ge(this.endDate())}startMs(){return Z(this.startDate())}endMs(){return Z(this.endDate())}withinFreeTier(){return this.startDate()>=je(new Date,{days:1})}}let ve=class extends X{startDate(){return this.calculateStartDate(this.timeframe.isRelative,this.timeframe.dataGranularity)}endDate(){return Ye(this.timeframe.rawEnd(),this.timeframe.dataGranularity)}granularityMs(){return this.endDate().getTime()-this.startDate().getTime()}},We=class extends ve{startDate(){return this.calculateStartDate(this.timeframe.isRelative,this.timeframe.dataGranularity,2)}granularityMs(){return this.endDate().getTime()-super.startDate().getTime()}};class I{constructor(t){C(this,"timeframeText"),C(this,"key"),C(this,"display"),C(this,"timeframeLength"),C(this,"allowedTiers"),C(this,"defaultResponseGranularity"),C(this,"dataGranularity"),C(this,"isRelative"),C(this,"_startCustom"),C(this,"_endCustom"),this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom}rawEnd(){return this._endCustom||new Date}rawStart(){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(){const t=new Set,r=this.maximumTimeframeLength()/3600;return r<=6&&t.add(y.MINUTELY),r>=2&&r<=7*24&&t.add(y.HOURLY),r>=2*24&&t.add(y.DAILY),r>=2*24*14&&t.add(y.WEEKLY),t}}class Qe extends I{rawStart(){return z(new Date,{weekStartsOn:1})}maximumTimeframeLength(){return 60*60*24*7}}let Ze=class extends I{rawStart(){return V(new Date)}maximumTimeframeLength(){return 60*60*24*31}},Je=class extends I{rawEnd(){return z(new Date,{weekStartsOn:1})}rawStart(){return z(new Date().setDate(new Date().getDate()-7),{weekStartsOn:1})}},Xe=class extends I{rawEnd(){return V(new Date)}rawStart(){return V(J(new Date,1))}};const Te=new Map([[T.FIFTEEN_MIN,new I({key:T.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>60*15,defaultResponseGranularity:y.MINUTELY,dataGranularity:y.MINUTELY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.ONE_HOUR,new I({key:T.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>60*60*1,defaultResponseGranularity:y.MINUTELY,dataGranularity:y.MINUTELY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.SIX_HOUR,new I({key:T.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>60*60*6,defaultResponseGranularity:y.HOURLY,dataGranularity:y.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.TWELVE_HOUR,new I({key:T.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>60*60*12,defaultResponseGranularity:y.HOURLY,dataGranularity:y.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.ONE_DAY,new I({key:T.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>60*60*24,defaultResponseGranularity:y.HOURLY,dataGranularity:y.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.SEVEN_DAY,new I({key:T.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>60*60*24*7,defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!0,allowedTiers:["trial","plus","enterprise"]})],[T.THIRTY_DAY,new I({key:T.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>60*60*24*30,defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!0,allowedTiers:["trial","plus","enterprise"]})],[T.CURRENT_WEEK,new Qe({key:T.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const e=z(new Date,{weekStartsOn:1});return(pe(Q(new Date,1)).getTime()-e.getTime())/1e3},defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.CURRENT_MONTH,new Ze({key:T.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const e=V(new Date);return(pe(Q(new Date,1)).getTime()-e.getTime())/1e3},defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.PREVIOUS_WEEK,new Je({key:T.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>60*60*24*7,defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.PREVIOUS_MONTH,new Xe({key:T.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let e=0;const t=V(new Date),r=V(J(new Date,1));return t.getTimezoneOffset()!==r.getTimezoneOffset()&&(e=et(t,r)),60*60*24*Ge(new Date().setMonth(new Date().getMonth()-1))+ze(e)},defaultResponseGranularity:y.DAILY,dataGranularity:y.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})]]);function et(e,t){return qe(e.getTimezoneOffset()-t.getTimezoneOffset())}const tt={general:{notAvailable:"N/A"},metricCard:{short:{traffic:"Requests",errorRate:"Error Rate",latency:"P99 Latency"},long:{traffic:"Number of Requests",errorRate:"Average Error Rate",latency:"P99 Latency"}}};function rt(){const e=fe.createI18n("en-us",tt);return{i18n:e,i18nT:fe.i18nTComponent(e)}}var N=(e=>(e.API_PRODUCT="API_PRODUCT",e.API_PRODUCT_VERSION="API_PRODUCT_VERSION",e.RUNTIME_GROUP="RUNTIME_GROUP",e.GATEWAY_INSTANCE_ID="GATEWAY_INSTANCE_ID",e.GATEWAY_SERVICE="GATEWAY_SERVICE",e.ROUTE="ROUTE",e.APPLICATION="APPLICATION",e.STATUS_CODE="STATUS_CODE",e.STATUS_CODE_GROUPED="STATUS_CODE_GROUPED",e.TIME="TIME",e.ORGANIZATION="ORGANIZATION",e))(N||{}),K=(e=>(e.REQUEST_COUNT="REQUEST_COUNT",e.REQUEST_PER_MINUTE="REQUEST_PER_MINUTE",e.RESPONSE_LATENCY_P99="RESPONSE_LATENCY_P99",e.RESPONSE_LATENCY_P95="RESPONSE_LATENCY_P95",e.RESPONSE_LATENCY_P50="RESPONSE_LATENCY_P50",e.RESPONSE_SIZE_P99="RESPONSE_SIZE_P99",e.RESPONSE_SIZE_P95="RESPONSE_SIZE_P95",e.RESPONSE_SIZE_P50="RESPONSE_SIZE_P50",e.REQUEST_SIZE_P99="REQUEST_SIZE_P99",e.REQUEST_SIZE_P95="REQUEST_SIZE_P95",e.REQUEST_SIZE_P50="REQUEST_SIZE_P50",e))(K||{}),ee=(e=>(e.IN="IN",e.NOT_IN="NOT_IN",e))(ee||{});const nt=2,B=["1XX","2XX","3XX","4XX","5XX"],Ee=["4XX","5XX"];var Se=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(Se||{});const at=e=>{var t,r,i,a,n;return e?!!((t=Object.keys(e))!=null&&t.length||(r=e.data)!=null&&r.length||(a=(i=e.data)==null?void 0:i.data)!=null&&a.length||!((n=e.data)!=null&&n.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function it(e=s.ref({}),t,r,i=at){const a=s.ref("PENDING");return s.watchEffect(()=>{const n=i(e.value);if(e.value&&n&&r.value){a.value="VALIDATING_HAS_DATA";return}if(e.value&&r.value){a.value="VALIDATING";return}if(e.value&&t.value){a.value="STALE_IF_ERROR";return}if(e.value===void 0&&!t.value){a.value="PENDING";return}if(e.value&&!t.value&&n){a.value="SUCCESS_HAS_DATA";return}if(e.value&&!t.value){a.value="SUCCESS";return}e.value===void 0&&t&&(a.value="ERROR")}),{state:a,swrvState:Se}}const k=Symbol("default"),te=N.STATUS_CODE_GROUPED,Re=(e,t,r,i,a)=>{e[t][r]||(e[t][r]={}),e[t][r][i]=a};function st(e,t,r){var f;const i=((f=e.meta.metricNames)==null?void 0:f[0])||"",a=Object.keys(e.meta.dimensions||{}),n=!!a.find(d=>d===te),l=a.find(d=>d!==te);return a.length>2||a.length>1&&!n?(console.error("Don't know how to work with provided dimensions:",a),{previous:{[k]:{[k]:0}},current:{[k]:{[k]:0}}}):e.records.reduce((d,o)=>{const u=o.event[i],c=l?o.event[l]:k,m=n?o.event[te]:k;return new Date(o.timestamp).getTime()===t.startDate().getTime()&&r?Re(d,"previous",c,m,u):Re(d,"current",c,m,u),d},{previous:{},current:{}})}function ot(e){e.queryReady===void 0&&(e.queryReady=s.computed(()=>!0));const t=s.computed(()=>e.withTrend?new We(e.timeframe.value):new ve(e.timeframe.value)),r=s.computed(()=>{var c,m;return{metrics:e.metrics,dimensions:[...(c=e.dimensions)!=null&&c.length?[...e.dimensions]:[],...e.withTrend?[N.TIME]:[]],granularityMs:t.value.granularityMs(),...(m=e.filter.value)!=null&&m.length?{filter:e.filter.value}:{}}}),i=s.computed(()=>`${t.value.endDate().toString()}-${t.value.startDate().toString()}`),a=s.computed(()=>{var m,h,p,g;if(!((m=e.queryReady)!=null&&m.value)||e.featureFlags&&!e.featureFlags.every(S=>S))return null;const c=(h=e.filter)!=null&&h.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${i.value}-${(p=e.dimensions)==null?void 0:p.join("-")}-${(g=e.metrics)==null?void 0:g.join("-")}-${c}`}),{response:n,error:l,isValidating:f}=x.useRequest(()=>a.value,()=>e.dataFetcher(t.value,r.value),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:nt}),{state:d,swrvState:o}=it(n,l,f),u=s.computed(()=>{var c,m,h,p,g,S,A,E,v,U;return!((h=(m=(c=n.value)==null?void 0:c.data)==null?void 0:m.records)!=null&&h.length)||!((S=(g=(p=n.value)==null?void 0:p.data)==null?void 0:g.meta)!=null&&S.dimensions)||!((U=(v=(E=(A=n.value)==null?void 0:A.data)==null?void 0:E.meta)==null?void 0:v.metricNames)!=null&&U.length)?{current:{},previous:{}}:st(n.value.data,t.value,!!e.withTrend)});return{isLoading:s.computed(()=>o.PENDING===d.value),hasError:s.computed(()=>o.ERROR===d.value),raw:n,mapped:u}}const P=(e,t,r=k,i)=>(i??[k]).reduce((n,l)=>{const f=e[t][r];return f?n+(f[l]||0):n},0);function lt(e){const{title:t,record:r,hasError:i,increaseIsBad:a,formatValueFn:n}=e;return s.computed(()=>{let l=0,f=0;if(r!=null&&r.value)try{l=P(r.value,"current",e.lookupKey,e.sumGroupedValues),f=P(r.value,"previous",e.lookupKey,e.sumGroupedValues)}catch(d){console.error("Metric card data doesn't have the expected structure:",d)}return{hasError:i.value,currentValue:l,previousValue:f,title:t.value,increaseIsBad:!!a,formatValueFn:n}})}var re=new WeakMap,we=0;function ut(e){if(!e.length)return"";for(var t="arg",r=0;r<e.length;++r){var i=void 0;e[r]===null||typeof e[r]!="object"&&typeof e[r]!="function"?typeof e[r]=="string"?i='"'+e[r]+'"':i=String(e[r]):re.has(e[r])?i=re.get(e[r]):(i=we,re.set(e[r],we++)),t+="@"+i}return t}function ct(e){if(typeof e=="function")try{e=e()}catch{e=""}return Array.isArray(e)?e=ut(e):e=String(e||""),e}var ne=function(){function e(t){t===void 0&&(t=0),this.items=new Map,this.ttl=t}return e.prototype.serializeKey=function(t){return ct(t)},e.prototype.get=function(t){var r=this.serializeKey(t);return this.items.get(r)},e.prototype.set=function(t,r,i){var a=this.serializeKey(t),n=i||this.ttl,l=Date.now(),f={data:r,createdAt:l,expiresAt:n?l+n:1/0};this.dispatchExpire(n,f,a),this.items.set(a,f)},e.prototype.dispatchExpire=function(t,r,i){var a=this;t&&setTimeout(function(){var n=Date.now(),l=n>=r.expiresAt;l&&a.delete(i)},t)},e.prototype.delete=function(t){this.items.delete(t)},e}();function dt(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function ft(){return typeof document<"u"&&typeof document.visibilityState<"u"?document.visibilityState!=="hidden":!0}var mt=function(e){return fetch(e).then(function(t){return t.json()})};const ae={isOnline:dt,isDocumentVisible:ft,fetcher:mt};var O=globalThis&&globalThis.__assign||function(){return O=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++){t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},O.apply(this,arguments)},Y=globalThis&&globalThis.__awaiter||function(e,t,r,i){function a(n){return n instanceof r?n:new r(function(l){l(n)})}return new(r||(r=Promise))(function(n,l){function f(u){try{o(i.next(u))}catch(c){l(c)}}function d(u){try{o(i.throw(u))}catch(c){l(c)}}function o(u){u.done?n(u.value):a(u.value).then(f,d)}o((i=i.apply(e,t||[])).next())})},F=globalThis&&globalThis.__generator||function(e,t){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,a,n,l;return l={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function f(o){return function(u){return d([o,u])}}function d(o){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,a&&(n=o[0]&2?a.return:o[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,o[1])).done)return n;switch(a=0,n&&(o=[o[0]&2,n.value]),o[0]){case 0:case 1:n=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,a=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(n=r.trys,!(n=n.length>0&&n[n.length-1])&&(o[0]===6||o[0]===2)){r=0;continue}if(o[0]===3&&(!n||o[1]>n[0]&&o[1]<n[3])){r.label=o[1];break}if(o[0]===6&&r.label<n[1]){r.label=n[1],n=o;break}if(n&&r.label<n[2]){r.label=n[2],r.ops.push(o);break}n[2]&&r.ops.pop(),r.trys.pop();continue}o=t.call(e,r)}catch(u){o=[6,u],a=0}finally{i=n=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}},ht=globalThis&&globalThis.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var i=r.call(e),a,n=[],l;try{for(;(t===void 0||t-- >0)&&!(a=i.next()).done;)n.push(a.value)}catch(f){l={error:f}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(l)throw l.error}}return n},yt=globalThis&&globalThis.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var i=0,a=t.length,n;i<a;i++)(n||!(i in t))&&(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},De=new ne,q=new ne,ie=new ne,_e={cache:De,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:ae.fetcher,isOnline:ae.isOnline,isDocumentVisible:ae.isDocumentVisible};function pt(e,t,r){var i=q.get(e);if(i)i.data.push(t);else{var a=5e3;q.set(e,[t],r>0?r+a:r)}}function gt(e,t,r){if(r.isDocumentVisible()&&!(r.errorRetryCount!==void 0&&t>r.errorRetryCount)){var i=Math.min(t||0,r.errorRetryCount),a=i*r.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:i+1,shouldRetryOnError:!0})},a)}}var Ce=function(e,t,r,i){return r===void 0&&(r=De),i===void 0&&(i=_e.ttl),Y(void 0,void 0,void 0,function(){var a,n,l,f,d,o,u;return F(this,function(c){switch(c.label){case 0:if(!Tt(t))return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,t];case 2:return a=c.sent(),[3,4];case 3:return f=c.sent(),n=f,[3,4];case 4:return[3,6];case 5:a=t,c.label=6;case 6:if(l=!1,d={data:a,error:n,isValidating:l},typeof a<"u")try{r.set(e,d,i)}catch(m){console.error("swrv(mutate): failed to set cache",m)}return o=q.get(e),o&&o.data.length&&(u=o.data.filter(function(m){return m.key===e}),u.forEach(function(m,h){typeof d.data<"u"&&(m.data=d.data),m.error=d.error,m.isValidating=d.isValidating;var p=h===u.length-1;p||delete u[h]}),u=u.filter(Boolean)),[2,d]}})})};function vt(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var i,a,n=O({},_e),l=!1,f=!1,d=s.getCurrentInstance(),o=(d==null?void 0:d.proxy)||d;if(!o)return console.error("Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function."),null;var u=(o==null?void 0:o.$isServer)||!1;t.length>=1&&(i=t[0]),t.length>=2&&(a=t[1]),t.length>2&&(n=O(O({},n),t[2]));var c=u?n.serverTTL:n.ttl,m=typeof i=="function"?i:s.ref(i);typeof a>"u"&&(a=n.fetcher);var h=null;h||(h=s.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var p=function(E,v){return Y(e,void 0,void 0,function(){var U,D,H,$,le,Ne,ue,ke=this;return F(this,function(ce){switch(ce.label){case 0:return U=h.data===void 0,D=m.value,D?(H=n.cache.get(D),$=H&&H.data,h.isValidating=!0,$&&(h.data=$.data,h.error=$.error),le=E||a,!le||!n.isDocumentVisible()&&!U||(v==null?void 0:v.forceRevalidate)!==void 0&&!(v!=null&&v.forceRevalidate)?(h.isValidating=!1,[2]):H&&(Ne=!!(Date.now()-H.createdAt>=n.dedupingInterval||v!=null&&v.forceRevalidate),!Ne)?(h.isValidating=!1,[2]):(ue=function(){return Y(ke,void 0,void 0,function(){var M,Le,de,Ue;return F(this,function(W){switch(W.label){case 0:return M=ie.get(D),M?[3,2]:(Le=Array.isArray(D)?D:[D],de=le.apply(void 0,yt([],ht(Le),!1)),ie.set(D,de,n.dedupingInterval),[4,Ce(D,de,n.cache,c)]);case 1:return W.sent(),[3,4];case 2:return[4,Ce(D,M.data,n.cache,c)];case 3:W.sent(),W.label=4;case 4:return h.isValidating=!1,ie.delete(D),h.error!==void 0&&(Ue=!l&&n.shouldRetryOnError&&(v?v.shouldRetryOnError:!0),Ue&>(p,v?v.errorRetryCount:1,n)),[2]}})})},$&&n.revalidateDebounce?(setTimeout(function(){return Y(ke,void 0,void 0,function(){return F(this,function(M){switch(M.label){case 0:return l?[3,2]:[4,ue()];case 1:M.sent(),M.label=2;case 2:return[2]}})})},n.revalidateDebounce),[3,3]):[3,1])):[2];case 1:return[4,ue()];case 2:ce.sent(),ce.label=3;case 3:return[2]}})})},g=function(){return Y(e,void 0,void 0,function(){return F(this,function(E){return[2,p(null,{shouldRetryOnError:!1})]})})},S=null;s.onMounted(function(){var E=function(){return Y(e,void 0,void 0,function(){return F(this,function(v){switch(v.label){case 0:return!h.error&&n.isOnline()?[4,p()]:[3,2];case 1:return v.sent(),[3,3];case 2:S&&clearTimeout(S),v.label=3;case 3:return n.refreshInterval&&!l&&(S=setTimeout(E,n.refreshInterval)),[2]}})})};n.refreshInterval&&(S=setTimeout(E,n.refreshInterval)),n.revalidateOnFocus&&(document.addEventListener("visibilitychange",g,!1),window.addEventListener("focus",g,!1))}),s.onUnmounted(function(){l=!0,S&&clearTimeout(S),n.revalidateOnFocus&&(document.removeEventListener("visibilitychange",g,!1),window.removeEventListener("focus",g,!1));var E=q.get(m.value);E&&(E.data=E.data.filter(function(v){return v!==h}))});try{s.watch(m,function(E){s.isReadonly(m)||(m.value=E),h.key=E,h.isValidating=!!E,pt(m.value,h,c),!u&&!f&&m.value&&p(),f=!1},{immediate:!0})}catch{}var A=O(O({},s.toRefs(h)),{mutate:function(E,v){return p(E,O(O({},v),{forceRevalidate:!0}))}});return A}function Tt(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Et(e,t,r){const{data:i,error:a,isValidating:n,mutate:l}=vt(e,t,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...r});return{data:s.computed(()=>{var d;return(d=i.value)==null?void 0:d.data}),response:i,error:a,isValidating:n,revalidate:l}}const x={useI18n:rt,useMetricCardBuilder:lt,useMetricFetcher:ot,useRequest:Et},Ie=Symbol("METRICS_PROVIDER_KEY"),St=e=>{const{dimension:t,dimensionFilterValue:r,additionalFilter:i,queryReady:a,timeframe:n,hasTrendAccess:l,refreshInterval:f,dataFetcher:d}=e;if(r&&!t)throw new Error("Must provide a dimension if filtering by a value");const o=!!(t&&r),u=!!(t&&!r),c=s.computed(()=>{const S=[];return o&&S.push({dimension:t,type:ee.IN,values:[r]}),i.value&&S.push(...i.value),S}),m={metrics:[K.REQUEST_COUNT],dimensions:[...t&&!o?[t]:[],N.STATUS_CODE_GROUPED],filter:c,queryReady:a,timeframe:n,withTrend:l&&!u,refreshInterval:f,dataFetcher:d},h={metrics:[K.RESPONSE_LATENCY_P99],...t&&!o?{dimensions:[t]}:{},filter:c,queryReady:a,timeframe:n,withTrend:l&&!u,refreshInterval:f,dataFetcher:d},p=x.useMetricFetcher(m),g=x.useMetricFetcher(h);return{trafficData:p,latencyData:g}},Rt=s.defineComponent({__name:"MetricsProviderInternal",props:{maxTimeframe:{default:T.THIRTY_DAY},overrideTimeframe:{default:void 0},dimension:{default:void 0},filterValue:{default:void 0},additionalFilter:{default:void 0},queryReady:{type:Boolean,default:!0},dataFetcher:{},hasTrendAccess:{type:Boolean},refreshInterval:{},longCardTitles:{type:Boolean,default:!1}},setup(e){const t=e;if(t.dimension&&!{}.hasOwnProperty.call(N,t.dimension))throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${t.dimension}`);const r=s.computed(()=>{if(t.overrideTimeframe)return t.overrideTimeframe;const n=t.hasTrendAccess?Te.get(t.maxTimeframe):Te.get(T.ONE_DAY);if(!n)throw new Error("Metrics provider failed to resolve fallback timeframe.");return n}),{trafficData:i,latencyData:a}=St({dimension:t.dimension,dimensionFilterValue:t.filterValue,additionalFilter:s.toRef(t,"additionalFilter"),queryReady:s.toRef(t,"queryReady"),timeframe:r,hasTrendAccess:t.hasTrendAccess,refreshInterval:t.refreshInterval,dataFetcher:t.dataFetcher});return s.provide(Ie,{data:{traffic:i,latency:a},hasTrendAccess:t.hasTrendAccess,longCardTitles:t.longCardTitles}),(n,l)=>s.renderSlot(n.$slots,"default",{hasTrendAccess:t.hasTrendAccess,timeframe:r.value})}});function wt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ae={exports:{}};(function(e){(function(){function t(o,u){if(u.separator===!1||o<1e3)return o.toString();var c=typeof u.separator=="string"?u.separator:",",m=[],h=Math.round(o).toString().split("");return h.reverse().forEach(function(p,g){g&&g%3===0&&m.push(c),m.push(p)}),m.reverse().join("")}function r(o,u,c){var m=o/u,h=c.round?"round":"floor";return c.decimal===!1?(o=Math[h](m),o.toString()):(c.precision?o=m:o=m<10?Math[h](m*10)/10:Math[h](m),o=o.toString(),typeof c.decimal=="string"&&(o=o.replace(".",c.decimal)),o)}var i=1e3,a=1e4,n=1e6,l=1e9,f=1e12;function d(o,u){var c;u=u||{};var m=o<0;m&&(o=Math.abs(o)),u.precision&&(o=parseFloat(o.toPrecision(u.precision)));var h=u.min10k?a:i;return o<h||u.precision&&u.precision>Math.log10(o)?c=t(r(o,1,u),u):o<n?c=r(o,i,u)+"k":o<l?c=r(o,n,u)+"m":o<f?c=t(r(o,l,u),u)+"b":c=t(r(o,f,u),u)+"t",m&&(c="-"+c),u.capital&&(c=c.toUpperCase()),u.prefix&&(c=u.prefix+c),u.suffix&&(c=c+u.suffix),c}d.addCommas=t,e.exports=d})()})(Ae);var Dt=Ae.exports;const _t=wt(Dt);var b=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(b||{});const se=2,Oe=se+2,Ct=(e,t,r=!1)=>{let i=!t||Number(e.toFixed(Oe))===0?0:Number(e.toFixed(Oe))>0?1:-1;return r&&(i*=-1),i},It=(e,t,r)=>t?`${Math.abs(e*100).toFixed(se)}%`:r,At=(e,t)=>t===0?0:e/t-1,Ot=(e,t=!1)=>(t&&(e*=-1),e>0?"arrowUp":e<0?"arrowDown":"noData"),bt={class:"metricscard"},Nt={key:0,class:"metricscard-error"},kt={key:1,class:"metricscard-value"},Lt=s.defineComponent({__name:"MetricsCard",props:{title:{type:String,default:"0%",required:!0},tooltip:{type:String,required:!1,default:""},timeframe:{type:String,required:!1,default:""},metricValue:{type:String,default:""},metricChange:{type:String,required:!0},changePolarity:{type:Number,required:!0},icon:{type:String,default:""},hasError:{type:Boolean,default:!1},errorMessage:{type:String,default:"Vitals data error"},cardSize:{type:String,required:!1,default:()=>"lg"}},setup(e){const t=e,r=l=>{const f={red:"var(--kong-ui-metric-card-trend-negative, var(--red-500, '#d44324'))",green:"var(--kong-ui-metric-card-trend-positive, var(--green-500, '#07a88d'))",grey:"var(--kong-ui-metric-card-trend-neutral, var(--grey-500, '#6f7787'))"};return l>0?f.green:l<0?f.red:f.grey},i=l=>l>0?"positive":l<0?"negative":"neutral",a=[b.Medium,b.Large].includes(t.cardSize),n=t.cardSize===b.ExtraLarge?"48px":[b.Medium,b.Large].includes(t.cardSize)?"22px":"16px";return(l,f)=>{const d=s.resolveComponent("KIcon"),o=s.resolveComponent("KTooltip");return s.openBlock(),s.createElementBlock("div",bt,[s.createElementVNode("div",{class:s.normalizeClass(["metricscard-title",e.cardSize])},[s.createElementVNode("span",null,s.toDisplayString(e.title),1),e.tooltip?(s.openBlock(),s.createBlock(o,{key:0,class:"metricscard-tooltip",label:e.tooltip,placement:"right"},{default:s.withCtx(()=>[s.createVNode(d,{icon:"info",size:"12"})]),_:1},8,["label"])):s.createCommentVNode("",!0)],2),e.hasError?(s.openBlock(),s.createElementBlock("div",Nt,[s.createVNode(d,{icon:"warning",size:"20"}),s.createElementVNode("div",null,s.toDisplayString(e.errorMessage),1)])):(s.openBlock(),s.createElementBlock("div",kt,[s.createElementVNode("div",{style:s.normalizeStyle(`font-size:${s.unref(n)}`)},s.toDisplayString(e.metricValue),5),s.unref(a)?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["metricscard-value-trend",i(e.changePolarity)])},[e.changePolarity!==0?(s.openBlock(),s.createBlock(d,{key:0,color:r(e.changePolarity),icon:e.icon,size:"18"},null,8,["color","icon"])):s.createCommentVNode("",!0),s.createElementVNode("div",null,s.toDisplayString(e.metricChange),1)],2)):s.createCommentVNode("",!0)]))])}}}),oe=(e,t)=>{const r=e.__vccOpts||e;for(const[i,a]of t)r[i]=a;return r},Ut=oe(Lt,[["__scopeId","data-v-ee980c4c"]]),Mt={},Vt={class:"loading-tabs"};function Pt(e,t){const r=s.resolveComponent("KSkeletonBox");return s.openBlock(),s.createElementBlock("div",Vt,[s.createVNode(r,{width:"100"}),s.createVNode(r,{width:"75"})])}const Yt=oe(Mt,[["render",Pt],["__scopeId","data-v-e4239529"]]),Ft={key:0,class:"error-display"},xt={key:0,class:"error-display-message"},Bt=oe(s.defineComponent({__name:"MetricCardContainer",props:{fallbackDisplayText:{type:String,required:!0},cards:{type:Array,required:!0},errorMessage:{type:String,required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},hasTrendAccess:{type:Boolean,required:!1,default:!0},cardSize:{type:String,required:!1,default:()=>b.Large}},setup(e){const t=e,r=s.computed(()=>t.cards.every(a=>(a==null?void 0:a.hasError)===!0)),i=a=>{const n=At(a.currentValue,a.previousValue)||0,l=Ct(n,t.hasTrendAccess,a.increaseIsBad);return{metricValue:a.formatValueFn?a.formatValueFn(a.currentValue):_t(a.currentValue,{capital:!0,round:!0})||"0",metricChange:a.formatChangeFn?a.formatChangeFn(n):It(n,t.hasTrendAccess,t.fallbackDisplayText),changePolarity:l,icon:Ot(l,a.increaseIsBad),cardSize:t.cardSize}};return(a,n)=>{const l=s.resolveComponent("KIcon");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[s.unref(r)?(s.openBlock(),s.createElementBlock("div",Ft,[s.createVNode(l,{class:"error-display-icon",icon:"warning",size:"24"}),e.errorMessage?(s.openBlock(),s.createElementBlock("div",xt,s.toDisplayString(e.errorMessage),1)):s.createCommentVNode("",!0)])):(s.openBlock(!0),s.createElementBlock(s.Fragment,{key:1},s.renderList(e.cards,(f,d)=>(s.openBlock(),s.createElementBlock(s.Fragment,null,[e.loading?(s.openBlock(),s.createBlock(Yt,{key:`skeleton-${d}`,class:s.normalizeClass(e.cardSize===s.unref(b).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(s.openBlock(),s.createBlock(Ut,s.mergeProps({key:d},i(f),{"card-size":e.cardSize,"error-message":e.errorMessage,"has-error":f.hasError,title:f.title,tooltip:f.tooltip}),null,16,["card-size","error-message","has-error","title","tooltip"]))],64))),256))],2)}}}),[["__scopeId","data-v-390af84f"]]),qt="",Ht=s.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:b.Large},cardToDisplay:{default:void 0}},setup(e){const t=e,r=s.inject(Ie);if(!r)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:i,latency:a}=r.data,{i18n:n}=x.useI18n(),l=x.useMetricCardBuilder({title:s.computed(()=>r.longCardTitles?n.t("metricCard.long.traffic"):n.t("metricCard.short.traffic")),record:i.mapped,hasError:i.hasError,lookupKey:t.lookupKey,sumGroupedValues:B}),f=g=>`${g.toFixed(se)}%`,d=s.computed(()=>{const g=i.mapped.value,S=P(g,"current",t.lookupKey,Ee),A=P(g,"current",t.lookupKey,B),E=S/A*100||0,v=P(g,"previous",t.lookupKey,Ee),U=P(g,"previous",t.lookupKey,B),D=v/U*100||0;return{hasError:i.hasError.value,currentValue:E,previousValue:D,formatValueFn:f,title:r.longCardTitles?n.t("metricCard.long.errorRate"):n.t("metricCard.short.errorRate"),increaseIsBad:!0}}),o=g=>`${g}ms`,u=x.useMetricCardBuilder({title:s.computed(()=>r.longCardTitles?n.t("metricCard.long.latency"):n.t("metricCard.short.latency")),hasError:a.hasError,record:a.mapped,lookupKey:t.lookupKey,increaseIsBad:!0,formatValueFn:o}),c=s.computed(()=>t.cardToDisplay==="TRAFFIC"?[l.value]:t.cardToDisplay==="ERROR_RATE"?[d.value]:t.cardToDisplay==="LATENCY"?[u.value]:[l.value,d.value,u.value]),m=s.computed(()=>t.cardToDisplay==="TRAFFIC"||t.cardToDisplay==="ERROR_RATE"?i.isLoading.value:t.cardToDisplay==="LATENCY"?a.isLoading.value:i.isLoading.value||a.isLoading.value),h=s.computed(()=>({cards:c.value,loading:m.value,hasTrendAccess:r.hasTrendAccess,fallbackDisplayText:n.t("general.notAvailable"),cardSize:t.cardSize,hideTitle:!0})),p=s.computed(()=>({loading:h.value.loading,trafficCard:l.value,errorRateCard:d.value,latencyCard:u.value,errorRateFormatted:f(d.value.currentValue),latencyFormatted:o(u.value.currentValue)}));return(g,S)=>s.renderSlot(g.$slots,"default",{cardValues:p.value},()=>[s.createVNode(s.unref(Bt),s.normalizeProps(s.guardReactiveProps(h.value)),null,16)])}}),j=e=>new Date(e),$t=(e,t)=>{const r=e.body,{startMs:i,endMs:a}=e.query,n=typeof i!="number"?parseInt(i,10):i,l=typeof a!="number"?parseInt(a,10):a;e.reply({statusCode:200,body:be(r,n,l,t)})},be=(e,t,r,i)=>{var c,m;const a=e.granularityMs||0,n=a?(r-t)/a:1;if(n!==1&&n!==2)throw new Error("Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?");if((e.dimensions??[]).length>2)throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);const l=(e.dimensions??[]).find(h=>h!=="TIME"),f=(i==null?void 0:i.dimensionNames)??[],d=Math.max(f.length,1),o=[];for(let h=0;h<n;h++)for(let p=0;p<d;p++){const g=l?{[l]:f[p]}:{};(c=e.dimensions)!=null&&c.includes(N.STATUS_CODE_GROUPED)?B.forEach(S=>{const A=e.metrics.reduce((E,v)=>(E[v]=(n-h)*1e3+100*p+1,E),{...g,STATUS_CODE_GROUPED:S});o.push({version:"v1",timestamp:h===0?j(t).toISOString():j(t+a).toISOString(),event:A})}):o.push({version:"v1",timestamp:h===0?j(t).toISOString():j(t+a).toISOString(),event:e.metrics.reduce((S,A)=>(S[A]=(n-h)*1e3+100*p+1,S),{...g})})}const u={start:t,end:r,granularity:a,dimensions:l?{[l]:f,...(m=e.dimensions)!=null&&m.includes(N.STATUS_CODE_GROUPED)?{STATUS_CODE_GROUPED:B}:{}}:{},metricNames:e.metrics};return{records:o,meta:u}};R.EXPLORE_V2_AGGREGATIONS=K,R.EXPLORE_V2_DIMENSIONS=N,R.EXPLORE_V2_FILTER_TYPES=ee,R.MetricsConsumer=Ht,R.MetricsProviderInternal=Rt,R.mockExploreResponse=be,R.mockExploreResponseFromCypress=$t,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(S,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/i18n"],o):(S=typeof globalThis<"u"?globalThis:S||self,o(S["kong-ui-public-vitals-metric-provider"]={},S.Vue,S["kong-ui-public-i18n"]))})(this,function(S,o,Ne){"use strict";var lt=Object.defineProperty,ut=(e,t,r)=>t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t,r)=>(ut(e,typeof t!="symbol"?t+"":t,r),r),p=(e=>(e.MINUTELY="Minutely",e.HOURLY="Hourly",e.DAILY="Daily",e.WEEKLY="Weekly",e))(p||{}),T=(e=>(e.FIFTEEN_MIN="15m",e.ONE_HOUR="1h",e.SIX_HOUR="6h",e.TWELVE_HOUR="12h",e.ONE_DAY="24h",e.SEVEN_DAY="7d",e.THIRTY_DAY="30d",e.CURRENT_WEEK="current_week",e.CURRENT_MONTH="current_month",e.CURRENT_QUARTER="current_quarter",e.PREVIOUS_WEEK="previous_week",e.PREVIOUS_MONTH="previous_month",e.PREVIOUS_QUARTER="previous_quarter",e))(T||{});function X(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ce={exports:{}};(function(e){function t(r){return r&&r.__esModule?r:{default:r}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Ce);var ct=Ce.exports,ee={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;function r(n){if(n===null||n===!0||n===!1)return NaN;var i=Number(n);return isNaN(i)?i:i<0?Math.ceil(i):Math.floor(i)}e.exports=t.default})(ee,ee.exports);var dt=ee.exports;const ft=X(dt);var te={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;function r(n){var i=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return i.setUTCFullYear(n.getFullYear()),n.getTime()-i.getTime()}e.exports=t.default})(te,te.exports);var mt=te.exports;const Ie=X(mt);function ht(e,t){var r=vt(t);return r.formatToParts?gt(r,e):yt(r,e)}var pt={year:0,month:1,day:2,hour:3,minute:4,second:5};function gt(e,t){try{for(var r=e.formatToParts(t),n=[],i=0;i<r.length;i++){var a=pt[r[i].type];a>=0&&(n[a]=parseInt(r[i].value,10))}return n}catch(l){if(l instanceof RangeError)return[NaN];throw l}}function yt(e,t){var r=e.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(r);return[n[3],n[1],n[2],n[4],n[5],n[6]]}var re={};function vt(e){if(!re[e]){var t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),r=t==="06/25/2014, 00:00:00"||t==="06/25/2014 00:00:00";re[e]=r?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return re[e]}function ne(e,t,r,n,i,a,l){var c=new Date(0);return c.setUTCFullYear(e,t,r),c.setUTCHours(n,i,a,l),c}var Ae=36e5,Tt=6e4,ae={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function G(e,t,r){var n,i;if(!e||(n=ae.timezoneZ.exec(e),n))return 0;var a;if(n=ae.timezoneHH.exec(e),n)return a=parseInt(n[1],10),be(a)?-(a*Ae):NaN;if(n=ae.timezoneHHMM.exec(e),n){a=parseInt(n[1],10);var l=parseInt(n[2],10);return be(a,l)?(i=Math.abs(a)*Ae+l*Tt,a>0?-i:i):NaN}if(wt(e)){t=new Date(t||Date.now());var c=r?t:Et(t),f=ie(c,e),s=r?f:Dt(t,f,e);return-s}return NaN}function Et(e){return ne(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function ie(e,t){var r=ht(e,t),n=ne(r[0],r[1]-1,r[2],r[3]%24,r[4],r[5],0).getTime(),i=e.getTime(),a=i%1e3;return i-=a>=0?a:1e3+a,n-i}function Dt(e,t,r){var n=e.getTime(),i=n-t,a=ie(new Date(i),r);if(t===a)return t;i-=a-t;var l=ie(new Date(i),r);return a===l?a:Math.max(a,l)}function be(e,t){return-23<=e&&e<=23&&(t==null||0<=t&&t<=59)}var Me={};function wt(e){if(Me[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),Me[e]=!0,!0}catch{return!1}}var St=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/;const Oe=St;var oe=36e5,Ue=6e4,Rt=2,w={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:Oe};function se(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(e===null)return new Date(NaN);var r=t||{},n=r.additionalDigits==null?Rt:ft(r.additionalDigits);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]")return new Date(e.getTime());if(typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]")return new Date(e);if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var i=_t(e),a=Nt(i.date,n),l=a.year,c=a.restDateString,f=Ct(c,l);if(isNaN(f))return new Date(NaN);if(f){var s=f.getTime(),u=0,d;if(i.time&&(u=It(i.time),isNaN(u)))return new Date(NaN);if(i.timeZone||r.timeZone){if(d=G(i.timeZone||r.timeZone,new Date(s+u)),isNaN(d))return new Date(NaN)}else d=Ie(new Date(s+u)),d=Ie(new Date(s+u+d));return new Date(s+u+d)}else return new Date(NaN)}function _t(e){var t={},r=w.dateTimePattern.exec(e),n;if(r?(t.date=r[1],n=r[3]):(r=w.datePattern.exec(e),r?(t.date=r[1],n=r[2]):(t.date=null,n=e)),n){var i=w.timeZone.exec(n);i?(t.time=n.replace(i[1],""),t.timeZone=i[1].trim()):t.time=n}return t}function Nt(e,t){var r=w.YYY[t],n=w.YYYYY[t],i;if(i=w.YYYY.exec(e)||n.exec(e),i){var a=i[1];return{year:parseInt(a,10),restDateString:e.slice(a.length)}}if(i=w.YY.exec(e)||r.exec(e),i){var l=i[1];return{year:parseInt(l,10)*100,restDateString:e.slice(l.length)}}return{year:null}}function Ct(e,t){if(t===null)return null;var r,n,i,a;if(e.length===0)return n=new Date(0),n.setUTCFullYear(t),n;if(r=w.MM.exec(e),r)return n=new Date(0),i=parseInt(r[1],10)-1,xe(t,i)?(n.setUTCFullYear(t,i),n):new Date(NaN);if(r=w.DDD.exec(e),r){n=new Date(0);var l=parseInt(r[1],10);return Mt(t,l)?(n.setUTCFullYear(t,0,l),n):new Date(NaN)}if(r=w.MMDD.exec(e),r){n=new Date(0),i=parseInt(r[1],10)-1;var c=parseInt(r[2],10);return xe(t,i,c)?(n.setUTCFullYear(t,i,c),n):new Date(NaN)}if(r=w.Www.exec(e),r)return a=parseInt(r[1],10)-1,Le(t,a)?ke(t,a):new Date(NaN);if(r=w.WwwD.exec(e),r){a=parseInt(r[1],10)-1;var f=parseInt(r[2],10)-1;return Le(t,a,f)?ke(t,a,f):new Date(NaN)}return null}function It(e){var t,r,n;if(t=w.HH.exec(e),t)return r=parseFloat(t[1].replace(",",".")),le(r)?r%24*oe:NaN;if(t=w.HHMM.exec(e),t)return r=parseInt(t[1],10),n=parseFloat(t[2].replace(",",".")),le(r,n)?r%24*oe+n*Ue:NaN;if(t=w.HHMMSS.exec(e),t){r=parseInt(t[1],10),n=parseInt(t[2],10);var i=parseFloat(t[3].replace(",","."));return le(r,n,i)?r%24*oe+n*Ue+i*1e3:NaN}return null}function ke(e,t,r){t=t||0,r=r||0;var n=new Date(0);n.setUTCFullYear(e,0,4);var i=n.getUTCDay()||7,a=t*7+r+1-i;return n.setUTCDate(n.getUTCDate()+a),n}var At=[31,28,31,30,31,30,31,31,30,31,30,31],bt=[31,29,31,30,31,30,31,31,30,31,30,31];function Ye(e){return e%400===0||e%4===0&&e%100!==0}function xe(e,t,r){if(t<0||t>11)return!1;if(r!=null){if(r<1)return!1;var n=Ye(e);if(n&&r>bt[t]||!n&&r>At[t])return!1}return!0}function Mt(e,t){if(t<1)return!1;var r=Ye(e);return!(r&&t>366||!r&&t>365)}function Le(e,t,r){return!(t<0||t>52||r!=null&&(r<0||r>6))}function le(e,t,r){return!(e!=null&&(e<0||e>=25)||t!=null&&(t<0||t>=60)||r!=null&&(r<0||r>=60))}var ue={exports:{}},ce={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;function r(n,i){if(n==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a]);return n}e.exports=t.default})(ce,ce.exports);var Ot=ce.exports;(function(e,t){var r=ct.default;Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var n=r(Ot);function i(a){return(0,n.default)({},a)}e.exports=t.default})(ue,ue.exports);var Ut=ue.exports;const kt=X(Ut);function Yt(e,t,r){var n=se(e,r),i=G(t,n,!0),a=new Date(n.getTime()-i),l=new Date(0);return l.setFullYear(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate()),l.setHours(a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds()),l}function Pe(e,t){return-G(e,t)}function xt(e,t,r){if(typeof e=="string"&&!e.match(Oe)){var n=kt(r);return n.timeZone=t,se(e,n)}var i=se(e,r),a=ne(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()).getTime(),l=G(t,new Date(a));return new Date(a+l)}const Fe={[p.MINUTELY]:60*1e3,[p.HOURLY]:60*60*1e3,[p.DAILY]:60*60*24*1e3,[p.WEEKLY]:60*60*24*7*1e3};function Lt(e,t){return e?{duration:e,type:"duration",origin:t}:null}function Ve(e,t,r,n){const i=Fe[r];let a=0;return i>=Fe[p.DAILY]&&(n?a=-Pe(n,t):a=t.getTimezoneOffset()*60*1e3),new Date(e((t.getTime()-a)/i)*i+a)}function He(e,t,r){return Ve(Math.floor,e,t,r)}function Pt(e,t,r){return Ve(Math.ceil,e,t,r)}function Z(e){"@babel/helpers - typeof";return Z=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Z(e)}function C(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function R(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function k(e){R(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||Z(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function de(e,t){R(2,arguments);var r=k(e),n=C(t);return isNaN(n)?new Date(NaN):(n&&r.setDate(r.getDate()+n),r)}function Ft(e,t){R(2,arguments);var r=k(e),n=C(t);if(isNaN(n))return new Date(NaN);if(!n)return r;var i=r.getDate(),a=new Date(r.getTime());a.setMonth(r.getMonth()+n+1,0);var l=a.getDate();return i>=l?a:(r.setFullYear(a.getFullYear(),a.getMonth(),i),r)}var Vt={};function Ht(){return Vt}function q(e,t){var r,n,i,a,l,c,f,s;R(1,arguments);var u=Ht(),d=C((r=(n=(i=(a=t==null?void 0:t.weekStartsOn)!==null&&a!==void 0?a:t==null||(l=t.locale)===null||l===void 0||(c=l.options)===null||c===void 0?void 0:c.weekStartsOn)!==null&&i!==void 0?i:u.weekStartsOn)!==null&&n!==void 0?n:(f=u.locale)===null||f===void 0||(s=f.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&r!==void 0?r:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=k(e),h=m.getDay(),g=(h<d?7:0)+h-d;return m.setDate(m.getDate()-g),m.setHours(0,0,0,0),m}function ze(e){R(1,arguments);var t=k(e);return t.setHours(0,0,0,0),t}var zt=60,$t=3600;function L(e){R(1,arguments);var t=k(e);return t.setDate(1),t.setHours(0,0,0,0),t}function Bt(e){R(1,arguments);var t=k(e),r=t.getFullYear(),n=t.getMonth(),i=new Date(0);return i.setFullYear(r,n+1,0),i.setHours(0,0,0,0),i.getDate()}function fe(e){R(1,arguments);var t=k(e),r=t.getTime();return r}function $e(e){return R(1,arguments),Math.floor(fe(e)/1e3)}function jt(e){return R(1,arguments),Math.floor(e*$t)}function Gt(e,t){R(2,arguments);var r=C(t);return de(e,-r)}function Zt(e){R(1,arguments);var t=e/zt;return Math.floor(t)}function me(e,t){R(2,arguments);var r=C(t);return Ft(e,-r)}function qt(e,t){if(R(2,arguments),!t||Z(t)!=="object")return new Date(NaN);var r=t.years?C(t.years):0,n=t.months?C(t.months):0,i=t.weeks?C(t.weeks):0,a=t.days?C(t.days):0,l=t.hours?C(t.hours):0,c=t.minutes?C(t.minutes):0,f=t.seconds?C(t.seconds):0,s=me(e,n+r*12),u=Gt(s,a+i*7),d=c+l*60,m=f+d*60,h=m*1e3,g=new Date(u.getTime()-h);return g}let Kt=class st{constructor(t,r){if(N(this,"timeframe"),N(this,"tz"),this.constructor===st)throw new Error("BaseQueryTime is not meant to be used directly.");this.timeframe=t,this.tz=r}calculateStartDate(t,r,n=1){if(t)return new Date(this.endDate().getTime()-this.timeframe.timeframeLengthMs()*n);{const i=this.endDate(),a=this.timeframe.rawStart(this.tz),l=He(a,r,this.tz),c=(i.getTime()-l.getTime())*(n-1);return He(new Date(a.getTime()-c),r,this.tz)}}granularitySeconds(){return Math.floor(this.granularityMs()/1e3)}granularityDruid(){return Lt(this.granularityMs(),this.startDate().toISOString())}startSeconds(){return $e(this.startDate())}endSeconds(){return $e(this.endDate())}startMs(){return fe(this.startDate())}endMs(){return fe(this.endDate())}withinFreeTier(){return this.startDate()>=qt(new Date,{days:1})}};class Be extends Kt{startDate(){return this.calculateStartDate(this.timeframe.isRelative,this.timeframe.dataGranularity)}endDate(){return Pt(this.timeframe.rawEnd(this.tz),this.timeframe.dataGranularity,this.tz)}granularityMs(){return this.endDate().getTime()-this.startDate().getTime()}}class Wt extends Be{startDate(){return this.calculateStartDate(this.timeframe.isRelative,this.timeframe.dataGranularity,2)}granularityMs(){return this.endDate().getTime()-super.startDate().getTime()}}const P=(e,t)=>new Date(e.getTime()-Pe(t,e));let I=class{constructor(t){N(this,"timeframeText"),N(this,"key"),N(this,"display"),N(this,"timeframeLength"),N(this,"allowedTiers"),N(this,"defaultResponseGranularity"),N(this,"dataGranularity"),N(this,"isRelative"),N(this,"_startCustom"),N(this,"_endCustom"),this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom}rawEnd(t){return this._endCustom||new Date}rawStart(t){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(){const t=new Set,r=this.maximumTimeframeLength()/3600;return r<=6&&t.add(p.MINUTELY),r>=2&&r<=7*24&&t.add(p.HOURLY),r>=2*24&&t.add(p.DAILY),r>=2*24*14&&t.add(p.WEEKLY),t}tzAdjustedDate(t){if(!t)return new Date;const r=xt(new Date,new Intl.DateTimeFormat().resolvedOptions().timeZone);return Yt(r,t)}};class Qt extends I{rawStart(t){let r=q(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(r=P(r,t)),r}maximumTimeframeLength(){return 60*60*24*7}}class Jt extends I{rawStart(t){let r=L(this.tzAdjustedDate(t));return t&&(r=P(r,t)),r}maximumTimeframeLength(){return 60*60*24*31}}class Xt extends I{rawEnd(t){let r=q(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(r=P(r,t)),r}rawStart(t){const r=this.tzAdjustedDate(t);let n=q(r.setDate(r.getDate()-7),{weekStartsOn:1});return t&&(n=P(n,t)),n}}class er extends I{rawEnd(t){let r=L(this.tzAdjustedDate(t));return t&&(r=P(r,t)),r}rawStart(t){let r=L(me(this.tzAdjustedDate(t),1));return t&&(r=P(r,t)),r}}const je=new Map([[T.FIFTEEN_MIN,new I({key:T.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>60*15,defaultResponseGranularity:p.MINUTELY,dataGranularity:p.MINUTELY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.ONE_HOUR,new I({key:T.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>60*60*1,defaultResponseGranularity:p.MINUTELY,dataGranularity:p.MINUTELY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.SIX_HOUR,new I({key:T.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>60*60*6,defaultResponseGranularity:p.HOURLY,dataGranularity:p.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.TWELVE_HOUR,new I({key:T.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>60*60*12,defaultResponseGranularity:p.HOURLY,dataGranularity:p.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.ONE_DAY,new I({key:T.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>60*60*24,defaultResponseGranularity:p.HOURLY,dataGranularity:p.HOURLY,isRelative:!0,allowedTiers:["free","trial","plus","enterprise"]})],[T.SEVEN_DAY,new I({key:T.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>60*60*24*7,defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!0,allowedTiers:["trial","plus","enterprise"]})],[T.THIRTY_DAY,new I({key:T.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>60*60*24*30,defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!0,allowedTiers:["trial","plus","enterprise"]})],[T.CURRENT_WEEK,new Qt({key:T.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const e=q(new Date,{weekStartsOn:1});return(ze(de(new Date,1)).getTime()-e.getTime())/1e3},defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.CURRENT_MONTH,new Jt({key:T.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const e=L(new Date);return(ze(de(new Date,1)).getTime()-e.getTime())/1e3},defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.PREVIOUS_WEEK,new Xt({key:T.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>60*60*24*7,defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})],[T.PREVIOUS_MONTH,new er({key:T.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let e=0;const t=L(new Date),r=L(me(new Date,1));return t.getTimezoneOffset()!==r.getTimezoneOffset()&&(e=tr(t,r)),60*60*24*Bt(new Date().setMonth(new Date().getMonth()-1))+jt(e)},defaultResponseGranularity:p.DAILY,dataGranularity:p.DAILY,isRelative:!1,allowedTiers:["plus","enterprise"]})]]);function tr(e,t){return Zt(e.getTimezoneOffset()-t.getTimezoneOffset())}const rr={general:{notAvailable:"N/A"},metricCard:{short:{traffic:"Requests",errorRate:"Error Rate",latency:"P99 Latency"},long:{traffic:"Number of Requests",errorRate:"Average Error Rate",latency:"P99 Latency"}}};function nr(){const e=Ne.createI18n("en-us",rr);return{i18n:e,i18nT:Ne.i18nTComponent(e)}}var O=(e=>(e.API_PRODUCT="API_PRODUCT",e.API_PRODUCT_VERSION="API_PRODUCT_VERSION",e.RUNTIME_GROUP="RUNTIME_GROUP",e.GATEWAY_INSTANCE_ID="GATEWAY_INSTANCE_ID",e.GATEWAY_SERVICE="GATEWAY_SERVICE",e.ROUTE="ROUTE",e.APPLICATION="APPLICATION",e.STATUS_CODE="STATUS_CODE",e.STATUS_CODE_GROUPED="STATUS_CODE_GROUPED",e.TIME="TIME",e.ORGANIZATION="ORGANIZATION",e))(O||{}),K=(e=>(e.REQUEST_COUNT="REQUEST_COUNT",e.REQUEST_PER_MINUTE="REQUEST_PER_MINUTE",e.RESPONSE_LATENCY_P99="RESPONSE_LATENCY_P99",e.RESPONSE_LATENCY_P95="RESPONSE_LATENCY_P95",e.RESPONSE_LATENCY_P50="RESPONSE_LATENCY_P50",e.RESPONSE_SIZE_P99="RESPONSE_SIZE_P99",e.RESPONSE_SIZE_P95="RESPONSE_SIZE_P95",e.RESPONSE_SIZE_P50="RESPONSE_SIZE_P50",e.REQUEST_SIZE_P99="REQUEST_SIZE_P99",e.REQUEST_SIZE_P95="REQUEST_SIZE_P95",e.REQUEST_SIZE_P50="REQUEST_SIZE_P50",e))(K||{}),he=(e=>(e.IN="IN",e.NOT_IN="NOT_IN",e))(he||{});const ar=2,$=["1XX","2XX","3XX","4XX","5XX"],Ge=["4XX","5XX"];var Ze=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(Ze||{});const ir=e=>{var t,r,n,i,a;return e?!!((t=Object.keys(e))!=null&&t.length||(r=e.data)!=null&&r.length||(i=(n=e.data)==null?void 0:n.data)!=null&&i.length||!((a=e.data)!=null&&a.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function or(e=o.ref({}),t,r,n=ir){const i=o.ref("PENDING");return o.watchEffect(()=>{const a=n(e.value);if(e.value&&a&&r.value){i.value="VALIDATING_HAS_DATA";return}if(e.value&&r.value){i.value="VALIDATING";return}if(e.value&&t.value){i.value="STALE_IF_ERROR";return}if(e.value===void 0&&!t.value){i.value="PENDING";return}if(e.value&&!t.value&&a){i.value="SUCCESS_HAS_DATA";return}if(e.value&&!t.value){i.value="SUCCESS";return}e.value===void 0&&t&&(i.value="ERROR")}),{state:i,swrvState:Ze}}const U=Symbol("default"),pe=O.STATUS_CODE_GROUPED,qe=(e,t,r,n,i)=>{e[t][r]||(e[t][r]={}),e[t][r][n]=i};function sr(e,t,r){var c;const n=((c=e.meta.metricNames)==null?void 0:c[0])||"",i=Object.keys(e.meta.dimensions||{}),a=!!i.find(f=>f===pe),l=i.find(f=>f!==pe);return i.length>2||i.length>1&&!a?(console.error("Don't know how to work with provided dimensions:",i),{previous:{[U]:{[U]:0}},current:{[U]:{[U]:0}}}):e.records.reduce((f,s)=>{const u=s.event[n],d=l?s.event[l]:U,m=a?s.event[pe]:U;return new Date(s.timestamp).getTime()===t.startDate().getTime()&&r?qe(f,"previous",d,m,u):qe(f,"current",d,m,u),f},{previous:{},current:{}})}function lr(e){e.queryReady===void 0&&(e.queryReady=o.computed(()=>!0));const t=o.computed(()=>e.withTrend?new Wt(e.timeframe.value):new Be(e.timeframe.value)),r=o.computed(()=>{var d,m;return{metrics:e.metrics,dimensions:[...(d=e.dimensions)!=null&&d.length?[...e.dimensions]:[],...e.withTrend?[O.TIME]:[]],granularityMs:t.value.granularityMs(),...(m=e.filter.value)!=null&&m.length?{filter:e.filter.value}:{}}}),n=o.computed(()=>`${t.value.endDate().toString()}-${t.value.startDate().toString()}`),i=o.computed(()=>{var m,h,g,y;if(!((m=e.queryReady)!=null&&m.value)||e.featureFlags&&!e.featureFlags.every(D=>D))return null;const d=(h=e.filter)!=null&&h.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${n.value}-${(g=e.dimensions)==null?void 0:g.join("-")}-${(y=e.metrics)==null?void 0:y.join("-")}-${d}`}),{response:a,error:l,isValidating:c}=z.useRequest(()=>i.value,()=>e.dataFetcher(t.value,r.value),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:ar}),{state:f,swrvState:s}=or(a,l,c),u=o.computed(()=>{var d,m,h,g,y,D,A,E,v,Y;return!((h=(m=(d=a.value)==null?void 0:d.data)==null?void 0:m.records)!=null&&h.length)||!((D=(y=(g=a.value)==null?void 0:g.data)==null?void 0:y.meta)!=null&&D.dimensions)||!((Y=(v=(E=(A=a.value)==null?void 0:A.data)==null?void 0:E.meta)==null?void 0:v.metricNames)!=null&&Y.length)?{current:{},previous:{}}:sr(a.value.data,t.value,!!e.withTrend)});return{isLoading:o.computed(()=>s.PENDING===f.value),hasError:o.computed(()=>s.ERROR===f.value),raw:a,mapped:u}}const F=(e,t,r=U,n)=>(n??[U]).reduce((a,l)=>{const c=e[t][r];return c?a+(c[l]||0):a},0);function ur(e){const{title:t,record:r,hasError:n,increaseIsBad:i,formatValueFn:a}=e;return o.computed(()=>{let l=0,c=0;if(r!=null&&r.value)try{l=F(r.value,"current",e.lookupKey,e.sumGroupedValues),c=F(r.value,"previous",e.lookupKey,e.sumGroupedValues)}catch(f){console.error("Metric card data doesn't have the expected structure:",f)}return{hasError:n.value,currentValue:l,previousValue:c,title:t.value,increaseIsBad:!!i,formatValueFn:a}})}var ge=new WeakMap,Ke=0;function cr(e){if(!e.length)return"";for(var t="arg",r=0;r<e.length;++r){var n=void 0;e[r]===null||typeof e[r]!="object"&&typeof e[r]!="function"?typeof e[r]=="string"?n='"'+e[r]+'"':n=String(e[r]):ge.has(e[r])?n=ge.get(e[r]):(n=Ke,ge.set(e[r],Ke++)),t+="@"+n}return t}function dr(e){if(typeof e=="function")try{e=e()}catch{e=""}return Array.isArray(e)?e=cr(e):e=String(e||""),e}var ye=function(){function e(t){t===void 0&&(t=0),this.items=new Map,this.ttl=t}return e.prototype.serializeKey=function(t){return dr(t)},e.prototype.get=function(t){var r=this.serializeKey(t);return this.items.get(r)},e.prototype.set=function(t,r,n){var i=this.serializeKey(t),a=n||this.ttl,l=Date.now(),c={data:r,createdAt:l,expiresAt:a?l+a:1/0};this.dispatchExpire(a,c,i),this.items.set(i,c)},e.prototype.dispatchExpire=function(t,r,n){var i=this;t&&setTimeout(function(){var a=Date.now(),l=a>=r.expiresAt;l&&i.delete(n)},t)},e.prototype.delete=function(t){this.items.delete(t)},e}();function fr(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function mr(){return typeof document<"u"&&typeof document.visibilityState<"u"?document.visibilityState!=="hidden":!0}var hr=function(e){return fetch(e).then(function(t){return t.json()})};const ve={isOnline:fr,isDocumentVisible:mr,fetcher:hr};var b=globalThis&&globalThis.__assign||function(){return b=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},b.apply(this,arguments)},V=globalThis&&globalThis.__awaiter||function(e,t,r,n){function i(a){return a instanceof r?a:new r(function(l){l(a)})}return new(r||(r=Promise))(function(a,l){function c(u){try{s(n.next(u))}catch(d){l(d)}}function f(u){try{s(n.throw(u))}catch(d){l(d)}}function s(u){u.done?a(u.value):i(u.value).then(c,f)}s((n=n.apply(e,t||[])).next())})},H=globalThis&&globalThis.__generator||function(e,t){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,l;return l={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function c(s){return function(u){return f([s,u])}}function f(s){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(a=r.trys,!(a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){r.label=s[1];break}if(s[0]===6&&r.label<a[1]){r.label=a[1],a=s;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(s);break}a[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(u){s=[6,u],i=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},pr=globalThis&&globalThis.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,a=[],l;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(c){l={error:c}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return a},gr=globalThis&&globalThis.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,a;n<i;n++)(a||!(n in t))&&(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))},We=new ye,W=new ye,Te=new ye,Qe={cache:We,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:ve.fetcher,isOnline:ve.isOnline,isDocumentVisible:ve.isDocumentVisible};function yr(e,t,r){var n=W.get(e);if(n)n.data.push(t);else{var i=5e3;W.set(e,[t],r>0?r+i:r)}}function vr(e,t,r){if(r.isDocumentVisible()&&!(r.errorRetryCount!==void 0&&t>r.errorRetryCount)){var n=Math.min(t||0,r.errorRetryCount),i=n*r.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:n+1,shouldRetryOnError:!0})},i)}}var Je=function(e,t,r,n){return r===void 0&&(r=We),n===void 0&&(n=Qe.ttl),V(void 0,void 0,void 0,function(){var i,a,l,c,f,s,u;return H(this,function(d){switch(d.label){case 0:if(!Er(t))return[3,5];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,t];case 2:return i=d.sent(),[3,4];case 3:return c=d.sent(),a=c,[3,4];case 4:return[3,6];case 5:i=t,d.label=6;case 6:if(l=!1,f={data:i,error:a,isValidating:l},typeof i<"u")try{r.set(e,f,n)}catch(m){console.error("swrv(mutate): failed to set cache",m)}return s=W.get(e),s&&s.data.length&&(u=s.data.filter(function(m){return m.key===e}),u.forEach(function(m,h){typeof f.data<"u"&&(m.data=f.data),m.error=f.error,m.isValidating=f.isValidating;var g=h===u.length-1;g||delete u[h]}),u=u.filter(Boolean)),[2,f]}})})};function Tr(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n,i,a=b({},Qe),l=!1,c=!1,f=o.getCurrentInstance(),s=(f==null?void 0:f.proxy)||f;if(!s)return console.error("Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function."),null;var u=(s==null?void 0:s.$isServer)||!1;t.length>=1&&(n=t[0]),t.length>=2&&(i=t[1]),t.length>2&&(a=b(b({},a),t[2]));var d=u?a.serverTTL:a.ttl,m=typeof n=="function"?n:o.ref(n);typeof i>"u"&&(i=a.fetcher);var h=null;h||(h=o.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var g=function(E,v){return V(e,void 0,void 0,function(){var Y,_,B,j,we,nt,Se,at=this;return H(this,function(Re){switch(Re.label){case 0:return Y=h.data===void 0,_=m.value,_?(B=a.cache.get(_),j=B&&B.data,h.isValidating=!0,j&&(h.data=j.data,h.error=j.error),we=E||i,!we||!a.isDocumentVisible()&&!Y||(v==null?void 0:v.forceRevalidate)!==void 0&&!(v!=null&&v.forceRevalidate)?(h.isValidating=!1,[2]):B&&(nt=!!(Date.now()-B.createdAt>=a.dedupingInterval||v!=null&&v.forceRevalidate),!nt)?(h.isValidating=!1,[2]):(Se=function(){return V(at,void 0,void 0,function(){var x,it,_e,ot;return H(this,function(J){switch(J.label){case 0:return x=Te.get(_),x?[3,2]:(it=Array.isArray(_)?_:[_],_e=we.apply(void 0,gr([],pr(it),!1)),Te.set(_,_e,a.dedupingInterval),[4,Je(_,_e,a.cache,d)]);case 1:return J.sent(),[3,4];case 2:return[4,Je(_,x.data,a.cache,d)];case 3:J.sent(),J.label=4;case 4:return h.isValidating=!1,Te.delete(_),h.error!==void 0&&(ot=!l&&a.shouldRetryOnError&&(v?v.shouldRetryOnError:!0),ot&&vr(g,v?v.errorRetryCount:1,a)),[2]}})})},j&&a.revalidateDebounce?(setTimeout(function(){return V(at,void 0,void 0,function(){return H(this,function(x){switch(x.label){case 0:return l?[3,2]:[4,Se()];case 1:x.sent(),x.label=2;case 2:return[2]}})})},a.revalidateDebounce),[3,3]):[3,1])):[2];case 1:return[4,Se()];case 2:Re.sent(),Re.label=3;case 3:return[2]}})})},y=function(){return V(e,void 0,void 0,function(){return H(this,function(E){return[2,g(null,{shouldRetryOnError:!1})]})})},D=null;o.onMounted(function(){var E=function(){return V(e,void 0,void 0,function(){return H(this,function(v){switch(v.label){case 0:return!h.error&&a.isOnline()?[4,g()]:[3,2];case 1:return v.sent(),[3,3];case 2:D&&clearTimeout(D),v.label=3;case 3:return a.refreshInterval&&!l&&(D=setTimeout(E,a.refreshInterval)),[2]}})})};a.refreshInterval&&(D=setTimeout(E,a.refreshInterval)),a.revalidateOnFocus&&(document.addEventListener("visibilitychange",y,!1),window.addEventListener("focus",y,!1))}),o.onUnmounted(function(){l=!0,D&&clearTimeout(D),a.revalidateOnFocus&&(document.removeEventListener("visibilitychange",y,!1),window.removeEventListener("focus",y,!1));var E=W.get(m.value);E&&(E.data=E.data.filter(function(v){return v!==h}))});try{o.watch(m,function(E){o.isReadonly(m)||(m.value=E),h.key=E,h.isValidating=!!E,yr(m.value,h,d),!u&&!c&&m.value&&g(),c=!1},{immediate:!0})}catch{}var A=b(b({},o.toRefs(h)),{mutate:function(E,v){return g(E,b(b({},v),{forceRevalidate:!0}))}});return A}function Er(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Dr(e,t,r){const{data:n,error:i,isValidating:a,mutate:l}=Tr(e,t,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...r});return{data:o.computed(()=>{var f;return(f=n.value)==null?void 0:f.data}),response:n,error:i,isValidating:a,revalidate:l}}const z={useI18n:nr,useMetricCardBuilder:ur,useMetricFetcher:lr,useRequest:Dr},Xe=Symbol("METRICS_PROVIDER_KEY"),wr=e=>{const{dimension:t,dimensionFilterValue:r,additionalFilter:n,queryReady:i,timeframe:a,hasTrendAccess:l,refreshInterval:c,dataFetcher:f}=e;if(r&&!t)throw new Error("Must provide a dimension if filtering by a value");const s=!!(t&&r),u=!!(t&&!r),d=o.computed(()=>{const D=[];return s&&D.push({dimension:t,type:he.IN,values:[r]}),n.value&&D.push(...n.value),D}),m={metrics:[K.REQUEST_COUNT],dimensions:[...t&&!s?[t]:[],O.STATUS_CODE_GROUPED],filter:d,queryReady:i,timeframe:a,withTrend:l&&!u,refreshInterval:c,dataFetcher:f},h={metrics:[K.RESPONSE_LATENCY_P99],...t&&!s?{dimensions:[t]}:{},filter:d,queryReady:i,timeframe:a,withTrend:l&&!u,refreshInterval:c,dataFetcher:f},g=z.useMetricFetcher(m),y=z.useMetricFetcher(h);return{trafficData:g,latencyData:y}},Sr=o.defineComponent({__name:"MetricsProviderInternal",props:{maxTimeframe:{default:T.THIRTY_DAY},overrideTimeframe:{default:void 0},dimension:{default:void 0},filterValue:{default:void 0},additionalFilter:{default:void 0},queryReady:{type:Boolean,default:!0},dataFetcher:{},hasTrendAccess:{type:Boolean},refreshInterval:{},longCardTitles:{type:Boolean,default:!1}},setup(e){const t=e;if(t.dimension&&!{}.hasOwnProperty.call(O,t.dimension))throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${t.dimension}`);const r=o.computed(()=>{if(t.overrideTimeframe)return t.overrideTimeframe;const a=t.hasTrendAccess?je.get(t.maxTimeframe):je.get(T.ONE_DAY);if(!a)throw new Error("Metrics provider failed to resolve fallback timeframe.");return a}),{trafficData:n,latencyData:i}=wr({dimension:t.dimension,dimensionFilterValue:t.filterValue,additionalFilter:o.toRef(t,"additionalFilter"),queryReady:o.toRef(t,"queryReady"),timeframe:r,hasTrendAccess:t.hasTrendAccess,refreshInterval:t.refreshInterval,dataFetcher:t.dataFetcher});return o.provide(Xe,{data:{traffic:n,latency:i},hasTrendAccess:t.hasTrendAccess,longCardTitles:t.longCardTitles}),(a,l)=>o.renderSlot(a.$slots,"default",{hasTrendAccess:t.hasTrendAccess,timeframe:r.value})}});function Rr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var et={exports:{}};(function(e){(function(){function t(s,u){if(u.separator===!1||s<1e3)return s.toString();var d=typeof u.separator=="string"?u.separator:",",m=[],h=Math.round(s).toString().split("");return h.reverse().forEach(function(g,y){y&&y%3===0&&m.push(d),m.push(g)}),m.reverse().join("")}function r(s,u,d){var m=s/u,h=d.round?"round":"floor";return d.decimal===!1?(s=Math[h](m),s.toString()):(d.precision?s=m:s=m<10?Math[h](m*10)/10:Math[h](m),s=s.toString(),typeof d.decimal=="string"&&(s=s.replace(".",d.decimal)),s)}var n=1e3,i=1e4,a=1e6,l=1e9,c=1e12;function f(s,u){var d;u=u||{};var m=s<0;m&&(s=Math.abs(s)),u.precision&&(s=parseFloat(s.toPrecision(u.precision)));var h=u.min10k?i:n;return s<h||u.precision&&u.precision>Math.log10(s)?d=t(r(s,1,u),u):s<a?d=r(s,n,u)+"k":s<l?d=r(s,a,u)+"m":s<c?d=t(r(s,l,u),u)+"b":d=t(r(s,c,u),u)+"t",m&&(d="-"+d),u.capital&&(d=d.toUpperCase()),u.prefix&&(d=u.prefix+d),u.suffix&&(d=d+u.suffix),d}f.addCommas=t,e.exports=f})()})(et);var _r=et.exports;const Nr=Rr(_r);var M=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(M||{});const Ee=2,tt=Ee+2,Cr=(e,t,r=!1)=>{let n=!t||Number(e.toFixed(tt))===0?0:Number(e.toFixed(tt))>0?1:-1;return r&&(n*=-1),n},Ir=(e,t,r)=>t?`${Math.abs(e*100).toFixed(Ee)}%`:r,Ar=(e,t)=>t===0?0:e/t-1,br=(e,t=!1)=>(t&&(e*=-1),e>0?"arrowUp":e<0?"arrowDown":"noData"),Mr={class:"metricscard"},Or={key:0,class:"metricscard-error"},Ur={key:1,class:"metricscard-value"},kr=o.defineComponent({__name:"MetricsCard",props:{title:{type:String,default:"0%",required:!0},tooltip:{type:String,required:!1,default:""},timeframe:{type:String,required:!1,default:""},metricValue:{type:String,default:""},metricChange:{type:String,required:!0},changePolarity:{type:Number,required:!0},icon:{type:String,default:""},hasError:{type:Boolean,default:!1},errorMessage:{type:String,default:"Vitals data error"},cardSize:{type:String,required:!1,default:()=>"lg"}},setup(e){const t=e,r=l=>{const c={red:"var(--kong-ui-metric-card-trend-negative, var(--red-500, '#d44324'))",green:"var(--kong-ui-metric-card-trend-positive, var(--green-500, '#07a88d'))",grey:"var(--kong-ui-metric-card-trend-neutral, var(--grey-500, '#6f7787'))"};return l>0?c.green:l<0?c.red:c.grey},n=l=>l>0?"positive":l<0?"negative":"neutral",i=[M.Medium,M.Large].includes(t.cardSize),a=t.cardSize===M.ExtraLarge?"48px":[M.Medium,M.Large].includes(t.cardSize)?"22px":"16px";return(l,c)=>{const f=o.resolveComponent("KIcon"),s=o.resolveComponent("KTooltip");return o.openBlock(),o.createElementBlock("div",Mr,[o.createElementVNode("div",{class:o.normalizeClass(["metricscard-title",e.cardSize])},[o.createElementVNode("span",null,o.toDisplayString(e.title),1),e.tooltip?(o.openBlock(),o.createBlock(s,{key:0,class:"metricscard-tooltip",label:e.tooltip,placement:"right"},{default:o.withCtx(()=>[o.createVNode(f,{icon:"info",size:"12"})]),_:1},8,["label"])):o.createCommentVNode("",!0)],2),e.hasError?(o.openBlock(),o.createElementBlock("div",Or,[o.createVNode(f,{icon:"warning",size:"20"}),o.createElementVNode("div",null,o.toDisplayString(e.errorMessage),1)])):(o.openBlock(),o.createElementBlock("div",Ur,[o.createElementVNode("div",{style:o.normalizeStyle(`font-size:${o.unref(a)}`)},o.toDisplayString(e.metricValue),5),o.unref(i)?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["metricscard-value-trend",n(e.changePolarity)])},[e.changePolarity!==0?(o.openBlock(),o.createBlock(f,{key:0,color:r(e.changePolarity),icon:e.icon,size:"18"},null,8,["color","icon"])):o.createCommentVNode("",!0),o.createElementVNode("div",null,o.toDisplayString(e.metricChange),1)],2)):o.createCommentVNode("",!0)]))])}}}),De=(e,t)=>{const r=e.__vccOpts||e;for(const[n,i]of t)r[n]=i;return r},Yr=De(kr,[["__scopeId","data-v-ee980c4c"]]),xr={},Lr={class:"loading-tabs"};function Pr(e,t){const r=o.resolveComponent("KSkeletonBox");return o.openBlock(),o.createElementBlock("div",Lr,[o.createVNode(r,{width:"100"}),o.createVNode(r,{width:"75"})])}const Fr=De(xr,[["render",Pr],["__scopeId","data-v-e4239529"]]),Vr={key:0,class:"error-display"},Hr={key:0,class:"error-display-message"},zr=De(o.defineComponent({__name:"MetricCardContainer",props:{fallbackDisplayText:{type:String,required:!0},cards:{type:Array,required:!0},errorMessage:{type:String,required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},hasTrendAccess:{type:Boolean,required:!1,default:!0},cardSize:{type:String,required:!1,default:()=>M.Large}},setup(e){const t=e,r=o.computed(()=>t.cards.every(i=>(i==null?void 0:i.hasError)===!0)),n=i=>{const a=Ar(i.currentValue,i.previousValue)||0,l=Cr(a,t.hasTrendAccess,i.increaseIsBad);return{metricValue:i.formatValueFn?i.formatValueFn(i.currentValue):Nr(i.currentValue,{capital:!0,round:!0})||"0",metricChange:i.formatChangeFn?i.formatChangeFn(a):Ir(a,t.hasTrendAccess,t.fallbackDisplayText),changePolarity:l,icon:br(l,i.increaseIsBad),cardSize:t.cardSize}};return(i,a)=>{const l=o.resolveComponent("KIcon");return o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[o.unref(r)?(o.openBlock(),o.createElementBlock("div",Vr,[o.createVNode(l,{class:"error-display-icon",icon:"warning",size:"24"}),e.errorMessage?(o.openBlock(),o.createElementBlock("div",Hr,o.toDisplayString(e.errorMessage),1)):o.createCommentVNode("",!0)])):(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:1},o.renderList(e.cards,(c,f)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[e.loading?(o.openBlock(),o.createBlock(Fr,{key:`skeleton-${f}`,class:o.normalizeClass(e.cardSize===o.unref(M).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(o.openBlock(),o.createBlock(Yr,o.mergeProps({key:f},n(c),{"card-size":e.cardSize,"error-message":e.errorMessage,"has-error":c.hasError,title:c.title,tooltip:c.tooltip}),null,16,["card-size","error-message","has-error","title","tooltip"]))],64))),256))],2)}}}),[["__scopeId","data-v-390af84f"]]),qr="",$r=o.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:M.Large},cardToDisplay:{default:void 0}},setup(e){const t=e,r=o.inject(Xe);if(!r)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:n,latency:i}=r.data,{i18n:a}=z.useI18n(),l=z.useMetricCardBuilder({title:o.computed(()=>r.longCardTitles?a.t("metricCard.long.traffic"):a.t("metricCard.short.traffic")),record:n.mapped,hasError:n.hasError,lookupKey:t.lookupKey,sumGroupedValues:$}),c=y=>`${y.toFixed(Ee)}%`,f=o.computed(()=>{const y=n.mapped.value,D=F(y,"current",t.lookupKey,Ge),A=F(y,"current",t.lookupKey,$),E=D/A*100||0,v=F(y,"previous",t.lookupKey,Ge),Y=F(y,"previous",t.lookupKey,$),_=v/Y*100||0;return{hasError:n.hasError.value,currentValue:E,previousValue:_,formatValueFn:c,title:r.longCardTitles?a.t("metricCard.long.errorRate"):a.t("metricCard.short.errorRate"),increaseIsBad:!0}}),s=y=>`${y}ms`,u=z.useMetricCardBuilder({title:o.computed(()=>r.longCardTitles?a.t("metricCard.long.latency"):a.t("metricCard.short.latency")),hasError:i.hasError,record:i.mapped,lookupKey:t.lookupKey,increaseIsBad:!0,formatValueFn:s}),d=o.computed(()=>t.cardToDisplay==="TRAFFIC"?[l.value]:t.cardToDisplay==="ERROR_RATE"?[f.value]:t.cardToDisplay==="LATENCY"?[u.value]:[l.value,f.value,u.value]),m=o.computed(()=>t.cardToDisplay==="TRAFFIC"||t.cardToDisplay==="ERROR_RATE"?n.isLoading.value:t.cardToDisplay==="LATENCY"?i.isLoading.value:n.isLoading.value||i.isLoading.value),h=o.computed(()=>({cards:d.value,loading:m.value,hasTrendAccess:r.hasTrendAccess,fallbackDisplayText:a.t("general.notAvailable"),cardSize:t.cardSize,hideTitle:!0})),g=o.computed(()=>({loading:h.value.loading,trafficCard:l.value,errorRateCard:f.value,latencyCard:u.value,errorRateFormatted:c(f.value.currentValue),latencyFormatted:s(u.value.currentValue)}));return(y,D)=>o.renderSlot(y.$slots,"default",{cardValues:g.value},()=>[o.createVNode(o.unref(zr),o.normalizeProps(o.guardReactiveProps(h.value)),null,16)])}}),Q=e=>new Date(e),Br=(e,t)=>{const r=e.body,{startMs:n,endMs:i}=e.query,a=typeof n!="number"?parseInt(n,10):n,l=typeof i!="number"?parseInt(i,10):i;e.reply({statusCode:200,body:rt(r,a,l,t)})},rt=(e,t,r,n)=>{var d,m;const i=e.granularityMs||0,a=i?(r-t)/i:1;if(a!==1&&a!==2)throw new Error("Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?");if((e.dimensions??[]).length>2)throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);const l=(e.dimensions??[]).find(h=>h!=="TIME"),c=(n==null?void 0:n.dimensionNames)??[],f=Math.max(c.length,1),s=[];for(let h=0;h<a;h++)for(let g=0;g<f;g++){const y=l?{[l]:c[g]}:{};(d=e.dimensions)!=null&&d.includes(O.STATUS_CODE_GROUPED)?$.forEach(D=>{const A=e.metrics.reduce((E,v)=>(E[v]=(a-h)*1e3+100*g+1,E),{...y,STATUS_CODE_GROUPED:D});s.push({version:"v1",timestamp:h===0?Q(t).toISOString():Q(t+i).toISOString(),event:A})}):s.push({version:"v1",timestamp:h===0?Q(t).toISOString():Q(t+i).toISOString(),event:e.metrics.reduce((D,A)=>(D[A]=(a-h)*1e3+100*g+1,D),{...y})})}const u={start:t,end:r,granularity:i,dimensions:l?{[l]:c,...(m=e.dimensions)!=null&&m.includes(O.STATUS_CODE_GROUPED)?{STATUS_CODE_GROUPED:$}:{}}:{},metricNames:e.metrics};return{records:s,meta:u}};S.EXPLORE_V2_AGGREGATIONS=K,S.EXPLORE_V2_DIMENSIONS=O,S.EXPLORE_V2_FILTER_TYPES=he,S.MetricsConsumer=$r,S.MetricsProviderInternal=Sr,S.mockExploreResponse=rt,S.mockExploreResponseFromCypress=Br,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=vitals-metric-provider.umd.js.map
|