@kong-ui-public/analytics-metric-provider 11.0.3-pr.2637.f703f4556.0 → 11.0.3-pr.2686.1393fc7a1.0
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.
- package/dist/types/components/display/MetricsCard.vue.d.ts +1 -1
- package/dist/types/composables/index.d.ts +0 -2
- package/dist/types/composables/index.d.ts.map +1 -1
- package/dist/types/composables/useMetricFetcher.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/vitals-metric-provider.es.js +370 -389
- package/dist/vitals-metric-provider.umd.js +1 -1
- package/package.json +6 -6
- package/dist/types/composables/useTrendRange.d.ts +0 -4
- package/dist/types/composables/useTrendRange.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref as Y, watchEffect as ke, computed as
|
|
1
|
+
import { ref as Y, watchEffect as ke, computed as p, getCurrentInstance as Me, reactive as Fe, onMounted as xe, onUnmounted as qe, watch as Ue, isReadonly as Pe, toRefs as $e, defineComponent as W, inject as Ce, toRef as G, provide as ze, renderSlot as Se, resolveComponent as Ie, createElementBlock as S, openBlock as T, normalizeClass as z, createElementVNode as q, createCommentVNode as V, createBlock as U, unref as C, resolveDynamicComponent as re, withCtx as me, createTextVNode as Ae, toDisplayString as w, createVNode as F, Fragment as ge, renderList as Ke, mergeProps as Be, normalizeProps as Xe, guardReactiveProps as Ge } from "vue";
|
|
2
2
|
import { stripUnknownFilters as je, queryableExploreDimensions as He } from "@kong-ui-public/analytics-utilities";
|
|
3
3
|
import { createI18n as Ye, i18nTComponent as Qe } from "@kong-ui-public/i18n";
|
|
4
4
|
import "axios";
|
|
@@ -55,20 +55,20 @@ function cr() {
|
|
|
55
55
|
// Translation component <i18n-t>
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
const dr = 2, B = ["1XX", "2XX", "3XX", "4XX", "5XX"],
|
|
58
|
+
const dr = 2, B = ["1XX", "2XX", "3XX", "4XX", "5XX"], ye = ["4XX", "5XX"], mt = ["1XX", "2XX", "3XX"], fr = 30 * 1e3, vr = "analytics-query-provider";
|
|
59
59
|
var we = /* @__PURE__ */ ((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))(we || {});
|
|
60
60
|
const mr = (e) => {
|
|
61
|
-
var r, t,
|
|
61
|
+
var r, t, o, a, n;
|
|
62
62
|
return e ? !!// TODO: revisit: currently only the first check ever matters?
|
|
63
|
-
((r = Object.keys(e)) != null && r.length || (t = e.data) != null && t.length || (a = (
|
|
63
|
+
((r = Object.keys(e)) != null && r.length || (t = e.data) != null && t.length || (a = (o = e.data) == null ? void 0 : o.data) != null && a.length || !((n = e.data) != null && n.data) && typeof e.data == "object" && Object.keys(e == null ? void 0 : e.data).length) : !1;
|
|
64
64
|
};
|
|
65
|
-
function
|
|
65
|
+
function gr(e = Y({}), r, t, o = mr) {
|
|
66
66
|
const a = Y(
|
|
67
67
|
"PENDING"
|
|
68
68
|
/* PENDING */
|
|
69
69
|
);
|
|
70
70
|
return ke(() => {
|
|
71
|
-
const n =
|
|
71
|
+
const n = o(e.value);
|
|
72
72
|
if (e.value && n && t.value) {
|
|
73
73
|
a.value = "VALIDATING_HAS_DATA";
|
|
74
74
|
return;
|
|
@@ -99,91 +99,98 @@ function yr(e = Y({}), r, t, i = mr) {
|
|
|
99
99
|
swrvState: we
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
const L = Symbol("default"), te = "status_code_grouped", he = (e, r, t,
|
|
103
|
-
e[r][t] || (e[r][t] = {}), e[r][t][
|
|
102
|
+
const L = Symbol("default"), te = "status_code_grouped", he = (e, r, t, o, a) => {
|
|
103
|
+
e[r][t] || (e[r][t] = {}), e[r][t][o] = a;
|
|
104
104
|
};
|
|
105
|
-
function
|
|
106
|
-
var
|
|
107
|
-
const t = ((
|
|
105
|
+
function yr(e, r) {
|
|
106
|
+
var d;
|
|
107
|
+
const t = ((d = e.meta.metric_names) == null ? void 0 : d[0]) || "", o = e.meta.start_ms, a = Object.keys(e.meta.display || {}), n = !!a.find((f) => f === te), u = a.find((f) => f !== te);
|
|
108
108
|
return a.length > 2 || a.length > 1 && !n ? (console.error("Don't know how to work with provided dimensions:", a), {
|
|
109
109
|
previous: { [L]: { [L]: 0 } },
|
|
110
110
|
current: { [L]: { [L]: 0 } }
|
|
111
|
-
}) : e.data.reduce((
|
|
112
|
-
const s =
|
|
113
|
-
return new Date(
|
|
111
|
+
}) : e.data.reduce((f, i) => {
|
|
112
|
+
const s = i.event[t], l = u ? i.event[u] : L, c = n ? i.event[te] : L;
|
|
113
|
+
return new Date(i.timestamp).getTime() === o && r ? he(f, "previous", l, c, s) : he(f, "current", l, c, s), f;
|
|
114
114
|
}, {
|
|
115
115
|
previous: {},
|
|
116
116
|
current: {}
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
function hr(e) {
|
|
120
|
-
e.queryReady === void 0 && (e.queryReady =
|
|
121
|
-
const r =
|
|
122
|
-
var
|
|
120
|
+
e.queryReady === void 0 && (e.queryReady = p(() => !0));
|
|
121
|
+
const { i18n: r } = M.useI18n(), t = p(() => {
|
|
122
|
+
var l, c;
|
|
123
123
|
return {
|
|
124
124
|
metrics: e.metrics.value,
|
|
125
125
|
dimensions: [
|
|
126
|
-
...(
|
|
126
|
+
...(l = e.dimensions) != null && l.length ? [...e.dimensions] : [],
|
|
127
127
|
...e.withTrend.value ? ["time"] : []
|
|
128
128
|
],
|
|
129
129
|
granularity: e.withTrend.value ? "trend" : void 0,
|
|
130
|
-
...(
|
|
130
|
+
...(c = e.filter.value) != null && c.length ? { filters: e.filter.value } : {},
|
|
131
131
|
time_range: e.timeRange.value
|
|
132
132
|
};
|
|
133
|
-
}),
|
|
134
|
-
var
|
|
135
|
-
if (!((
|
|
133
|
+
}), o = p(() => {
|
|
134
|
+
var c, v, h, R;
|
|
135
|
+
if (!((c = e.queryReady) != null && c.value))
|
|
136
136
|
return null;
|
|
137
|
-
const
|
|
138
|
-
return `metric-fetcher-${JSON.stringify(e.timeRange.value)}-${(
|
|
139
|
-
}), { response:
|
|
140
|
-
() =>
|
|
137
|
+
const l = (v = e.filter) != null && v.value ? JSON.stringify(e.filter.value) : "";
|
|
138
|
+
return `metric-fetcher-${JSON.stringify(e.timeRange.value)}-${(h = e.dimensions) == null ? void 0 : h.join("-")}-${(R = e.metrics.value) == null ? void 0 : R.join("-")}-${l}-${e.refreshCounter.value}`;
|
|
139
|
+
}), { response: a, error: n, isValidating: u } = M.useRequest(
|
|
140
|
+
() => o.value,
|
|
141
141
|
() => e.queryFn({
|
|
142
142
|
// TODO: Use a type guard to validate that if the datasource is basic,
|
|
143
143
|
// the query is a valid basic explore query.
|
|
144
144
|
datasource: e.datasource.value,
|
|
145
|
-
query:
|
|
145
|
+
query: t.value
|
|
146
146
|
}, e.abortController ?? new AbortController()),
|
|
147
147
|
{
|
|
148
148
|
refreshInterval: e.refreshInterval,
|
|
149
149
|
revalidateOnFocus: !1,
|
|
150
150
|
errorRetryCount: dr
|
|
151
151
|
}
|
|
152
|
-
), { state:
|
|
153
|
-
var
|
|
154
|
-
return !((
|
|
155
|
-
}),
|
|
156
|
-
var
|
|
157
|
-
|
|
158
|
-
|
|
152
|
+
), { state: d, swrvState: f } = gr(a, n, u), i = p(() => {
|
|
153
|
+
var l, c, v, h, R, y, _;
|
|
154
|
+
return !((c = (l = a.value) == null ? void 0 : l.data) != null && c.length) || !((h = (v = a.value) == null ? void 0 : v.meta) != null && h.display) || !((_ = (y = (R = a.value) == null ? void 0 : R.meta) == null ? void 0 : y.metric_names) != null && _.length) ? { current: {}, previous: {} } : yr(a.value, e.withTrend.value);
|
|
155
|
+
}), s = p(() => {
|
|
156
|
+
var l, c;
|
|
157
|
+
if (e.timeRange.value.type === "absolute") {
|
|
158
|
+
if (!((c = (l = a.value) == null ? void 0 : l.meta) != null && c.start_ms))
|
|
159
|
+
return "";
|
|
160
|
+
const { start_ms: v, end_ms: h } = a.value.meta;
|
|
161
|
+
let R = (h - v) / (1e3 * 60 * 60 * 24), y = (h - v) / (1e3 * 60 * 60), _ = (h - v) / (1e3 * 60);
|
|
162
|
+
return e.withTrend.value && (R /= 2, y /= 2, _ /= 2), R >= 1 ? r.t("trendRange.custom_days", { numDays: Math.round(R) }) : y >= 1 ? r.t("trendRange.custom_hours", { numHours: Math.round(y) }) : _ >= 1 ? r.t("trendRange.custom_minutes", { numMinutes: Math.round(_) }) : r.t("trendRange.custom_days", { numDays: Math.round(R) });
|
|
163
|
+
} else
|
|
164
|
+
return e.withTrend.value ? r.t(`trendRange.${e.timeRange.value.time_range}`) : "";
|
|
165
|
+
});
|
|
159
166
|
return {
|
|
160
|
-
isLoading:
|
|
161
|
-
hasError:
|
|
162
|
-
raw:
|
|
163
|
-
mapped:
|
|
164
|
-
trendRange:
|
|
167
|
+
isLoading: p(() => f.PENDING === d.value),
|
|
168
|
+
hasError: p(() => f.ERROR === d.value),
|
|
169
|
+
raw: a,
|
|
170
|
+
mapped: i,
|
|
171
|
+
trendRange: s
|
|
165
172
|
};
|
|
166
173
|
}
|
|
167
|
-
const K = (e, r, t = L,
|
|
168
|
-
const
|
|
169
|
-
return
|
|
174
|
+
const K = (e, r, t = L, o) => (o ?? [L]).reduce((n, u) => {
|
|
175
|
+
const d = e[r][t];
|
|
176
|
+
return d ? n + (d[u] || 0) : n;
|
|
170
177
|
}, 0);
|
|
171
178
|
function pr(e) {
|
|
172
179
|
const {
|
|
173
180
|
cardType: r,
|
|
174
181
|
title: t,
|
|
175
|
-
description:
|
|
182
|
+
description: o,
|
|
176
183
|
record: a,
|
|
177
184
|
hasError: n,
|
|
178
185
|
increaseIsBad: u,
|
|
179
|
-
formatValueFn:
|
|
180
|
-
trendRange:
|
|
186
|
+
formatValueFn: d,
|
|
187
|
+
trendRange: f
|
|
181
188
|
} = e;
|
|
182
|
-
return
|
|
183
|
-
let
|
|
189
|
+
return p(() => {
|
|
190
|
+
let i = 0, s = 0;
|
|
184
191
|
if (a != null && a.value)
|
|
185
192
|
try {
|
|
186
|
-
|
|
193
|
+
i = K(a.value, "current", e.lookupKey, e.sumGroupedValues), s = K(a.value, "previous", e.lookupKey, e.sumGroupedValues);
|
|
187
194
|
} catch (l) {
|
|
188
195
|
console.error(
|
|
189
196
|
"Metric card data doesn't have the expected structure:",
|
|
@@ -193,53 +200,35 @@ function pr(e) {
|
|
|
193
200
|
return {
|
|
194
201
|
cardType: r,
|
|
195
202
|
hasError: n.value,
|
|
196
|
-
currentValue:
|
|
203
|
+
currentValue: i,
|
|
197
204
|
previousValue: s,
|
|
198
205
|
title: t.value,
|
|
199
|
-
description:
|
|
206
|
+
description: o,
|
|
200
207
|
increaseIsBad: !!u,
|
|
201
208
|
// Coerce undefined to false
|
|
202
|
-
formatValueFn:
|
|
203
|
-
trendRange:
|
|
209
|
+
formatValueFn: d,
|
|
210
|
+
trendRange: f == null ? void 0 : f.value
|
|
204
211
|
};
|
|
205
212
|
});
|
|
206
213
|
}
|
|
207
|
-
function Rr(e, r, t) {
|
|
208
|
-
const { i18n: i } = N.useI18n();
|
|
209
|
-
return g(() => {
|
|
210
|
-
var a, n, u;
|
|
211
|
-
if (((a = r == null ? void 0 : r.value) == null ? void 0 : a.type) === "absolute") {
|
|
212
|
-
let c, d;
|
|
213
|
-
if ((n = t == null ? void 0 : t.value) != null && n.start_ms && t.value.end_ms)
|
|
214
|
-
c = t.value.start_ms, d = t.value.end_ms;
|
|
215
|
-
else if (r.value.start && r.value.end)
|
|
216
|
-
c = new Date(r.value.start).getTime(), d = new Date(r.value.end).getTime();
|
|
217
|
-
else
|
|
218
|
-
return "";
|
|
219
|
-
let o = (d - c) / (1e3 * 60 * 60 * 24), s = (d - c) / (1e3 * 60 * 60), l = (d - c) / (1e3 * 60);
|
|
220
|
-
return e.value && (o /= 2, s /= 2, l /= 2), o >= 1 ? i.t("trendRange.custom_days", { numDays: Math.round(o) }) : s >= 1 ? i.t("trendRange.custom_hours", { numHours: Math.round(s) }) : l >= 1 ? i.t("trendRange.custom_minutes", { numMinutes: Math.round(l) }) : i.t("trendRange.custom_days", { numDays: Math.round(o) });
|
|
221
|
-
}
|
|
222
|
-
return ((u = r == null ? void 0 : r.value) == null ? void 0 : u.type) === "relative" && e.value ? i.t(`trendRange.${r.value.time_range}`) : "";
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
214
|
var ne = /* @__PURE__ */ new WeakMap(), pe = 0;
|
|
226
|
-
function
|
|
215
|
+
function Rr(e) {
|
|
227
216
|
if (!e.length)
|
|
228
217
|
return "";
|
|
229
218
|
for (var r = "arg", t = 0; t < e.length; ++t) {
|
|
230
|
-
var
|
|
231
|
-
e[t] === null || typeof e[t] != "object" && typeof e[t] != "function" ? typeof e[t] == "string" ?
|
|
219
|
+
var o = void 0;
|
|
220
|
+
e[t] === null || typeof e[t] != "object" && typeof e[t] != "function" ? typeof e[t] == "string" ? o = '"' + e[t] + '"' : o = String(e[t]) : ne.has(e[t]) ? o = ne.get(e[t]) : (o = pe, ne.set(e[t], pe++)), r += "@" + o;
|
|
232
221
|
}
|
|
233
222
|
return r;
|
|
234
223
|
}
|
|
235
|
-
function
|
|
224
|
+
function Tr(e) {
|
|
236
225
|
if (typeof e == "function")
|
|
237
226
|
try {
|
|
238
227
|
e = e();
|
|
239
228
|
} catch {
|
|
240
229
|
e = "";
|
|
241
230
|
}
|
|
242
|
-
return Array.isArray(e) ? e =
|
|
231
|
+
return Array.isArray(e) ? e = Rr(e) : e = String(e || ""), e;
|
|
243
232
|
}
|
|
244
233
|
var se = (
|
|
245
234
|
/** @class */
|
|
@@ -248,156 +237,156 @@ var se = (
|
|
|
248
237
|
r === void 0 && (r = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = r;
|
|
249
238
|
}
|
|
250
239
|
return e.prototype.serializeKey = function(r) {
|
|
251
|
-
return
|
|
240
|
+
return Tr(r);
|
|
252
241
|
}, e.prototype.get = function(r) {
|
|
253
242
|
var t = this.serializeKey(r);
|
|
254
243
|
return this.items.get(t);
|
|
255
|
-
}, e.prototype.set = function(r, t,
|
|
256
|
-
var a = this.serializeKey(r), n =
|
|
244
|
+
}, e.prototype.set = function(r, t, o) {
|
|
245
|
+
var a = this.serializeKey(r), n = o || this.ttl, u = Date.now(), d = {
|
|
257
246
|
data: t,
|
|
258
247
|
createdAt: u,
|
|
259
248
|
expiresAt: n ? u + n : 1 / 0
|
|
260
249
|
};
|
|
261
|
-
this.dispatchExpire(n,
|
|
262
|
-
}, e.prototype.dispatchExpire = function(r, t,
|
|
250
|
+
this.dispatchExpire(n, d, a), this.items.set(a, d);
|
|
251
|
+
}, e.prototype.dispatchExpire = function(r, t, o) {
|
|
263
252
|
var a = this;
|
|
264
253
|
r && setTimeout(function() {
|
|
265
254
|
var n = Date.now(), u = n >= t.expiresAt;
|
|
266
|
-
u && a.delete(
|
|
255
|
+
u && a.delete(o);
|
|
267
256
|
}, r);
|
|
268
257
|
}, e.prototype.delete = function(r) {
|
|
269
258
|
this.items.delete(r);
|
|
270
259
|
}, e;
|
|
271
260
|
}()
|
|
272
261
|
);
|
|
273
|
-
function
|
|
262
|
+
function Er() {
|
|
274
263
|
return typeof navigator.onLine < "u" ? navigator.onLine : !0;
|
|
275
264
|
}
|
|
276
|
-
function
|
|
265
|
+
function _r() {
|
|
277
266
|
return typeof document < "u" && typeof document.visibilityState < "u" ? document.visibilityState !== "hidden" : !0;
|
|
278
267
|
}
|
|
279
|
-
var
|
|
268
|
+
var Cr = function(e) {
|
|
280
269
|
return fetch(e).then(function(r) {
|
|
281
270
|
return r.json();
|
|
282
271
|
});
|
|
283
272
|
};
|
|
284
273
|
const ae = {
|
|
285
|
-
isOnline:
|
|
286
|
-
isDocumentVisible:
|
|
287
|
-
fetcher:
|
|
274
|
+
isOnline: Er,
|
|
275
|
+
isDocumentVisible: _r,
|
|
276
|
+
fetcher: Cr
|
|
288
277
|
};
|
|
289
278
|
var b = function() {
|
|
290
279
|
return b = Object.assign || function(e) {
|
|
291
|
-
for (var r, t = 1,
|
|
280
|
+
for (var r, t = 1, o = arguments.length; t < o; t++) {
|
|
292
281
|
r = arguments[t];
|
|
293
282
|
for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && (e[a] = r[a]);
|
|
294
283
|
}
|
|
295
284
|
return e;
|
|
296
285
|
}, b.apply(this, arguments);
|
|
297
|
-
}, P = function(e, r, t,
|
|
286
|
+
}, P = function(e, r, t, o) {
|
|
298
287
|
function a(n) {
|
|
299
288
|
return n instanceof t ? n : new t(function(u) {
|
|
300
289
|
u(n);
|
|
301
290
|
});
|
|
302
291
|
}
|
|
303
292
|
return new (t || (t = Promise))(function(n, u) {
|
|
304
|
-
function
|
|
293
|
+
function d(s) {
|
|
305
294
|
try {
|
|
306
|
-
o
|
|
295
|
+
i(o.next(s));
|
|
307
296
|
} catch (l) {
|
|
308
297
|
u(l);
|
|
309
298
|
}
|
|
310
299
|
}
|
|
311
|
-
function
|
|
300
|
+
function f(s) {
|
|
312
301
|
try {
|
|
313
|
-
o
|
|
302
|
+
i(o.throw(s));
|
|
314
303
|
} catch (l) {
|
|
315
304
|
u(l);
|
|
316
305
|
}
|
|
317
306
|
}
|
|
318
|
-
function
|
|
319
|
-
s.done ? n(s.value) : a(s.value).then(
|
|
307
|
+
function i(s) {
|
|
308
|
+
s.done ? n(s.value) : a(s.value).then(d, f);
|
|
320
309
|
}
|
|
321
|
-
|
|
310
|
+
i((o = o.apply(e, r || [])).next());
|
|
322
311
|
});
|
|
323
312
|
}, $ = function(e, r) {
|
|
324
313
|
var t = { label: 0, sent: function() {
|
|
325
314
|
if (n[0] & 1) throw n[1];
|
|
326
315
|
return n[1];
|
|
327
|
-
}, trys: [], ops: [] },
|
|
328
|
-
return u = { next:
|
|
316
|
+
}, trys: [], ops: [] }, o, a, n, u;
|
|
317
|
+
return u = { next: d(0), throw: d(1), return: d(2) }, typeof Symbol == "function" && (u[Symbol.iterator] = function() {
|
|
329
318
|
return this;
|
|
330
319
|
}), u;
|
|
331
|
-
function
|
|
320
|
+
function d(i) {
|
|
332
321
|
return function(s) {
|
|
333
|
-
return
|
|
322
|
+
return f([i, s]);
|
|
334
323
|
};
|
|
335
324
|
}
|
|
336
|
-
function
|
|
337
|
-
if (
|
|
325
|
+
function f(i) {
|
|
326
|
+
if (o) throw new TypeError("Generator is already executing.");
|
|
338
327
|
for (; t; ) try {
|
|
339
|
-
if (
|
|
340
|
-
switch (a = 0, n && (
|
|
328
|
+
if (o = 1, a && (n = i[0] & 2 ? a.return : i[0] ? a.throw || ((n = a.return) && n.call(a), 0) : a.next) && !(n = n.call(a, i[1])).done) return n;
|
|
329
|
+
switch (a = 0, n && (i = [i[0] & 2, n.value]), i[0]) {
|
|
341
330
|
case 0:
|
|
342
331
|
case 1:
|
|
343
|
-
n =
|
|
332
|
+
n = i;
|
|
344
333
|
break;
|
|
345
334
|
case 4:
|
|
346
|
-
return t.label++, { value:
|
|
335
|
+
return t.label++, { value: i[1], done: !1 };
|
|
347
336
|
case 5:
|
|
348
|
-
t.label++, a =
|
|
337
|
+
t.label++, a = i[1], i = [0];
|
|
349
338
|
continue;
|
|
350
339
|
case 7:
|
|
351
|
-
|
|
340
|
+
i = t.ops.pop(), t.trys.pop();
|
|
352
341
|
continue;
|
|
353
342
|
default:
|
|
354
|
-
if (n = t.trys, !(n = n.length > 0 && n[n.length - 1]) && (
|
|
343
|
+
if (n = t.trys, !(n = n.length > 0 && n[n.length - 1]) && (i[0] === 6 || i[0] === 2)) {
|
|
355
344
|
t = 0;
|
|
356
345
|
continue;
|
|
357
346
|
}
|
|
358
|
-
if (
|
|
359
|
-
t.label =
|
|
347
|
+
if (i[0] === 3 && (!n || i[1] > n[0] && i[1] < n[3])) {
|
|
348
|
+
t.label = i[1];
|
|
360
349
|
break;
|
|
361
350
|
}
|
|
362
|
-
if (
|
|
363
|
-
t.label = n[1], n =
|
|
351
|
+
if (i[0] === 6 && t.label < n[1]) {
|
|
352
|
+
t.label = n[1], n = i;
|
|
364
353
|
break;
|
|
365
354
|
}
|
|
366
355
|
if (n && t.label < n[2]) {
|
|
367
|
-
t.label = n[2], t.ops.push(
|
|
356
|
+
t.label = n[2], t.ops.push(i);
|
|
368
357
|
break;
|
|
369
358
|
}
|
|
370
359
|
n[2] && t.ops.pop(), t.trys.pop();
|
|
371
360
|
continue;
|
|
372
361
|
}
|
|
373
|
-
|
|
362
|
+
i = r.call(e, t);
|
|
374
363
|
} catch (s) {
|
|
375
|
-
|
|
364
|
+
i = [6, s], a = 0;
|
|
376
365
|
} finally {
|
|
377
|
-
|
|
366
|
+
o = n = 0;
|
|
378
367
|
}
|
|
379
|
-
if (
|
|
380
|
-
return { value:
|
|
368
|
+
if (i[0] & 5) throw i[1];
|
|
369
|
+
return { value: i[0] ? i[1] : void 0, done: !0 };
|
|
381
370
|
}
|
|
382
|
-
},
|
|
371
|
+
}, Sr = function(e, r) {
|
|
383
372
|
var t = typeof Symbol == "function" && e[Symbol.iterator];
|
|
384
373
|
if (!t) return e;
|
|
385
|
-
var
|
|
374
|
+
var o = t.call(e), a, n = [], u;
|
|
386
375
|
try {
|
|
387
|
-
for (; (r === void 0 || r-- > 0) && !(a =
|
|
388
|
-
} catch (
|
|
389
|
-
u = { error:
|
|
376
|
+
for (; (r === void 0 || r-- > 0) && !(a = o.next()).done; ) n.push(a.value);
|
|
377
|
+
} catch (d) {
|
|
378
|
+
u = { error: d };
|
|
390
379
|
} finally {
|
|
391
380
|
try {
|
|
392
|
-
a && !a.done && (t =
|
|
381
|
+
a && !a.done && (t = o.return) && t.call(o);
|
|
393
382
|
} finally {
|
|
394
383
|
if (u) throw u.error;
|
|
395
384
|
}
|
|
396
385
|
}
|
|
397
386
|
return n;
|
|
398
|
-
},
|
|
399
|
-
if (t || arguments.length === 2) for (var
|
|
400
|
-
(n || !(
|
|
387
|
+
}, Ir = function(e, r, t) {
|
|
388
|
+
if (t || arguments.length === 2) for (var o = 0, a = r.length, n; o < a; o++)
|
|
389
|
+
(n || !(o in r)) && (n || (n = Array.prototype.slice.call(r, 0, o)), n[o] = r[o]);
|
|
401
390
|
return e.concat(n || Array.prototype.slice.call(r));
|
|
402
391
|
}, Oe = new se(), Q = new se(), ie = new se(), Le = {
|
|
403
392
|
cache: Oe,
|
|
@@ -414,68 +403,68 @@ var b = function() {
|
|
|
414
403
|
isOnline: ae.isOnline,
|
|
415
404
|
isDocumentVisible: ae.isDocumentVisible
|
|
416
405
|
};
|
|
417
|
-
function
|
|
418
|
-
var
|
|
419
|
-
if (
|
|
420
|
-
|
|
406
|
+
function Ar(e, r, t) {
|
|
407
|
+
var o = Q.get(e);
|
|
408
|
+
if (o)
|
|
409
|
+
o.data.push(r);
|
|
421
410
|
else {
|
|
422
411
|
var a = 5e3;
|
|
423
412
|
Q.set(e, [r], t > 0 ? t + a : t);
|
|
424
413
|
}
|
|
425
414
|
}
|
|
426
|
-
function
|
|
415
|
+
function Dr(e, r, t) {
|
|
427
416
|
if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && r > t.errorRetryCount)) {
|
|
428
|
-
var
|
|
417
|
+
var o = Math.min(r || 0, t.errorRetryCount), a = o * t.errorRetryInterval;
|
|
429
418
|
setTimeout(function() {
|
|
430
|
-
e(null, { errorRetryCount:
|
|
419
|
+
e(null, { errorRetryCount: o + 1, shouldRetryOnError: !0 });
|
|
431
420
|
}, a);
|
|
432
421
|
}
|
|
433
422
|
}
|
|
434
|
-
var Re = function(e, r, t,
|
|
435
|
-
return t === void 0 && (t = Oe),
|
|
436
|
-
var a, n, u,
|
|
423
|
+
var Re = function(e, r, t, o) {
|
|
424
|
+
return t === void 0 && (t = Oe), o === void 0 && (o = Le.ttl), P(void 0, void 0, void 0, function() {
|
|
425
|
+
var a, n, u, d, f, i, s;
|
|
437
426
|
return $(this, function(l) {
|
|
438
427
|
switch (l.label) {
|
|
439
428
|
case 0:
|
|
440
|
-
if (!
|
|
429
|
+
if (!wr(r)) return [3, 5];
|
|
441
430
|
l.label = 1;
|
|
442
431
|
case 1:
|
|
443
432
|
return l.trys.push([1, 3, , 4]), [4, r];
|
|
444
433
|
case 2:
|
|
445
434
|
return a = l.sent(), [3, 4];
|
|
446
435
|
case 3:
|
|
447
|
-
return
|
|
436
|
+
return d = l.sent(), n = d, [3, 4];
|
|
448
437
|
case 4:
|
|
449
438
|
return [3, 6];
|
|
450
439
|
case 5:
|
|
451
440
|
a = r, l.label = 6;
|
|
452
441
|
case 6:
|
|
453
|
-
if (u = !1,
|
|
442
|
+
if (u = !1, f = { data: a, error: n, isValidating: u }, typeof a < "u")
|
|
454
443
|
try {
|
|
455
|
-
t.set(e,
|
|
456
|
-
} catch (
|
|
457
|
-
console.error("swrv(mutate): failed to set cache",
|
|
444
|
+
t.set(e, f, o);
|
|
445
|
+
} catch (c) {
|
|
446
|
+
console.error("swrv(mutate): failed to set cache", c);
|
|
458
447
|
}
|
|
459
|
-
return
|
|
460
|
-
return
|
|
461
|
-
}), s.forEach(function(
|
|
462
|
-
typeof
|
|
463
|
-
var
|
|
464
|
-
|
|
465
|
-
}), s = s.filter(Boolean)), [2,
|
|
448
|
+
return i = Q.get(e), i && i.data.length && (s = i.data.filter(function(c) {
|
|
449
|
+
return c.key === e;
|
|
450
|
+
}), s.forEach(function(c, v) {
|
|
451
|
+
typeof f.data < "u" && (c.data = f.data), c.error = f.error, c.isValidating = f.isValidating, c.isLoading = f.isValidating;
|
|
452
|
+
var h = v === s.length - 1;
|
|
453
|
+
h || delete s[v];
|
|
454
|
+
}), s = s.filter(Boolean)), [2, f];
|
|
466
455
|
}
|
|
467
456
|
});
|
|
468
457
|
});
|
|
469
458
|
};
|
|
470
|
-
function
|
|
459
|
+
function br() {
|
|
471
460
|
for (var e = this, r = [], t = 0; t < arguments.length; t++)
|
|
472
461
|
r[t] = arguments[t];
|
|
473
|
-
var
|
|
474
|
-
if (!
|
|
462
|
+
var o, a, n = b({}, Le), u = !1, d = !1, f = Me(), i = (f == null ? void 0 : f.proxy) || f;
|
|
463
|
+
if (!i)
|
|
475
464
|
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;
|
|
476
|
-
var s = (
|
|
477
|
-
r.length >= 1 && (
|
|
478
|
-
var l = s ? n.serverTTL : n.ttl,
|
|
465
|
+
var s = (i == null ? void 0 : i.$isServer) || !1;
|
|
466
|
+
r.length >= 1 && (o = r[0]), r.length >= 2 && (a = r[1]), r.length > 2 && (n = b(b({}, n), r[2]));
|
|
467
|
+
var l = s ? n.serverTTL : n.ttl, c = typeof o == "function" ? o : Y(o);
|
|
479
468
|
typeof a > "u" && (a = n.fetcher);
|
|
480
469
|
var v = null;
|
|
481
470
|
v || (v = Fe({
|
|
@@ -485,33 +474,33 @@ function wr() {
|
|
|
485
474
|
isLoading: !0,
|
|
486
475
|
key: null
|
|
487
476
|
}));
|
|
488
|
-
var
|
|
477
|
+
var h = function(m, g) {
|
|
489
478
|
return P(e, void 0, void 0, function() {
|
|
490
|
-
var
|
|
479
|
+
var N, E, I, A, x, ce, J, de = this;
|
|
491
480
|
return $(this, function(Z) {
|
|
492
481
|
switch (Z.label) {
|
|
493
482
|
case 0:
|
|
494
|
-
return
|
|
483
|
+
return N = v.data === void 0, E = c.value, E ? (I = n.cache.get(E), A = I && I.data, v.isValidating = !0, v.isLoading = !A, A && (v.data = A.data, v.error = A.error), x = m || a, !x || !n.isDocumentVisible() && !N || (g == null ? void 0 : g.forceRevalidate) !== void 0 && !(g != null && g.forceRevalidate) ? (v.isValidating = !1, v.isLoading = !1, [
|
|
495
484
|
2
|
|
496
485
|
/*return*/
|
|
497
|
-
]) :
|
|
486
|
+
]) : I && (ce = !!(Date.now() - I.createdAt >= n.dedupingInterval || g != null && g.forceRevalidate), !ce) ? (v.isValidating = !1, v.isLoading = !1, [
|
|
498
487
|
2
|
|
499
488
|
/*return*/
|
|
500
489
|
]) : (J = function() {
|
|
501
490
|
return P(de, void 0, void 0, function() {
|
|
502
|
-
var
|
|
491
|
+
var k, fe, ee, ve;
|
|
503
492
|
return $(this, function(X) {
|
|
504
493
|
switch (X.label) {
|
|
505
494
|
case 0:
|
|
506
|
-
return
|
|
495
|
+
return k = ie.get(E), k ? [3, 2] : (fe = Array.isArray(E) ? E : [E], ee = x.apply(void 0, Ir([], Sr(fe), !1)), ie.set(E, ee, n.dedupingInterval), [4, Re(E, ee, n.cache, l)]);
|
|
507
496
|
case 1:
|
|
508
497
|
return X.sent(), [3, 4];
|
|
509
498
|
case 2:
|
|
510
|
-
return [4, Re(
|
|
499
|
+
return [4, Re(E, k.data, n.cache, l)];
|
|
511
500
|
case 3:
|
|
512
501
|
X.sent(), X.label = 4;
|
|
513
502
|
case 4:
|
|
514
|
-
return v.isValidating = !1, v.isLoading = !1, ie.delete(
|
|
503
|
+
return v.isValidating = !1, v.isLoading = !1, ie.delete(E), v.error !== void 0 && (ve = !u && n.shouldRetryOnError && (g ? g.shouldRetryOnError : !0), ve && Dr(h, g ? g.errorRetryCount : 1, n)), [
|
|
515
504
|
2
|
|
516
505
|
/*return*/
|
|
517
506
|
];
|
|
@@ -520,12 +509,12 @@ function wr() {
|
|
|
520
509
|
});
|
|
521
510
|
}, A && n.revalidateDebounce ? (setTimeout(function() {
|
|
522
511
|
return P(de, void 0, void 0, function() {
|
|
523
|
-
return $(this, function(
|
|
524
|
-
switch (
|
|
512
|
+
return $(this, function(k) {
|
|
513
|
+
switch (k.label) {
|
|
525
514
|
case 0:
|
|
526
515
|
return u ? [3, 2] : [4, J()];
|
|
527
516
|
case 1:
|
|
528
|
-
|
|
517
|
+
k.sent(), k.label = 2;
|
|
529
518
|
case 2:
|
|
530
519
|
return [
|
|
531
520
|
2
|
|
@@ -550,26 +539,26 @@ function wr() {
|
|
|
550
539
|
}
|
|
551
540
|
});
|
|
552
541
|
});
|
|
553
|
-
},
|
|
542
|
+
}, R = function() {
|
|
554
543
|
return P(e, void 0, void 0, function() {
|
|
555
544
|
return $(this, function(m) {
|
|
556
|
-
return [2,
|
|
545
|
+
return [2, h(null, { shouldRetryOnError: !1 })];
|
|
557
546
|
});
|
|
558
547
|
});
|
|
559
|
-
},
|
|
548
|
+
}, y = null;
|
|
560
549
|
xe(function() {
|
|
561
550
|
var m = function() {
|
|
562
551
|
return P(e, void 0, void 0, function() {
|
|
563
|
-
return $(this, function(
|
|
564
|
-
switch (
|
|
552
|
+
return $(this, function(g) {
|
|
553
|
+
switch (g.label) {
|
|
565
554
|
case 0:
|
|
566
|
-
return !v.error && n.isOnline() ? [4,
|
|
555
|
+
return !v.error && n.isOnline() ? [4, h()] : [3, 2];
|
|
567
556
|
case 1:
|
|
568
|
-
return
|
|
557
|
+
return g.sent(), [3, 3];
|
|
569
558
|
case 2:
|
|
570
|
-
|
|
559
|
+
y && clearTimeout(y), g.label = 3;
|
|
571
560
|
case 3:
|
|
572
|
-
return n.refreshInterval && !u && (
|
|
561
|
+
return n.refreshInterval && !u && (y = setTimeout(m, n.refreshInterval)), [
|
|
573
562
|
2
|
|
574
563
|
/*return*/
|
|
575
564
|
];
|
|
@@ -577,80 +566,79 @@ function wr() {
|
|
|
577
566
|
});
|
|
578
567
|
});
|
|
579
568
|
};
|
|
580
|
-
n.refreshInterval && (
|
|
569
|
+
n.refreshInterval && (y = setTimeout(m, n.refreshInterval)), n.revalidateOnFocus && (document.addEventListener("visibilitychange", R, !1), window.addEventListener("focus", R, !1));
|
|
581
570
|
}), qe(function() {
|
|
582
|
-
u = !0,
|
|
583
|
-
var m = Q.get(
|
|
584
|
-
m && (m.data = m.data.filter(function(
|
|
585
|
-
return
|
|
571
|
+
u = !0, y && clearTimeout(y), n.revalidateOnFocus && (document.removeEventListener("visibilitychange", R, !1), window.removeEventListener("focus", R, !1));
|
|
572
|
+
var m = Q.get(c.value);
|
|
573
|
+
m && (m.data = m.data.filter(function(g) {
|
|
574
|
+
return g !== v;
|
|
586
575
|
}));
|
|
587
576
|
});
|
|
588
577
|
try {
|
|
589
|
-
Ue(
|
|
590
|
-
Pe(
|
|
578
|
+
Ue(c, function(m) {
|
|
579
|
+
Pe(c) || (c.value = m), v.key = m, v.isValidating = !!m, Ar(c.value, v, l), !s && !d && c.value && h(), d = !1;
|
|
591
580
|
}, {
|
|
592
581
|
immediate: !0
|
|
593
582
|
});
|
|
594
583
|
} catch {
|
|
595
584
|
}
|
|
596
|
-
var
|
|
597
|
-
return
|
|
585
|
+
var _ = b(b({}, $e(v)), { mutate: function(m, g) {
|
|
586
|
+
return h(m, b(b({}, g), { forceRevalidate: !0 }));
|
|
598
587
|
} });
|
|
599
|
-
return
|
|
588
|
+
return _;
|
|
600
589
|
}
|
|
601
|
-
function
|
|
590
|
+
function wr(e) {
|
|
602
591
|
return e !== null && typeof e == "object" && typeof e.then == "function";
|
|
603
592
|
}
|
|
604
|
-
function
|
|
593
|
+
function Or(e, r, t) {
|
|
605
594
|
const {
|
|
606
|
-
data:
|
|
595
|
+
data: o,
|
|
607
596
|
error: a,
|
|
608
597
|
isValidating: n,
|
|
609
598
|
mutate: u
|
|
610
|
-
} =
|
|
599
|
+
} = br(e, r, {
|
|
611
600
|
revalidateDebounce: 500,
|
|
612
601
|
revalidateOnFocus: !1,
|
|
613
602
|
dedupingInterval: 100,
|
|
614
603
|
...t
|
|
615
604
|
});
|
|
616
605
|
return {
|
|
617
|
-
data:
|
|
618
|
-
response:
|
|
606
|
+
data: p(() => o.value),
|
|
607
|
+
response: o,
|
|
619
608
|
error: a,
|
|
620
609
|
isValidating: n,
|
|
621
610
|
revalidate: u
|
|
622
611
|
};
|
|
623
612
|
}
|
|
624
|
-
const
|
|
613
|
+
const M = {
|
|
625
614
|
useI18n: cr,
|
|
626
615
|
useMetricCardBuilder: pr,
|
|
627
616
|
useMetricFetcher: hr,
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
}, Ve = Symbol("METRICS_PROVIDER_KEY"), Vr = (e) => {
|
|
617
|
+
useRequest: Or
|
|
618
|
+
}, Ve = Symbol("METRICS_PROVIDER_KEY"), Lr = (e) => {
|
|
631
619
|
const {
|
|
632
620
|
datasource: r,
|
|
633
621
|
dimension: t,
|
|
634
|
-
dimensionFilterValue:
|
|
622
|
+
dimensionFilterValue: o,
|
|
635
623
|
additionalFilter: a,
|
|
636
624
|
queryReady: n,
|
|
637
625
|
timeRange: u,
|
|
638
|
-
hasTrendAccess:
|
|
639
|
-
refreshInterval:
|
|
640
|
-
abortController:
|
|
626
|
+
hasTrendAccess: d,
|
|
627
|
+
refreshInterval: f,
|
|
628
|
+
abortController: i,
|
|
641
629
|
queryFn: s,
|
|
642
630
|
averageLatencies: l
|
|
643
631
|
} = e;
|
|
644
|
-
if (
|
|
632
|
+
if (o && !t)
|
|
645
633
|
throw new Error("Must provide a dimension if filtering by a value");
|
|
646
|
-
const
|
|
647
|
-
const
|
|
648
|
-
return
|
|
634
|
+
const c = !!(t && o), v = !!(t && !o), h = p(() => {
|
|
635
|
+
const g = [];
|
|
636
|
+
return c && g.push({
|
|
649
637
|
field: t,
|
|
650
638
|
operator: "in",
|
|
651
|
-
value: [
|
|
652
|
-
}), a.value &&
|
|
653
|
-
}),
|
|
639
|
+
value: [o]
|
|
640
|
+
}), a.value && g.push(...je(r.value, a.value)), g;
|
|
641
|
+
}), R = {
|
|
654
642
|
datasource: r,
|
|
655
643
|
metrics: Y([
|
|
656
644
|
"request_count"
|
|
@@ -658,38 +646,38 @@ const N = {
|
|
|
658
646
|
// Traffic and error rate cards should only try to query for the dimension if it's going to be used.
|
|
659
647
|
// It isn't used for single entity queries.
|
|
660
648
|
dimensions: [
|
|
661
|
-
...t && !
|
|
649
|
+
...t && !c ? [t] : [],
|
|
662
650
|
"status_code_grouped"
|
|
663
651
|
],
|
|
664
|
-
filter:
|
|
652
|
+
filter: h,
|
|
665
653
|
queryReady: n,
|
|
666
654
|
timeRange: u,
|
|
667
655
|
// Traffic and error rate cards can't query trend if multiple entities are expected.
|
|
668
|
-
withTrend:
|
|
669
|
-
refreshInterval:
|
|
656
|
+
withTrend: p(() => d.value && !v),
|
|
657
|
+
refreshInterval: f,
|
|
670
658
|
queryFn: s,
|
|
671
|
-
abortController:
|
|
659
|
+
abortController: i,
|
|
672
660
|
refreshCounter: e.refreshCounter
|
|
673
|
-
},
|
|
661
|
+
}, y = {
|
|
674
662
|
datasource: r,
|
|
675
|
-
metrics:
|
|
663
|
+
metrics: p(() => [
|
|
676
664
|
l.value ? "response_latency_average" : "response_latency_p99"
|
|
677
665
|
]),
|
|
678
666
|
// To keep single-entity queries consistent, don't bother querying the dimension for latency
|
|
679
667
|
// in the single-entity case, even though it's possible.
|
|
680
|
-
...t && !
|
|
681
|
-
filter:
|
|
668
|
+
...t && !c ? { dimensions: [t] } : {},
|
|
669
|
+
filter: h,
|
|
682
670
|
queryReady: n,
|
|
683
671
|
timeRange: u,
|
|
684
672
|
// Don't query latency trends in the multi-entity case: it's possible, but wasteful.
|
|
685
|
-
withTrend:
|
|
686
|
-
refreshInterval:
|
|
673
|
+
withTrend: p(() => d.value && !v),
|
|
674
|
+
refreshInterval: f,
|
|
687
675
|
queryFn: s,
|
|
688
|
-
abortController:
|
|
676
|
+
abortController: i,
|
|
689
677
|
refreshCounter: e.refreshCounter
|
|
690
|
-
},
|
|
678
|
+
}, _ = M.useMetricFetcher(R), m = M.useMetricFetcher(y);
|
|
691
679
|
return {
|
|
692
|
-
trafficData:
|
|
680
|
+
trafficData: _,
|
|
693
681
|
latencyData: m
|
|
694
682
|
};
|
|
695
683
|
}, gt = /* @__PURE__ */ W({
|
|
@@ -712,32 +700,32 @@ const N = {
|
|
|
712
700
|
},
|
|
713
701
|
setup(e) {
|
|
714
702
|
const r = e;
|
|
715
|
-
if (r.dimension && He.findIndex((
|
|
703
|
+
if (r.dimension && He.findIndex((c) => c === r.dimension) === -1)
|
|
716
704
|
throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${r.dimension}`);
|
|
717
705
|
const t = Ce(vr);
|
|
718
|
-
let
|
|
719
|
-
t ?
|
|
720
|
-
const a = We(), n =
|
|
721
|
-
const
|
|
722
|
-
return
|
|
706
|
+
let o;
|
|
707
|
+
t ? o = t.queryFn : (console.warn("Analytics dashboards require a query bridge supplied via provide / inject."), console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"), console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/analytics-metric-provider/README.md#requirements"), o = () => Promise.reject(new Error("Query bridge required")));
|
|
708
|
+
const a = We(), n = p(() => !0), u = p(() => !a.loading && r.queryReady), d = p(() => r.datasource ? r.datasource : "basic"), f = p(() => {
|
|
709
|
+
const c = r.overrideTimeRange;
|
|
710
|
+
return c && !c.tz && (c.tz = new Intl.DateTimeFormat().resolvedOptions().timeZone), c || {
|
|
723
711
|
type: "relative",
|
|
724
712
|
time_range: "7d",
|
|
725
713
|
tz: new Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
726
714
|
};
|
|
727
|
-
}),
|
|
715
|
+
}), i = p(() => !r.percentileLatency), {
|
|
728
716
|
trafficData: s,
|
|
729
717
|
latencyData: l
|
|
730
|
-
} =
|
|
731
|
-
datasource:
|
|
718
|
+
} = Lr({
|
|
719
|
+
datasource: d,
|
|
732
720
|
dimension: r.dimension,
|
|
733
721
|
dimensionFilterValue: r.filterValue,
|
|
734
722
|
additionalFilter: G(r, "additionalFilter"),
|
|
735
723
|
queryReady: u,
|
|
736
|
-
timeRange:
|
|
724
|
+
timeRange: f,
|
|
737
725
|
hasTrendAccess: n,
|
|
738
726
|
refreshInterval: r.refreshInterval,
|
|
739
|
-
queryFn:
|
|
740
|
-
averageLatencies:
|
|
727
|
+
queryFn: o,
|
|
728
|
+
averageLatencies: i,
|
|
741
729
|
abortController: r.abortController,
|
|
742
730
|
refreshCounter: G(r, "refreshCounter")
|
|
743
731
|
});
|
|
@@ -750,62 +738,62 @@ const N = {
|
|
|
750
738
|
containerTitle: G(() => r.containerTitle),
|
|
751
739
|
hasTrendAccess: n,
|
|
752
740
|
longCardTitles: r.longCardTitles,
|
|
753
|
-
averageLatencies:
|
|
754
|
-
}), (
|
|
741
|
+
averageLatencies: i
|
|
742
|
+
}), (c, v) => Se(c.$slots, "default", {
|
|
755
743
|
hasTrendAccess: n.value,
|
|
756
|
-
timeRange:
|
|
744
|
+
timeRange: f.value
|
|
757
745
|
});
|
|
758
746
|
}
|
|
759
747
|
});
|
|
760
|
-
function
|
|
748
|
+
function Vr(e) {
|
|
761
749
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
762
750
|
}
|
|
763
751
|
var Ne = { exports: {} };
|
|
764
752
|
(function(e) {
|
|
765
753
|
(function() {
|
|
766
|
-
function r(
|
|
767
|
-
if (s.separator === !1 ||
|
|
768
|
-
return
|
|
769
|
-
var l = typeof s.separator == "string" ? s.separator : ",",
|
|
770
|
-
return v.reverse().forEach(function(
|
|
771
|
-
|
|
772
|
-
}),
|
|
754
|
+
function r(i, s) {
|
|
755
|
+
if (s.separator === !1 || i < 1e3)
|
|
756
|
+
return i.toString();
|
|
757
|
+
var l = typeof s.separator == "string" ? s.separator : ",", c = [], v = Math.round(i).toString().split("");
|
|
758
|
+
return v.reverse().forEach(function(h, R) {
|
|
759
|
+
R && R % 3 === 0 && c.push(l), c.push(h);
|
|
760
|
+
}), c.reverse().join("");
|
|
773
761
|
}
|
|
774
|
-
function t(
|
|
775
|
-
var
|
|
776
|
-
return l.decimal === !1 ? (
|
|
762
|
+
function t(i, s, l) {
|
|
763
|
+
var c = i / s, v = l.round ? "round" : "floor";
|
|
764
|
+
return l.decimal === !1 ? (i = Math[v](c), i.toString()) : (l.precision ? i = c : i = c < 10 ? Math[v](c * 10) / 10 : Math[v](c), i = i.toString(), typeof l.decimal == "string" && (i = i.replace(".", l.decimal)), i);
|
|
777
765
|
}
|
|
778
|
-
var
|
|
779
|
-
function
|
|
766
|
+
var o = 1e3, a = 1e4, n = 1e6, u = 1e9, d = 1e12;
|
|
767
|
+
function f(i, s) {
|
|
780
768
|
var l;
|
|
781
769
|
s = s || {};
|
|
782
|
-
var
|
|
783
|
-
|
|
784
|
-
var v = s.min10k ? a :
|
|
785
|
-
return
|
|
770
|
+
var c = i < 0;
|
|
771
|
+
c && (i = Math.abs(i)), s.precision && (i = parseFloat(i.toPrecision(s.precision)));
|
|
772
|
+
var v = s.min10k ? a : o;
|
|
773
|
+
return i < v || s.precision && s.precision > Math.log10(i) ? l = r(t(i, 1, s), s) : i < n ? l = t(i, o, s) + "k" : i < u ? l = t(i, n, s) + "m" : i < d ? l = r(t(i, u, s), s) + "b" : l = r(t(i, d, s), s) + "t", c && (l = "-" + l), s.capital && (l = l.toUpperCase()), s.prefix && (l = s.prefix + l), s.suffix && (l = l + s.suffix), l;
|
|
786
774
|
}
|
|
787
|
-
|
|
775
|
+
f.addCommas = r, e.exports = f;
|
|
788
776
|
})();
|
|
789
777
|
})(Ne);
|
|
790
|
-
var
|
|
791
|
-
const
|
|
778
|
+
var Nr = Ne.exports;
|
|
779
|
+
const kr = /* @__PURE__ */ Vr(Nr);
|
|
792
780
|
var O = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = "GenericCount", e.TRAFFIC = "Traffic", e.ERROR_RATE = "ErrorRate", e.LATENCY = "Latency", e))(O || {}), D = /* @__PURE__ */ ((e) => (e.Small = "sm", e.Medium = "md", e.Large = "lg", e.ExtraLarge = "xl", e))(D || {});
|
|
793
|
-
const ue = 2, Te = ue + 2,
|
|
794
|
-
let
|
|
795
|
-
return t && (
|
|
796
|
-
},
|
|
781
|
+
const ue = 2, Te = ue + 2, Mr = (e, r, t = !1) => {
|
|
782
|
+
let o = !r || Number(e.toFixed(Te)) === 0 ? 0 : Number(e.toFixed(Te)) > 0 ? 1 : -1;
|
|
783
|
+
return t && (o *= -1), o;
|
|
784
|
+
}, Fr = (e, r, t) => r ? `${Math.abs(e * 100).toFixed(ue)}%` : t, xr = (e, r) => r === 0 ? 0 : e / r - 1, qr = (e, r = !1) => (r && (e *= -1), e > 0 ? Je : e < 0 ? Ze : De), Ur = "#ad000e", oe = "#6c7489", Ee = "#52596e", Pr = "#007d60", j = "16px", $r = "20px", zr = {
|
|
797
785
|
key: 0,
|
|
798
786
|
class: "metricscard-description"
|
|
799
|
-
},
|
|
787
|
+
}, Kr = { class: "metricscard-valuetrend" }, Br = {
|
|
800
788
|
key: 0,
|
|
801
789
|
class: "metricscard-error"
|
|
802
|
-
},
|
|
790
|
+
}, Xr = {
|
|
803
791
|
key: 2,
|
|
804
792
|
class: "metricscard-trend"
|
|
805
|
-
},
|
|
793
|
+
}, Gr = { "data-testid": "metric-trend-change" }, jr = {
|
|
806
794
|
key: 0,
|
|
807
795
|
class: "metricscard-trend-range"
|
|
808
|
-
},
|
|
796
|
+
}, Hr = /* @__PURE__ */ W({
|
|
809
797
|
__name: "MetricsCard",
|
|
810
798
|
props: {
|
|
811
799
|
cardType: {
|
|
@@ -882,81 +870,81 @@ const ue = 2, Te = ue + 2, Fr = (e, r, t = !1) => {
|
|
|
882
870
|
[O.TRAFFIC, rr],
|
|
883
871
|
[O.ERROR_RATE, tr],
|
|
884
872
|
[O.LATENCY, nr]
|
|
885
|
-
]), t = e,
|
|
886
|
-
const
|
|
887
|
-
red: `var(--kui-color-text-danger-strong, ${
|
|
888
|
-
green: `var(--kui-color-text-success, ${
|
|
873
|
+
]), t = e, o = (d) => {
|
|
874
|
+
const f = {
|
|
875
|
+
red: `var(--kui-color-text-danger-strong, ${Ur})`,
|
|
876
|
+
green: `var(--kui-color-text-success, ${Pr})`,
|
|
889
877
|
grey: `var(--kui-color-text-neutral-strong, ${Ee})`
|
|
890
878
|
};
|
|
891
|
-
return
|
|
892
|
-
}, a = (
|
|
893
|
-
return (
|
|
894
|
-
const
|
|
895
|
-
return
|
|
879
|
+
return d > 0 ? f.green : d < 0 ? f.red : f.grey;
|
|
880
|
+
}, a = (d) => d > 0 ? "positive" : d < 0 ? "negative" : "neutral", n = [D.Medium, D.Large].includes(t.cardSize), u = [D.Small].includes(t.cardSize);
|
|
881
|
+
return (d, f) => {
|
|
882
|
+
const i = Ie("KTooltip");
|
|
883
|
+
return T(), S("div", {
|
|
896
884
|
class: z(["metricscard", e.cardSize])
|
|
897
885
|
}, [
|
|
898
886
|
q("div", {
|
|
899
887
|
class: z(["metricscard-title", e.cardSize])
|
|
900
888
|
}, [
|
|
901
|
-
|
|
889
|
+
C(u) ? V("", !0) : (T(), U(re(C(r).get(e.cardType)), {
|
|
902
890
|
key: 0,
|
|
903
891
|
class: "metricscard-icon",
|
|
904
|
-
color: `var(--kui-color-text-neutral, ${
|
|
905
|
-
size:
|
|
892
|
+
color: `var(--kui-color-text-neutral, ${C(oe)})`,
|
|
893
|
+
size: C(j)
|
|
906
894
|
}, null, 8, ["color", "size"])),
|
|
907
|
-
(
|
|
895
|
+
(T(), U(re(e.titleTag), null, {
|
|
908
896
|
default: me(() => [
|
|
909
897
|
Ae(w(e.title), 1)
|
|
910
898
|
]),
|
|
911
899
|
_: 1
|
|
912
900
|
})),
|
|
913
|
-
e.tooltip ? (
|
|
901
|
+
e.tooltip ? (T(), U(i, {
|
|
914
902
|
key: 1,
|
|
915
903
|
class: "metricscard-tooltip",
|
|
916
904
|
placement: "right",
|
|
917
905
|
text: e.tooltip
|
|
918
906
|
}, {
|
|
919
907
|
default: me(() => [
|
|
920
|
-
F(
|
|
921
|
-
color: `var(--kui-color-text-neutral, ${
|
|
922
|
-
size:
|
|
908
|
+
F(C(ar), {
|
|
909
|
+
color: `var(--kui-color-text-neutral, ${C(oe)})`,
|
|
910
|
+
size: C(j)
|
|
923
911
|
}, null, 8, ["color", "size"])
|
|
924
912
|
]),
|
|
925
913
|
_: 1
|
|
926
914
|
}, 8, ["text"])) : V("", !0)
|
|
927
915
|
], 2),
|
|
928
|
-
e.description &&
|
|
916
|
+
e.description && C(n) ? (T(), S("div", zr, [
|
|
929
917
|
q("span", null, w(e.description), 1)
|
|
930
918
|
])) : V("", !0),
|
|
931
|
-
q("div",
|
|
932
|
-
e.hasError ? (
|
|
933
|
-
F(
|
|
934
|
-
color: `var(--kui-color-text-neutral, ${
|
|
935
|
-
size:
|
|
919
|
+
q("div", Kr, [
|
|
920
|
+
e.hasError ? (T(), S("div", Br, [
|
|
921
|
+
F(C(be), {
|
|
922
|
+
color: `var(--kui-color-text-neutral, ${C(oe)})`,
|
|
923
|
+
size: C($r)
|
|
936
924
|
}, null, 8, ["color", "size"]),
|
|
937
925
|
q("div", null, " " + w(e.errorMessage), 1)
|
|
938
|
-
])) : (
|
|
926
|
+
])) : (T(), S("div", {
|
|
939
927
|
key: 1,
|
|
940
928
|
class: z(["metricscard-value", e.cardSize]),
|
|
941
929
|
"data-testid": "metric-value"
|
|
942
930
|
}, w(e.metricValue), 3)),
|
|
943
|
-
|
|
931
|
+
C(n) ? (T(), S("div", Xr, [
|
|
944
932
|
q("div", {
|
|
945
933
|
class: z(["metricscard-trend-change", a(e.changePolarity)]),
|
|
946
934
|
"data-testid": "metric-trend-parent"
|
|
947
935
|
}, [
|
|
948
|
-
e.changePolarity !== 0 ? (
|
|
936
|
+
e.changePolarity !== 0 ? (T(), U(re(e.trendIcon), {
|
|
949
937
|
key: 0,
|
|
950
|
-
color:
|
|
951
|
-
size:
|
|
952
|
-
}, null, 8, ["color", "size"])) : (
|
|
938
|
+
color: o(e.changePolarity),
|
|
939
|
+
size: C(j)
|
|
940
|
+
}, null, 8, ["color", "size"])) : (T(), U(C(ir), {
|
|
953
941
|
key: 1,
|
|
954
|
-
color: `var(--kui-color-text-neutral-strong, ${
|
|
955
|
-
size:
|
|
942
|
+
color: `var(--kui-color-text-neutral-strong, ${C(Ee)})`,
|
|
943
|
+
size: C(j)
|
|
956
944
|
}, null, 8, ["color", "size"])),
|
|
957
|
-
q("div",
|
|
945
|
+
q("div", Gr, w(e.metricChange), 1)
|
|
958
946
|
], 2),
|
|
959
|
-
e.trendRange ? (
|
|
947
|
+
e.trendRange ? (T(), S("div", jr, w(e.trendRange), 1)) : V("", !0)
|
|
960
948
|
])) : V("", !0)
|
|
961
949
|
])
|
|
962
950
|
], 2);
|
|
@@ -964,33 +952,33 @@ const ue = 2, Te = ue + 2, Fr = (e, r, t = !1) => {
|
|
|
964
952
|
}
|
|
965
953
|
}), le = (e, r) => {
|
|
966
954
|
const t = e.__vccOpts || e;
|
|
967
|
-
for (const [
|
|
968
|
-
t[
|
|
955
|
+
for (const [o, a] of r)
|
|
956
|
+
t[o] = a;
|
|
969
957
|
return t;
|
|
970
|
-
},
|
|
971
|
-
function
|
|
958
|
+
}, Yr = /* @__PURE__ */ le(Hr, [["__scopeId", "data-v-b1513f6f"]]), Qr = {}, Wr = { class: "loading-tabs" };
|
|
959
|
+
function Jr(e, r) {
|
|
972
960
|
const t = Ie("KSkeletonBox");
|
|
973
|
-
return
|
|
961
|
+
return T(), S("div", Wr, [
|
|
974
962
|
F(t, { width: "100" }),
|
|
975
963
|
F(t, { width: "75" })
|
|
976
964
|
]);
|
|
977
965
|
}
|
|
978
|
-
const
|
|
966
|
+
const Zr = /* @__PURE__ */ le(Qr, [["render", Jr], ["__scopeId", "data-v-9c7113d7"]]), et = {
|
|
979
967
|
key: 0,
|
|
980
968
|
class: "container-title"
|
|
981
|
-
},
|
|
969
|
+
}, rt = {
|
|
982
970
|
key: 0,
|
|
983
971
|
class: "container-description"
|
|
984
|
-
},
|
|
972
|
+
}, tt = {
|
|
985
973
|
key: 1,
|
|
986
974
|
class: "error-display"
|
|
987
|
-
},
|
|
975
|
+
}, nt = {
|
|
988
976
|
key: 0,
|
|
989
977
|
class: "error-display-message"
|
|
990
|
-
},
|
|
978
|
+
}, at = {
|
|
991
979
|
key: 2,
|
|
992
980
|
class: "cards-wrapper"
|
|
993
|
-
},
|
|
981
|
+
}, it = /* @__PURE__ */ W({
|
|
994
982
|
__name: "MetricCardContainer",
|
|
995
983
|
props: {
|
|
996
984
|
fallbackDisplayText: {
|
|
@@ -1033,37 +1021,37 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1033
1021
|
}
|
|
1034
1022
|
},
|
|
1035
1023
|
setup(e) {
|
|
1036
|
-
const r = e, t =
|
|
1037
|
-
const n =
|
|
1024
|
+
const r = e, t = p(() => r.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), o = (a) => {
|
|
1025
|
+
const n = xr(a.currentValue, a.previousValue) || 0, u = Mr(n, r.hasTrendAccess, a.increaseIsBad);
|
|
1038
1026
|
return {
|
|
1039
|
-
metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) :
|
|
1040
|
-
metricChange: a.formatChangeFn ? a.formatChangeFn(n) :
|
|
1027
|
+
metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : kr(a.currentValue, { capital: !0, round: !0 }) || "0",
|
|
1028
|
+
metricChange: a.formatChangeFn ? a.formatChangeFn(n) : Fr(n, r.hasTrendAccess, r.fallbackDisplayText),
|
|
1041
1029
|
changePolarity: u,
|
|
1042
|
-
trendIcon:
|
|
1030
|
+
trendIcon: qr(u, a.increaseIsBad),
|
|
1043
1031
|
cardSize: r.cardSize,
|
|
1044
1032
|
hasContainerTitle: !!r.containerTitle
|
|
1045
1033
|
};
|
|
1046
1034
|
};
|
|
1047
|
-
return (a, n) => (
|
|
1035
|
+
return (a, n) => (T(), S("div", {
|
|
1048
1036
|
class: z(["kong-ui-public-metric-card-container", e.cardSize])
|
|
1049
1037
|
}, [
|
|
1050
|
-
r.containerTitle || r.containerDescription ? (
|
|
1038
|
+
r.containerTitle || r.containerDescription ? (T(), S("div", et, [
|
|
1051
1039
|
Ae(w(r.containerTitle) + " ", 1),
|
|
1052
|
-
r.containerDescription ? (
|
|
1040
|
+
r.containerDescription ? (T(), S("div", rt, w(r.containerDescription), 1)) : V("", !0)
|
|
1053
1041
|
])) : V("", !0),
|
|
1054
|
-
t.value ? (
|
|
1055
|
-
F(
|
|
1056
|
-
e.errorMessage ? (
|
|
1057
|
-
])) : (
|
|
1058
|
-
(
|
|
1059
|
-
e.loading ? (
|
|
1060
|
-
key: `skeleton-${
|
|
1042
|
+
t.value ? (T(), S("div", tt, [
|
|
1043
|
+
F(C(be), { class: "error-display-icon" }),
|
|
1044
|
+
e.errorMessage ? (T(), S("div", nt, w(e.errorMessage), 1)) : V("", !0)
|
|
1045
|
+
])) : (T(), S("div", at, [
|
|
1046
|
+
(T(!0), S(ge, null, Ke(e.cards, (u, d) => (T(), S(ge, null, [
|
|
1047
|
+
e.loading ? (T(), S("div", {
|
|
1048
|
+
key: `skeleton-${d}`,
|
|
1061
1049
|
class: "loading-tab"
|
|
1062
1050
|
}, [
|
|
1063
|
-
F(
|
|
1064
|
-
class: z(e.cardSize ===
|
|
1051
|
+
F(Zr, {
|
|
1052
|
+
class: z(e.cardSize === C(D).Small ? "loading-tabs-small" : "loading-tabs-large")
|
|
1065
1053
|
}, null, 8, ["class"])
|
|
1066
|
-
])) : (
|
|
1054
|
+
])) : (T(), U(Yr, Be({ key: d }, { ref_for: !0 }, o(u), {
|
|
1067
1055
|
"card-size": e.cardSize,
|
|
1068
1056
|
"card-type": u.cardType,
|
|
1069
1057
|
description: u.description,
|
|
@@ -1078,7 +1066,7 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1078
1066
|
]))
|
|
1079
1067
|
], 2));
|
|
1080
1068
|
}
|
|
1081
|
-
}),
|
|
1069
|
+
}), ot = /* @__PURE__ */ le(it, [["__scopeId", "data-v-7080ba56"]]), yt = /* @__PURE__ */ W({
|
|
1082
1070
|
__name: "MetricsConsumer",
|
|
1083
1071
|
props: {
|
|
1084
1072
|
lookupKey: { default: void 0 },
|
|
@@ -1089,31 +1077,31 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1089
1077
|
const r = e, t = Ce(Ve);
|
|
1090
1078
|
if (!t)
|
|
1091
1079
|
throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");
|
|
1092
|
-
const { traffic:
|
|
1080
|
+
const { traffic: o, latency: a } = t.data, { i18n: n } = M.useI18n(), u = p(() => t.containerTitle.value ? D.Medium : r.cardSize), d = M.useMetricCardBuilder({
|
|
1093
1081
|
cardType: O.TRAFFIC,
|
|
1094
|
-
title:
|
|
1095
|
-
record:
|
|
1096
|
-
hasError:
|
|
1082
|
+
title: p(() => t.longCardTitles ? n.t("metricCard.long.traffic") : n.t("metricCard.short.traffic")),
|
|
1083
|
+
record: o.mapped,
|
|
1084
|
+
hasError: o.hasError,
|
|
1097
1085
|
lookupKey: r.lookupKey,
|
|
1098
1086
|
sumGroupedValues: B,
|
|
1099
|
-
trendRange:
|
|
1100
|
-
}),
|
|
1101
|
-
const
|
|
1087
|
+
trendRange: o.trendRange
|
|
1088
|
+
}), f = (y) => `${y.toFixed(ue)}%`, i = p(() => {
|
|
1089
|
+
const y = o.mapped.value, _ = K(y, "current", r.lookupKey, ye), m = K(y, "current", r.lookupKey, B), g = _ / m * 100 || 0, N = K(y, "previous", r.lookupKey, ye), E = K(y, "previous", r.lookupKey, B), I = N / E * 100 || 0;
|
|
1102
1090
|
return {
|
|
1103
1091
|
cardType: O.ERROR_RATE,
|
|
1104
|
-
hasError:
|
|
1105
|
-
currentValue:
|
|
1106
|
-
previousValue:
|
|
1107
|
-
formatValueFn:
|
|
1092
|
+
hasError: o.hasError.value,
|
|
1093
|
+
currentValue: g,
|
|
1094
|
+
previousValue: I,
|
|
1095
|
+
formatValueFn: f,
|
|
1108
1096
|
title: t.longCardTitles ? n.t("metricCard.long.errorRate") : n.t("metricCard.short.errorRate"),
|
|
1109
1097
|
increaseIsBad: !0,
|
|
1110
|
-
trendRange:
|
|
1098
|
+
trendRange: o.trendRange.value
|
|
1111
1099
|
};
|
|
1112
|
-
}), s = (
|
|
1100
|
+
}), s = (y) => `${y}ms`, l = M.useMetricCardBuilder({
|
|
1113
1101
|
cardType: O.LATENCY,
|
|
1114
|
-
title:
|
|
1115
|
-
const { longCardTitles:
|
|
1116
|
-
return
|
|
1102
|
+
title: p(() => {
|
|
1103
|
+
const { longCardTitles: y, averageLatencies: _ } = t, m = _.value ? "averageLatency" : "p99Latency";
|
|
1104
|
+
return y ? n.t(`metricCard.long.${m}`) : u.value === D.Small ? n.t(`metricCard.small.${m}`) : n.t(`metricCard.short.${m}`);
|
|
1117
1105
|
}),
|
|
1118
1106
|
hasError: a.hasError,
|
|
1119
1107
|
record: a.mapped,
|
|
@@ -1121,8 +1109,8 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1121
1109
|
increaseIsBad: !0,
|
|
1122
1110
|
formatValueFn: s,
|
|
1123
1111
|
trendRange: a.trendRange
|
|
1124
|
-
}),
|
|
1125
|
-
cards:
|
|
1112
|
+
}), c = p(() => r.cardToDisplay === "TRAFFIC" ? [d.value] : r.cardToDisplay === "ERROR_RATE" ? [i.value] : r.cardToDisplay === "LATENCY" ? [l.value] : [d.value, i.value, l.value]), v = p(() => r.cardToDisplay === "TRAFFIC" || r.cardToDisplay === "ERROR_RATE" ? o.isLoading.value : r.cardToDisplay === "LATENCY" ? a.isLoading.value : o.isLoading.value || a.isLoading.value), h = p(() => ({
|
|
1113
|
+
cards: c.value,
|
|
1126
1114
|
containerTitle: t.containerTitle.value,
|
|
1127
1115
|
containerDescription: t.description.value,
|
|
1128
1116
|
loading: v.value,
|
|
@@ -1130,30 +1118,30 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1130
1118
|
fallbackDisplayText: n.t("general.notAvailable"),
|
|
1131
1119
|
cardSize: u.value,
|
|
1132
1120
|
hideTitle: !0
|
|
1133
|
-
})),
|
|
1134
|
-
loading:
|
|
1135
|
-
trafficCard:
|
|
1136
|
-
errorRateCard:
|
|
1121
|
+
})), R = p(() => ({
|
|
1122
|
+
loading: h.value.loading,
|
|
1123
|
+
trafficCard: d.value,
|
|
1124
|
+
errorRateCard: i.value,
|
|
1137
1125
|
latencyCard: l.value,
|
|
1138
|
-
errorRateFormatted:
|
|
1126
|
+
errorRateFormatted: f(i.value.currentValue),
|
|
1139
1127
|
latencyFormatted: s(l.value.currentValue)
|
|
1140
1128
|
}));
|
|
1141
|
-
return (
|
|
1142
|
-
F(
|
|
1129
|
+
return (y, _) => Se(y.$slots, "default", { cardValues: R.value }, () => [
|
|
1130
|
+
F(ot, Xe(Ge(h.value)), null, 16)
|
|
1143
1131
|
]);
|
|
1144
1132
|
}
|
|
1145
|
-
}), H = (e) => new Date(e),
|
|
1133
|
+
}), H = (e) => new Date(e), ht = (e, r) => {
|
|
1146
1134
|
const t = e.body;
|
|
1147
1135
|
e.reply({
|
|
1148
1136
|
statusCode: 200,
|
|
1149
|
-
body:
|
|
1137
|
+
body: st(t, r)
|
|
1150
1138
|
});
|
|
1151
|
-
}, _e = (e) => e.reduce((r, t) => (r[t] = { name: t }, r), {}),
|
|
1152
|
-
var
|
|
1139
|
+
}, _e = (e) => e.reduce((r, t) => (r[t] = { name: t }, r), {}), st = (e, r) => {
|
|
1140
|
+
var R, y, _;
|
|
1153
1141
|
const t = r != null && r.timeRange && {
|
|
1154
1142
|
start: r.timeRange.start,
|
|
1155
1143
|
end: r.timeRange.end
|
|
1156
|
-
} || ((
|
|
1144
|
+
} || ((R = e.time_range) == null ? void 0 : R.type) === "absolute" ? {
|
|
1157
1145
|
// @ts-ignore - already asserted time range is absolute above
|
|
1158
1146
|
start: new Date(e.time_range.start),
|
|
1159
1147
|
// @ts-ignore - already asserted time range is absolute above
|
|
@@ -1161,70 +1149,63 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
|
|
|
1161
1149
|
} : {
|
|
1162
1150
|
start: new Date(Date.now() - 864e5),
|
|
1163
1151
|
end: /* @__PURE__ */ new Date()
|
|
1164
|
-
},
|
|
1165
|
-
start: new Date(t.start.getTime() -
|
|
1152
|
+
}, o = t.end.getTime() - t.start.getTime(), a = e.granularity === "trend" ? {
|
|
1153
|
+
start: new Date(t.start.getTime() - o),
|
|
1166
1154
|
end: t.end,
|
|
1167
1155
|
granularity: t.end.getTime() - t.start.getTime()
|
|
1168
1156
|
} : {
|
|
1169
1157
|
start: t.start,
|
|
1170
1158
|
end: t.end,
|
|
1171
1159
|
granularity: t.end.getTime() - t.start.getTime()
|
|
1172
|
-
}, n = a.end.getTime(), u = a.start.getTime(),
|
|
1160
|
+
}, n = a.end.getTime(), u = a.start.getTime(), d = a.granularity, f = e.granularity === "trend" ? 2 : 1;
|
|
1173
1161
|
if ((e.dimensions ?? []).length > 2)
|
|
1174
1162
|
throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);
|
|
1175
|
-
const
|
|
1176
|
-
for (let m = 0; m <
|
|
1177
|
-
for (let
|
|
1178
|
-
const
|
|
1179
|
-
(
|
|
1180
|
-
const
|
|
1163
|
+
const i = (e.dimensions ?? []).find((m) => m !== "time"), s = (r == null ? void 0 : r.dimensionNames) ?? [], l = Math.max(s.length, 1), c = e.metrics || [], v = [];
|
|
1164
|
+
for (let m = 0; m < f; m++)
|
|
1165
|
+
for (let g = 0; g < l; g++) {
|
|
1166
|
+
const N = i ? { [i]: s[g] } : {};
|
|
1167
|
+
(y = e.dimensions) != null && y.includes("status_code_grouped") ? B.forEach((E) => {
|
|
1168
|
+
const I = c.reduce((A, x) => ((r == null ? void 0 : r.deterministic) ?? !0 ? A[x] = (f - m) * 1e3 + 100 * g + 1 : A[x] = Math.round(Math.random() * 1e3), A), { ...N, status_code_grouped: E });
|
|
1181
1169
|
v.push({
|
|
1182
1170
|
version: "v1",
|
|
1183
|
-
timestamp: m === 0 ? H(u).toISOString() : H(u +
|
|
1184
|
-
event:
|
|
1171
|
+
timestamp: m === 0 ? H(u).toISOString() : H(u + d).toISOString(),
|
|
1172
|
+
event: I
|
|
1185
1173
|
});
|
|
1186
1174
|
}) : v.push({
|
|
1187
1175
|
version: "v1",
|
|
1188
|
-
timestamp: m === 0 ? H(u).toISOString() : H(u +
|
|
1189
|
-
event:
|
|
1176
|
+
timestamp: m === 0 ? H(u).toISOString() : H(u + d).toISOString(),
|
|
1177
|
+
event: c.reduce((E, I) => ((r == null ? void 0 : r.deterministic) ?? !0 ? E[I] = (f - m) * 1e3 + 100 * g + 1 : E[I] = Math.round(Math.random() * 1e3), E), { ...N })
|
|
1190
1178
|
});
|
|
1191
1179
|
}
|
|
1192
|
-
const
|
|
1180
|
+
const h = {
|
|
1193
1181
|
start_ms: u,
|
|
1194
1182
|
end_ms: n,
|
|
1195
1183
|
start: new Date(u).toISOString(),
|
|
1196
1184
|
end: new Date(n).toISOString(),
|
|
1197
|
-
granularity_ms:
|
|
1198
|
-
display:
|
|
1199
|
-
[
|
|
1200
|
-
...(
|
|
1185
|
+
granularity_ms: d,
|
|
1186
|
+
display: i ? {
|
|
1187
|
+
[i]: _e(s),
|
|
1188
|
+
...(_ = e.dimensions) != null && _.includes("status_code_grouped") ? { status_code_grouped: _e(B) } : {}
|
|
1201
1189
|
} : {},
|
|
1202
1190
|
metric_names: e.metrics,
|
|
1203
1191
|
query_id: "test"
|
|
1204
1192
|
};
|
|
1205
1193
|
return {
|
|
1206
1194
|
data: v,
|
|
1207
|
-
meta:
|
|
1195
|
+
meta: h
|
|
1208
1196
|
};
|
|
1209
1197
|
};
|
|
1210
1198
|
export {
|
|
1211
1199
|
B as ALL_STATUS_CODE_GROUPS,
|
|
1212
|
-
ue as DECIMAL_DISPLAY,
|
|
1213
|
-
Te as DECIMAL_ROUNDING_PRECISION,
|
|
1214
1200
|
fr as DEFAULT_REFRESH_INTERVAL,
|
|
1215
1201
|
vr as INJECT_QUERY_PROVIDER,
|
|
1216
1202
|
dr as MAX_ANALYTICS_REQUEST_RETRIES,
|
|
1217
1203
|
D as MetricCardSize,
|
|
1218
1204
|
O as MetricCardType,
|
|
1219
|
-
|
|
1205
|
+
yt as MetricsConsumer,
|
|
1220
1206
|
gt as MetricsProvider,
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
Ur as defineIcon,
|
|
1226
|
-
xr as metricChange,
|
|
1227
|
-
ut as mockExploreResponse,
|
|
1228
|
-
pt as mockExploreResponseFromCypress,
|
|
1229
|
-
Rr as useTrendRange
|
|
1207
|
+
ye as STATUS_CODES_FAILED,
|
|
1208
|
+
mt as STATUS_CODES_SUCCESS,
|
|
1209
|
+
st as mockExploreResponse,
|
|
1210
|
+
ht as mockExploreResponseFromCypress
|
|
1230
1211
|
};
|