@blueking/open-telemetry 0.0.22 → 0.0.24
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/README.md +256 -70
- package/dist/bk-rum.global.js +2 -2
- package/dist/bk-rum.global.js.map +1 -1
- package/dist/core/config.d.ts +4 -2
- package/dist/core/processor.d.ts +2 -2
- package/dist/core/runtime-context.d.ts +4 -0
- package/dist/core/sampling.d.ts +0 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +395 -477
- package/dist/index.js.map +1 -1
- package/dist/plugins/blank-screen.d.ts +1 -1
- package/dist/plugins/common.d.ts +3 -4
- package/dist/plugins/web-vitals.d.ts +0 -5
- package/dist/schema/attributes.d.ts +6 -8
- package/dist/schema/span.d.ts +24 -15
- package/package.json +1 -1
- package/skills/bk-rum-otele/SKILL.md +26 -23
- package/skills/bk-rum-otele/references/actions.md +166 -0
- package/skills/bk-rum-otele/references/api.md +248 -215
- package/skills/bk-rum-otele/references/architecture.md +139 -37
- package/skills/bk-rum-otele/references/blank-screen.md +190 -0
- package/skills/bk-rum-otele/references/capabilities.md +175 -83
- package/skills/bk-rum-otele/references/configuration.md +226 -151
- package/skills/bk-rum-otele/references/data-model.md +156 -24
- package/skills/bk-rum-otele/references/errors-security.md +168 -0
- package/skills/bk-rum-otele/references/extensions.md +236 -0
- package/skills/bk-rum-otele/references/framework-integration.md +318 -75
- package/skills/bk-rum-otele/references/getting-started.md +186 -70
- package/skills/bk-rum-otele/references/network.md +258 -0
- package/skills/bk-rum-otele/references/performance.md +197 -0
- package/skills/bk-rum-otele/references/privacy.md +236 -67
- package/skills/bk-rum-otele/references/production.md +264 -0
- package/skills/bk-rum-otele/references/session-context.md +185 -0
- package/skills/bk-rum-otele/references/telemetry-reference.md +479 -51
- package/skills/bk-rum-otele/references/transport-sampling.md +318 -32
- package/skills/bk-rum-otele/references/troubleshooting.md +341 -151
- package/skills/bk-rum-otele/references/views-routing.md +211 -0
- package/skills/bk-rum-otele/references/concepts.md +0 -60
- package/skills/bk-rum-otele/references/custom-plugin.md +0 -170
- package/skills/bk-rum-otele/references/plugins-basic.md +0 -135
- package/skills/bk-rum-otele/references/plugins-error-security.md +0 -83
- package/skills/bk-rum-otele/references/plugins-experience.md +0 -124
- package/skills/bk-rum-otele/references/plugins-network.md +0 -32
- package/skills/bk-rum-otele/references/plugins.md +0 -62
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { resourceFromAttributes as c } from "@opentelemetry/resources";
|
|
|
6
6
|
import { BatchSpanProcessor as l, SamplingDecision as u, SimpleSpanProcessor as d } from "@opentelemetry/sdk-trace-base";
|
|
7
7
|
import { WebTracerProvider as f } from "@opentelemetry/sdk-trace-web";
|
|
8
8
|
//#region package.json
|
|
9
|
-
var p = "0.0.
|
|
9
|
+
var p = "0.0.24", m = (e) => {
|
|
10
10
|
let t = 5381;
|
|
11
11
|
for (let n = 0; n < e.length; n++) t = t * 33 ^ e.charCodeAt(n);
|
|
12
12
|
return (t >>> 0).toString(36);
|
|
@@ -25,11 +25,6 @@ var p = "0.0.22", m = (e) => {
|
|
|
25
25
|
deviceLogicalProcessorCount: "device.logical_processor_count",
|
|
26
26
|
deviceMemoryGib: "device.memory_gib",
|
|
27
27
|
deviceType: "device.type",
|
|
28
|
-
eventId: "event.id",
|
|
29
|
-
eventPhase: "event.phase",
|
|
30
|
-
eventTimestamp: "event.timestamp",
|
|
31
|
-
eventType: "event.type",
|
|
32
|
-
errorType: "error_type",
|
|
33
28
|
longTaskBlockingDuration: "long_task.blocking_duration",
|
|
34
29
|
longTaskDuration: "long_task.duration",
|
|
35
30
|
longTaskEntryType: "long_task.entry_type",
|
|
@@ -37,17 +32,17 @@ var p = "0.0.22", m = (e) => {
|
|
|
37
32
|
longTaskStartTime: "long_task.start_time",
|
|
38
33
|
networkEffectiveType: "network.effective_type",
|
|
39
34
|
nextHopProtocol: "resource.protocol",
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
outcomeReason: "outcome.reason",
|
|
36
|
+
outcomeType: "outcome.type",
|
|
42
37
|
serviceName: "service.name",
|
|
43
38
|
serviceVersion: "service.version",
|
|
44
39
|
osName: "os.name",
|
|
45
40
|
sessionHasReplay: "session.has_replay",
|
|
46
41
|
sessionId: "session.id",
|
|
47
42
|
sessionSampleRate: "session.sample_rate",
|
|
43
|
+
sessionPhase: "session.phase",
|
|
48
44
|
sessionStartTime: "session.start_time",
|
|
49
45
|
sessionType: "session.type",
|
|
50
|
-
spanSubtype: "span_subtype",
|
|
51
46
|
spanType: "span_type",
|
|
52
47
|
userId: "user.id",
|
|
53
48
|
vitalMetric: "vital.metric",
|
|
@@ -62,10 +57,13 @@ var p = "0.0.22", m = (e) => {
|
|
|
62
57
|
viewLoadingTime: "view.loading_time",
|
|
63
58
|
viewLoadingType: "view.loading_type",
|
|
64
59
|
viewName: "view.name",
|
|
60
|
+
viewPhase: "view.phase",
|
|
61
|
+
viewSource: "view.source",
|
|
65
62
|
viewStartedAt: "view.started_at",
|
|
66
63
|
viewUrl: "view.url",
|
|
67
64
|
viewUrlPathGroup: "view.url_path_group",
|
|
68
|
-
viewVersion: "view.version"
|
|
65
|
+
viewVersion: "view.version",
|
|
66
|
+
websocketPhase: "websocket.phase"
|
|
69
67
|
};
|
|
70
68
|
//#endregion
|
|
71
69
|
//#region \0@oxc-project+runtime@0.128.0/helpers/typeof.js
|
|
@@ -256,10 +254,7 @@ var C = "BK_RUM_DEVICE_ID", w = 250, T = () => navigator.connection, ee = () =>
|
|
|
256
254
|
name: e.name,
|
|
257
255
|
version: e.version
|
|
258
256
|
};
|
|
259
|
-
}, ge = (e, t, n) => S(S(S({ [g.deploymentEnvironmentName]: e.environment }, t === !1 ? {} : oe()), {}, {
|
|
260
|
-
[g.rumSchemaVersion]: "2",
|
|
261
|
-
[g.serviceName]: e.name
|
|
262
|
-
}, e.version ? { [g.serviceVersion]: e.version } : {}), {}, {
|
|
257
|
+
}, ge = (e, t, n) => S(S(S({ [g.deploymentEnvironmentName]: e.environment }, t === !1 ? {} : oe()), {}, { [g.serviceName]: e.name }, e.version ? { [g.serviceVersion]: e.version } : {}), {}, {
|
|
263
258
|
[g.sessionSampleRate]: n,
|
|
264
259
|
"telemetry.sdk.language": "webjs",
|
|
265
260
|
"telemetry.sdk.name": "@blueking/open-telemetry",
|
|
@@ -272,10 +267,7 @@ var C = "BK_RUM_DEVICE_ID", w = 250, T = () => navigator.connection, ee = () =>
|
|
|
272
267
|
var t, n, r, i, a, o, s, c, l, u, d;
|
|
273
268
|
return {
|
|
274
269
|
beforeSend: (t = e.tracking) == null ? void 0 : t.beforeSend,
|
|
275
|
-
getPageAttributes: (n = (r = e.context) == null || (r = r.attributes) == null ? void 0 : r.page) == null ? (() => ({
|
|
276
|
-
"rum.page.host": typeof window > "u" ? "" : window.location.host,
|
|
277
|
-
"rum.page.path": typeof window > "u" ? "" : window.location.pathname
|
|
278
|
-
})) : n,
|
|
270
|
+
getPageAttributes: (n = (r = e.context) == null || (r = r.attributes) == null ? void 0 : r.page) == null ? (() => ({})) : n,
|
|
279
271
|
getErrorAttributes: (i = (a = e.context) == null || (a = a.attributes) == null ? void 0 : a.error) == null ? (() => ({})) : i,
|
|
280
272
|
getCustomAttributes: (o = (s = e.context) == null || (s = s.attributes) == null ? void 0 : s.custom) == null ? (() => ({})) : o,
|
|
281
273
|
getViewPathGroup: (t) => {
|
|
@@ -380,38 +372,36 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
380
372
|
}
|
|
381
373
|
})();
|
|
382
374
|
}
|
|
383
|
-
},
|
|
384
|
-
let t = 2166136261;
|
|
385
|
-
for (let n = 0; n < e.length; n += 1) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
|
|
386
|
-
return t += t << 13, t ^= t >>> 7, t += t << 3, t ^= t >>> 17, t += t << 5, (t >>> 0) / 4294967296;
|
|
387
|
-
}, Te = ({ application: e, session: t }, n) => t.sampleRate <= 0 ? !1 : t.sampleRate >= 1 ? !0 : we(`${e.name}\0${n}`) < t.sampleRate, Ee = () => typeof window > "u" ? "http://localhost" : window.location.origin, O = (e) => {
|
|
375
|
+
}, we = () => typeof window > "u" ? "http://localhost" : window.location.origin, D = (e) => {
|
|
388
376
|
try {
|
|
389
|
-
return new URL(e,
|
|
377
|
+
return new URL(e, we()).href;
|
|
390
378
|
} catch (t) {
|
|
391
379
|
return e;
|
|
392
380
|
}
|
|
393
|
-
},
|
|
394
|
-
let n = (e) =>
|
|
381
|
+
}, Te = (e) => e.length > 1 ? e.replace(/\/+$/, "") : e, Ee = (e, t) => {
|
|
382
|
+
let n = (e) => Te(e.replace(/[?#].*$/, ""));
|
|
395
383
|
return n(e) === n(t);
|
|
396
|
-
},
|
|
384
|
+
}, De = (e, t) => Ee(D(t), D(e.transport.endpoint)), O = (e, t) => De(e, t), Oe = (e, t) => typeof e == "function" ? e(t) : typeof e == "string" ? t.includes(e) : (e.lastIndex = 0, e.test(t)), k = (e, t) => (Array.isArray(e) ? e : e ? [e] : []).some((e) => Oe(e, t)), ke = (e) => typeof e.tracking.request == "object" ? e.tracking.request : void 0, Ae = (e, t) => {
|
|
397
385
|
var n;
|
|
398
|
-
return
|
|
399
|
-
},
|
|
386
|
+
return O(e, t) || k((n = ke(e)) == null ? void 0 : n.excludedUrls, D(t));
|
|
387
|
+
}, je = (e, t) => {
|
|
400
388
|
var n;
|
|
401
|
-
return
|
|
402
|
-
},
|
|
403
|
-
|
|
389
|
+
return k((n = ke(e)) == null ? void 0 : n.allowedTracingUrls, D(t));
|
|
390
|
+
}, Me = ["http.url", "url.full"], Ne = /* @__PURE__ */ new WeakSet(), Pe = (e) => {
|
|
391
|
+
Ne.add(e);
|
|
392
|
+
}, Fe = (e) => {
|
|
393
|
+
for (let n of Me) {
|
|
404
394
|
var t;
|
|
405
395
|
let r = (t = e.attributes) == null ? void 0 : t[n];
|
|
406
396
|
if (typeof r == "string") return r;
|
|
407
397
|
}
|
|
408
|
-
},
|
|
398
|
+
}, Ie = (e) => {
|
|
409
399
|
let t = e == null ? void 0 : e[g.sessionId];
|
|
410
400
|
return typeof t == "string" && t.length > 0;
|
|
411
|
-
},
|
|
401
|
+
}, Le = (e) => {
|
|
412
402
|
let t = e == null ? void 0 : e[g.viewId];
|
|
413
403
|
return typeof t == "string" && t.length > 0;
|
|
414
|
-
},
|
|
404
|
+
}, Re = (e) => Ie(e) && Le(e), ze = class {
|
|
415
405
|
constructor(e, t, n) {
|
|
416
406
|
this.inner = e, this.config = t, this.getRuntimeAttributes = n;
|
|
417
407
|
}
|
|
@@ -419,9 +409,8 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
419
409
|
return this.inner.forceFlush();
|
|
420
410
|
}
|
|
421
411
|
onEnd(e) {
|
|
422
|
-
let t =
|
|
423
|
-
if (!(e
|
|
424
|
-
delete e.attributes[D];
|
|
412
|
+
let t = Fe(e);
|
|
413
|
+
if (!(Ne.delete(e) || t && De(this.config, t) || !Re(e.attributes) && !(e.name === "browser.session" && Ie(e.attributes)))) {
|
|
425
414
|
try {
|
|
426
415
|
var n, r;
|
|
427
416
|
if (((n = this.config.hooks) == null || (r = n.beforeSend) == null ? void 0 : r.call(n, {
|
|
@@ -445,7 +434,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
445
434
|
shutdown() {
|
|
446
435
|
return this.inner.shutdown();
|
|
447
436
|
}
|
|
448
|
-
},
|
|
437
|
+
}, Be = new Set(Object.values(g)), Ve = class {
|
|
449
438
|
constructor(e = {}, t) {
|
|
450
439
|
b(this, "actionHistory", []), b(this, "attributes", {}), b(this, "queuedViewCommands", []), b(this, "recordAssociation", (e, t, n, r) => {
|
|
451
440
|
let i = e.at(-1);
|
|
@@ -461,7 +450,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
461
450
|
});
|
|
462
451
|
}
|
|
463
452
|
e.length > 100 && e.splice(0, e.length - 100);
|
|
464
|
-
}), b(this, "sessionHistory", []), b(this, "sessionLifecycleListeners", /* @__PURE__ */ new Set()), b(this, "setOptionalAttribute", (e, t) => {
|
|
453
|
+
}), b(this, "sessionHistory", []), b(this, "sampled", !1), b(this, "samplingHistory", []), b(this, "sessionLifecycleListeners", /* @__PURE__ */ new Set()), b(this, "setOptionalAttribute", (e, t) => {
|
|
465
454
|
if (t === void 0) {
|
|
466
455
|
delete this.attributes[e];
|
|
467
456
|
return;
|
|
@@ -480,12 +469,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
480
469
|
let i = [...n].reverse().find((t) => t.startedAt <= e && (t.endedAt === void 0 || e < t.endedAt));
|
|
481
470
|
i && Object.assign(t, i.attributes);
|
|
482
471
|
};
|
|
483
|
-
return n(this.sessionHistory, [
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
}), b(this, "getUser", () => S({}, this.user)), b(this, "getView", () => S({}, this.view)), b(this, "isSessionActive", () => typeof this.attributes[g.sessionId] == "string"), b(this, "isViewActive", () => typeof this.attributes[g.viewId] == "string"), b(this, "notifySessionLifecycle", (e) => {
|
|
472
|
+
return n(this.sessionHistory, [g.sessionId, g.sessionHasReplay]), n(this.viewHistory, this.viewScopedAttributeKeys), n(this.actionHistory, [g.actionId]), t;
|
|
473
|
+
}), b(this, "getUser", () => S({}, this.user)), b(this, "getView", () => S({}, this.view)), b(this, "isSessionActive", () => typeof this.attributes[g.sessionId] == "string"), b(this, "isSessionSampledAt", (e) => {
|
|
474
|
+
var t, n;
|
|
475
|
+
return Number.isFinite(e) ? (t = (n = [...this.samplingHistory].reverse().find((t) => t.startedAt <= e && (t.endedAt === void 0 || e < t.endedAt))) == null ? void 0 : n.sampled) == null ? !1 : t : this.sampled;
|
|
476
|
+
}), b(this, "isViewActive", () => typeof this.attributes[g.viewId] == "string"), b(this, "notifySessionLifecycle", (e) => {
|
|
489
477
|
this.sessionLifecycleListeners.forEach((t) => t(e));
|
|
490
478
|
}), b(this, "onSessionLifecycle", (e) => (this.sessionLifecycleListeners.add(e), () => this.sessionLifecycleListeners.delete(e))), b(this, "onViewChange", (e) => (this.viewChangeListeners.add(e), this.view.id && e(this.getView()), () => this.viewChangeListeners.delete(e))), b(this, "onViewCommand", (e) => {
|
|
491
479
|
for (this.viewCommandListeners.add(e); this.queuedViewCommands.length;) e(this.queuedViewCommands.shift());
|
|
@@ -498,11 +486,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
498
486
|
}
|
|
499
487
|
this.attributes[t] = n;
|
|
500
488
|
}
|
|
501
|
-
if (g.sessionId in e && this.recordAssociation(this.sessionHistory, [
|
|
502
|
-
g.sessionId,
|
|
503
|
-
g.sessionHasReplay,
|
|
504
|
-
D
|
|
505
|
-
], t, typeof this.attributes[g.sessionId] == "string"), g.actionId in e) {
|
|
489
|
+
if (g.sessionId in e && this.recordAssociation(this.sessionHistory, [g.sessionId, g.sessionHasReplay], t, typeof this.attributes[g.sessionId] == "string"), g.actionId in e) {
|
|
506
490
|
let e = this.attributes[g.actionId];
|
|
507
491
|
this.recordAssociation(this.actionHistory, [g.actionId], t, Array.isArray(e) ? e.length > 0 : typeof e == "string");
|
|
508
492
|
}
|
|
@@ -514,11 +498,18 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
514
498
|
}
|
|
515
499
|
this.attributes[g.userId] = e.id;
|
|
516
500
|
}
|
|
501
|
+
}), b(this, "setSessionSampled", (e, t = Date.now()) => {
|
|
502
|
+
if (e === this.sampled) return;
|
|
503
|
+
let n = this.samplingHistory.at(-1);
|
|
504
|
+
n && n.endedAt === void 0 && (n.endedAt = Math.max(n.startedAt, t)), this.sampled = e, e && this.samplingHistory.push({
|
|
505
|
+
sampled: e,
|
|
506
|
+
startedAt: t
|
|
507
|
+
}), this.samplingHistory.length > 100 && this.samplingHistory.splice(0, this.samplingHistory.length - 100);
|
|
517
508
|
}), b(this, "setView", (e, t = ((t) => (t = e.startedAt) == null ? Date.now() : t)()) => {
|
|
518
509
|
var n;
|
|
519
510
|
this.viewAttributeKeys.forEach((e) => delete this.attributes[e]), this.viewAttributeKeys.clear();
|
|
520
511
|
let r = {};
|
|
521
|
-
for (let [t, i] of Object.entries((n = e.attributes) == null ? {} : n)) i === void 0 ||
|
|
512
|
+
for (let [t, i] of Object.entries((n = e.attributes) == null ? {} : n)) i === void 0 || Be.has(t) || (r[t] = i, this.attributes[t] = i, this.viewAttributeKeys.add(t), this.viewScopedAttributeKeys.add(t));
|
|
522
513
|
this.view = S(S({}, e), {}, { attributes: r }), this.setOptionalAttribute(g.viewId, e.id), this.setOptionalAttribute(g.viewUrl, e.url), this.setOptionalAttribute(g.viewUrlPathGroup, e.urlPathGroup), this.setOptionalAttribute(g.viewLoadingType, e.loadingType), this.setOptionalAttribute(g.viewName, e.name), [
|
|
523
514
|
g.viewId,
|
|
524
515
|
g.viewUrl,
|
|
@@ -528,24 +519,26 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
528
519
|
].forEach((e) => this.viewScopedAttributeKeys.add(e)), this.recordAssociation(this.viewHistory, this.viewScopedAttributeKeys, t, typeof e.id == "string" && e.id.length > 0), this.viewChangeListeners.forEach((e) => e(this.getView()));
|
|
529
520
|
}), this.setAttributes(e), t && this.setUser(t);
|
|
530
521
|
}
|
|
531
|
-
},
|
|
522
|
+
}, A = {
|
|
532
523
|
abort: "abort",
|
|
533
524
|
error: "error",
|
|
534
525
|
success: "success",
|
|
535
526
|
timeout: "timeout",
|
|
536
527
|
warning: "warning"
|
|
537
|
-
},
|
|
528
|
+
}, j = {
|
|
538
529
|
action: "action",
|
|
539
530
|
custom: "custom",
|
|
540
|
-
document: "document",
|
|
541
531
|
error: "error",
|
|
542
|
-
|
|
532
|
+
longTask: "long_task",
|
|
543
533
|
resource: "resource",
|
|
544
|
-
route: "route",
|
|
545
534
|
session: "session",
|
|
546
535
|
vital: "vital",
|
|
536
|
+
view: "view",
|
|
547
537
|
websocket: "websocket"
|
|
548
|
-
},
|
|
538
|
+
}, He = (e) => e === 408 || e === 504 ? A.timeout : typeof e == "number" && e >= 400 ? A.error : A.success, Ue = (e) => {
|
|
539
|
+
if (e === 408 || e === 504) return "network_timeout";
|
|
540
|
+
if (!(typeof e != "number" || e < 400)) return e >= 500 ? "http_5xx" : "http_4xx";
|
|
541
|
+
}, We = (e) => e === "good" ? A.success : A.warning, Ge = (e) => {
|
|
549
542
|
if (!e) return {};
|
|
550
543
|
try {
|
|
551
544
|
let t = new URL(e, typeof location > "u" ? "http://localhost" : location.href);
|
|
@@ -556,39 +549,36 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
556
549
|
} catch (e) {
|
|
557
550
|
return {};
|
|
558
551
|
}
|
|
559
|
-
},
|
|
560
|
-
[g.spanType]:
|
|
561
|
-
[g.
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
spanType: M.resource
|
|
571
|
-
})), o.serverAddress ? { "server.address": o.serverAddress } : {}), o.serverPort === void 0 ? {} : { "server.port": o.serverPort }), {}, { "resource.type": e }, c ? { "http.request.method": c } : {}), typeof i == "number" ? { "resource.size": i } : {}), typeof r == "number" ? { "http.response.status_code": r } : {});
|
|
572
|
-
}, Je = 100, Ye = 100, Xe = 1e3, Ze = 100, Qe = 1e4, $e = "data-bk-action-name", et = 100, tt = 10, P = (e) => e.replace(/\s+/g, " ").trim().slice(0, et), F = (e) => {
|
|
552
|
+
}, M = ({ outcome: e = A.success, outcomeReason: t, spanType: n }) => S({
|
|
553
|
+
[g.spanType]: n,
|
|
554
|
+
[g.outcomeType]: e
|
|
555
|
+
}, t ? { [g.outcomeReason]: t } : {}), Ke = ({ initiatorType: e = "other", method: t, outcome: n, transferSize: r, url: i }) => {
|
|
556
|
+
let a = Ge(i), o = (n == null ? void 0 : n.type) === "response" && typeof n.statusCode == "number" && n.statusCode > 0 ? n.statusCode : void 0, s = (n == null ? void 0 : n.type) === "abort" ? A.abort : (n == null ? void 0 : n.type) === "timeout" ? A.timeout : (n == null ? void 0 : n.type) === "network_error" ? A.error : typeof o == "number" ? He(o) : A.success, c = (n == null ? void 0 : n.type) === "timeout" ? "network_timeout" : (n == null ? void 0 : n.type) === "network_error" ? "network" : typeof o == "number" ? Ue(o) : void 0, l = t == null ? void 0 : t.toUpperCase();
|
|
557
|
+
return S(S(S(S(S(S({}, M({
|
|
558
|
+
outcome: s,
|
|
559
|
+
outcomeReason: c,
|
|
560
|
+
spanType: j.resource
|
|
561
|
+
})), a.serverAddress ? { "server.address": a.serverAddress } : {}), a.serverPort === void 0 ? {} : { "server.port": a.serverPort }), {}, { "resource.type": e }, l ? { "http.request.method": l } : {}), typeof r == "number" ? { "resource.size": r } : {}), typeof o == "number" ? { "http.response.status_code": o } : {});
|
|
562
|
+
}, qe = 100, Je = 100, Ye = 1e3, Xe = 100, Ze = 1e4, Qe = "data-bk-action-name", $e = 100, et = 10, N = (e) => e.replace(/\s+/g, " ").trim().slice(0, $e), P = (e) => {
|
|
573
563
|
var t;
|
|
574
564
|
if (e.parentElement) return e.parentElement;
|
|
575
565
|
let n = (t = e.getRootNode) == null ? void 0 : t.call(e);
|
|
576
566
|
return typeof ShadowRoot < "u" && n instanceof ShadowRoot ? n.host : null;
|
|
577
|
-
},
|
|
567
|
+
}, tt = (e, t) => {
|
|
578
568
|
let n = e;
|
|
579
569
|
for (; n;) {
|
|
580
570
|
let e = n.getAttribute(t);
|
|
581
|
-
if (e) return
|
|
582
|
-
n =
|
|
571
|
+
if (e) return N(e);
|
|
572
|
+
n = P(n);
|
|
583
573
|
}
|
|
584
|
-
},
|
|
574
|
+
}, F = (e) => {
|
|
585
575
|
var t;
|
|
586
|
-
return e.isContentEditable ? "" :
|
|
587
|
-
},
|
|
576
|
+
return e.isContentEditable ? "" : N((t = e.textContent) == null ? "" : t);
|
|
577
|
+
}, nt = (e) => {
|
|
588
578
|
var t, n;
|
|
589
579
|
let r = e, i = (t = r.labels) == null ? void 0 : t[0];
|
|
590
580
|
if (i) {
|
|
591
|
-
let e =
|
|
581
|
+
let e = F(i);
|
|
592
582
|
if (e) return e;
|
|
593
583
|
}
|
|
594
584
|
let a = e.tagName.toLowerCase(), o = (n = e.getAttribute("type")) == null ? void 0 : n.toLowerCase();
|
|
@@ -598,11 +588,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
598
588
|
"submit"
|
|
599
589
|
].includes(o == null ? "" : o)) {
|
|
600
590
|
var s;
|
|
601
|
-
let e =
|
|
591
|
+
let e = N((s = r.value) == null ? "" : s);
|
|
602
592
|
if (e) return e;
|
|
603
593
|
}
|
|
604
594
|
if (a === "button" || a === "label" || e.getAttribute("role") === "button") {
|
|
605
|
-
let t =
|
|
595
|
+
let t = F(e);
|
|
606
596
|
if (t) return t;
|
|
607
597
|
}
|
|
608
598
|
for (let t of [
|
|
@@ -613,39 +603,39 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
613
603
|
"placeholder"
|
|
614
604
|
]) {
|
|
615
605
|
var c;
|
|
616
|
-
let n =
|
|
606
|
+
let n = N((c = e.getAttribute(t)) == null ? "" : c);
|
|
617
607
|
if (n) return n;
|
|
618
608
|
}
|
|
619
|
-
},
|
|
620
|
-
let r =
|
|
609
|
+
}, rt = (e, t = Qe, n = !1) => {
|
|
610
|
+
let r = tt(e, t);
|
|
621
611
|
if (r) return r;
|
|
622
612
|
if (!n) return e.tagName.toLowerCase();
|
|
623
613
|
let i = e, a = 0;
|
|
624
|
-
for (; i && a <=
|
|
614
|
+
for (; i && a <= et;) {
|
|
625
615
|
let e = i.tagName.toLowerCase();
|
|
626
616
|
if (e === "body" || e === "html" || e === "head") break;
|
|
627
|
-
let t =
|
|
617
|
+
let t = nt(i);
|
|
628
618
|
if (t) return t;
|
|
629
619
|
if (e === "form") break;
|
|
630
|
-
i =
|
|
620
|
+
i = P(i), a += 1;
|
|
631
621
|
}
|
|
632
|
-
for (i = e, a = 0; i && a <=
|
|
622
|
+
for (i = e, a = 0; i && a <= et;) {
|
|
633
623
|
let e = i.tagName.toLowerCase();
|
|
634
624
|
if (e === "body" || e === "html" || e === "head") break;
|
|
635
|
-
let t =
|
|
625
|
+
let t = F(i);
|
|
636
626
|
if (t) return t;
|
|
637
627
|
if (e === "form") break;
|
|
638
|
-
i =
|
|
628
|
+
i = P(i), a += 1;
|
|
639
629
|
}
|
|
640
630
|
return e.tagName.toLowerCase();
|
|
641
|
-
},
|
|
631
|
+
}, it = (e) => {
|
|
642
632
|
var t;
|
|
643
633
|
let n = (t = e.composedPath) == null ? void 0 : t.call(e)[0];
|
|
644
634
|
return n instanceof Element ? n : e.target instanceof Element ? e.target : void 0;
|
|
645
|
-
},
|
|
635
|
+
}, at = (e) => {
|
|
646
636
|
let t = e.timeStamp;
|
|
647
637
|
return !Number.isFinite(t) || t <= 0 ? Date.now() : t > 0xe8d4a51000 ? t : typeof performance > "u" ? Date.now() : performance.timeOrigin + t;
|
|
648
|
-
},
|
|
638
|
+
}, ot = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t, st = (e) => {
|
|
649
639
|
let t = e;
|
|
650
640
|
if (t.tagName.toLowerCase() === "label" && t.hasAttribute("for")) {
|
|
651
641
|
var n;
|
|
@@ -665,13 +655,13 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
665
655
|
"submit"
|
|
666
656
|
].includes((r = (i = t.getAttribute("type")) == null ? void 0 : i.toLowerCase()) == null ? "text" : r);
|
|
667
657
|
}
|
|
668
|
-
t =
|
|
658
|
+
t = P(t);
|
|
669
659
|
}
|
|
670
660
|
return !1;
|
|
671
|
-
},
|
|
672
|
-
let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = e.actionNameAttribute ||
|
|
661
|
+
}, ct = (e = {}) => {
|
|
662
|
+
let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = e.actionNameAttribute || Qe, a = ot(e.maxDuration, Ze), o = [], s, c = () => {
|
|
673
663
|
s == null || s.setRuntimeAttributes({ [g.actionId]: n.size ? [...n.keys()] : void 0 });
|
|
674
|
-
}, l = (e) => !e.hadActivity && !e.userActivity.input && !e.userActivity.scroll && !e.userActivity.selection && !
|
|
664
|
+
}, l = (e) => !e.hadActivity && !e.userActivity.input && !e.userActivity.scroll && !e.userActivity.selection && !st(e.target), u = (e) => {
|
|
675
665
|
if (!r.delete(e) || !s || !e.completed) return;
|
|
676
666
|
clearTimeout(e.reportTimer), e.hadError && e.frustrations.add("error_click"), l(e) && e.frustrations.add("dead_click");
|
|
677
667
|
let t = [
|
|
@@ -679,15 +669,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
679
669
|
"dead_click",
|
|
680
670
|
"error_click"
|
|
681
671
|
].filter((t) => e.frustrations.has(t)), { endTime: n, hasLoadingTime: i } = e.completed, a = Math.max(0, n - e.startTime), o = e.hadError || t.length > 0;
|
|
682
|
-
s.startSpan("action.click", S(S(S(S(S({}, s.config.hooks.getPageAttributes()),
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
spanSubtype: "click",
|
|
686
|
-
spanType: M.action
|
|
672
|
+
s.startSpan("action.click", S(S(S(S(S({}, s.config.hooks.getPageAttributes()), M({
|
|
673
|
+
outcome: o ? A.warning : A.success,
|
|
674
|
+
spanType: j.action
|
|
687
675
|
})), e.runtimeAttributes), {}, {
|
|
688
|
-
[g.eventId]: h("event"),
|
|
689
|
-
[g.eventTimestamp]: e.startTime,
|
|
690
|
-
[g.eventType]: "action",
|
|
691
676
|
[g.actionId]: e.id,
|
|
692
677
|
[g.actionType]: "click",
|
|
693
678
|
[g.actionName]: `Click on ${e.targetName}`,
|
|
@@ -700,13 +685,13 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
700
685
|
endTime: t,
|
|
701
686
|
hasLoadingTime: i
|
|
702
687
|
}, r.add(e);
|
|
703
|
-
let a = Math.max(0, e.startTime +
|
|
688
|
+
let a = Math.max(0, e.startTime + Ye - Date.now());
|
|
704
689
|
e.reportTimer = setTimeout(() => u(e), a);
|
|
705
690
|
}, f = () => {
|
|
706
691
|
[...r].forEach(u);
|
|
707
692
|
}, p = (e) => {
|
|
708
693
|
if (clearTimeout(e.quietTimer), !e.hadActivity || e.pendingRequests.size) return;
|
|
709
|
-
let t = Math.max(0, e.lastActivityTime +
|
|
694
|
+
let t = Math.max(0, e.lastActivityTime + Je - Date.now());
|
|
710
695
|
e.quietTimer = setTimeout(() => d(e, e.lastActivityTime, !0), t);
|
|
711
696
|
}, m = (e, t) => {
|
|
712
697
|
e.hadActivity = !0, e.lastActivityTime = Math.max(e.lastActivityTime, t), p(e);
|
|
@@ -714,7 +699,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
714
699
|
for (let i of n.values()) {
|
|
715
700
|
if (e.type === "request_start") {
|
|
716
701
|
var t;
|
|
717
|
-
if (e.url &&
|
|
702
|
+
if (e.url && k(s == null || (t = s.config.view) == null ? void 0 : t.excludedActivityUrls, e.url) || !_(i, e.time)) continue;
|
|
718
703
|
i.pendingRequests.add(e.id), m(i, e.time);
|
|
719
704
|
continue;
|
|
720
705
|
}
|
|
@@ -725,7 +710,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
725
710
|
}
|
|
726
711
|
if (e.type === "long_task" || e.type === "resource") {
|
|
727
712
|
var r;
|
|
728
|
-
if (e.type === "resource" && e.url &&
|
|
713
|
+
if (e.type === "resource" && e.url && k(s == null || (r = s.config.view) == null ? void 0 : r.excludedActivityUrls, e.url) || e.startTime > i.startTime + a || (e.type === "resource" ? e.startTime < i.startTime : e.endTime < i.startTime)) continue;
|
|
729
714
|
m(i, e.endTime);
|
|
730
715
|
continue;
|
|
731
716
|
}
|
|
@@ -739,14 +724,14 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
739
724
|
[...n.values()].forEach((t) => d(t, e, t.hadActivity));
|
|
740
725
|
}, b = (e, t) => {
|
|
741
726
|
let n = "clientX" in t && typeof t.clientX == "number" ? t.clientX : 0, r = "clientY" in t && typeof t.clientY == "number" ? t.clientY : 0;
|
|
742
|
-
o = o.filter((t) => e.startTime - t.action.startTime <=
|
|
743
|
-
let i = o.at(-1), a = o.some((e) => e.action.userActivity.scroll || e.action.userActivity.selection), s = (i == null ? void 0 : i.target) === e.target && Math.hypot(i.x - n, i.y - r) <=
|
|
727
|
+
o = o.filter((t) => e.startTime - t.action.startTime <= Ye);
|
|
728
|
+
let i = o.at(-1), a = o.some((e) => e.action.userActivity.scroll || e.action.userActivity.selection), s = (i == null ? void 0 : i.target) === e.target && Math.hypot(i.x - n, i.y - r) <= Xe;
|
|
744
729
|
(a || i && !s) && (o = []), o.push({
|
|
745
730
|
action: e,
|
|
746
731
|
target: e.target,
|
|
747
732
|
x: n,
|
|
748
733
|
y: r
|
|
749
|
-
}), o.length >= 3 && e.startTime - o[o.length - 3].action.startTime <=
|
|
734
|
+
}), o.length >= 3 && e.startTime - o[o.length - 3].action.startTime <= Ye && (o.slice(-3).map((e) => e.action).forEach((e) => e.frustrations.add("rage_click")), o = []);
|
|
750
735
|
};
|
|
751
736
|
return {
|
|
752
737
|
name: "action",
|
|
@@ -758,9 +743,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
758
743
|
passive: !0
|
|
759
744
|
}, p = (t) => {
|
|
760
745
|
if (!l.isSampled() || "button" in t && typeof t.button == "number" && t.button !== 0) return;
|
|
761
|
-
let r =
|
|
746
|
+
let r = it(t);
|
|
762
747
|
if (!r) return;
|
|
763
|
-
let o =
|
|
748
|
+
let o = at(t), s = h("action"), u = {
|
|
764
749
|
frustrations: /* @__PURE__ */ new Set(),
|
|
765
750
|
hadActivity: !1,
|
|
766
751
|
hadError: !1,
|
|
@@ -771,7 +756,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
771
756
|
runtimeAttributes: l.getRuntimeAttributes(),
|
|
772
757
|
startTime: o,
|
|
773
758
|
target: r,
|
|
774
|
-
targetName:
|
|
759
|
+
targetName: rt(r, i, e.nameCollection === "text"),
|
|
775
760
|
targetTag: r.tagName.toLowerCase(),
|
|
776
761
|
userActivity: {
|
|
777
762
|
input: !1,
|
|
@@ -780,7 +765,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
780
765
|
},
|
|
781
766
|
validationTimer: setTimeout(() => {
|
|
782
767
|
u.hadActivity || d(u, u.startTime, !1);
|
|
783
|
-
},
|
|
768
|
+
}, qe)
|
|
784
769
|
};
|
|
785
770
|
n.set(s, u), b(u, t), c();
|
|
786
771
|
};
|
|
@@ -814,16 +799,16 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
814
799
|
o = [], s = void 0;
|
|
815
800
|
}
|
|
816
801
|
};
|
|
817
|
-
},
|
|
802
|
+
}, lt = "data-bk-excluded-activity-mutations", ut = (e) => {
|
|
818
803
|
let t = e.type === "characterData" ? e.target.parentElement : e.target;
|
|
819
804
|
return t instanceof Element && !!t.closest("[data-bk-excluded-activity-mutations]");
|
|
820
|
-
},
|
|
805
|
+
}, dt = () => {
|
|
821
806
|
let e, t = [];
|
|
822
807
|
return {
|
|
823
808
|
name: "activity",
|
|
824
809
|
init(n) {
|
|
825
810
|
if (typeof document < "u" && typeof MutationObserver < "u" && (e = new MutationObserver((e) => {
|
|
826
|
-
e.length && !e.every(
|
|
811
|
+
e.length && !e.every(ut) && n.notifyActivity({
|
|
827
812
|
time: Date.now(),
|
|
828
813
|
type: "dom_mutation"
|
|
829
814
|
});
|
|
@@ -847,7 +832,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
847
832
|
for (e == null || e.disconnect(), e = void 0; t.length;) (n = t.pop()) == null || n();
|
|
848
833
|
}
|
|
849
834
|
};
|
|
850
|
-
},
|
|
835
|
+
}, ft = (e, t) => !!(t && k(e.config.view.excludedActivityUrls, t)), pt = (e, t, n) => {
|
|
851
836
|
let r = /* @__PURE__ */ new Set(), i = !1, a = !1, o = t, s, c = (e) => {
|
|
852
837
|
i || (i = !0, clearTimeout(f), clearTimeout(s), d(), n(e));
|
|
853
838
|
}, l = () => {
|
|
@@ -860,7 +845,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
860
845
|
}, d = e.onActivity((n) => {
|
|
861
846
|
if (!(n.type === "error" || n.type === "long_task")) {
|
|
862
847
|
if (n.type === "request_start") {
|
|
863
|
-
if (n.time < t ||
|
|
848
|
+
if (n.time < t || ft(e, n.url)) return;
|
|
864
849
|
r.add(n.id), u(n.time);
|
|
865
850
|
return;
|
|
866
851
|
}
|
|
@@ -870,7 +855,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
870
855
|
return;
|
|
871
856
|
}
|
|
872
857
|
if (n.type === "resource") {
|
|
873
|
-
if (n.endTime < t ||
|
|
858
|
+
if (n.endTime < t || ft(e, n.url)) return;
|
|
874
859
|
u(n.endTime);
|
|
875
860
|
return;
|
|
876
861
|
}
|
|
@@ -882,7 +867,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
882
867
|
return () => {
|
|
883
868
|
i || (i = !0, clearTimeout(f), clearTimeout(s), d());
|
|
884
869
|
};
|
|
885
|
-
},
|
|
870
|
+
}, mt = 1e3, ht = 200, gt = "body", _t = .8, vt = [
|
|
886
871
|
"[data-loading=\"true\"]",
|
|
887
872
|
"[aria-busy=\"true\"]",
|
|
888
873
|
".loading",
|
|
@@ -890,7 +875,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
890
875
|
".spinner",
|
|
891
876
|
".skeleton",
|
|
892
877
|
".bk-loading"
|
|
893
|
-
],
|
|
878
|
+
], I = [
|
|
894
879
|
[.2, .2],
|
|
895
880
|
[.5, .2],
|
|
896
881
|
[.8, .2],
|
|
@@ -900,57 +885,48 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
900
885
|
[.2, .8],
|
|
901
886
|
[.5, .8],
|
|
902
887
|
[.8, .8]
|
|
903
|
-
],
|
|
888
|
+
], yt = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, bt = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.min(1, e)) : t, xt = (e) => {
|
|
904
889
|
if (!e) return "";
|
|
905
890
|
let t = e.tagName.toLowerCase();
|
|
906
891
|
return e.id ? `${t}#${e.id}` : t;
|
|
907
|
-
},
|
|
892
|
+
}, St = (e, t) => t.some((t) => {
|
|
908
893
|
try {
|
|
909
894
|
return e.matches(t) || !!e.closest(t);
|
|
910
895
|
} catch (e) {
|
|
911
896
|
return !1;
|
|
912
897
|
}
|
|
913
|
-
}),
|
|
898
|
+
}), Ct = (e) => {
|
|
914
899
|
if (typeof getComputedStyle != "function") return !0;
|
|
915
900
|
let t = getComputedStyle(e);
|
|
916
901
|
return t.display !== "none" && t.visibility !== "hidden" && Number(t.opacity || 1) > 0;
|
|
917
|
-
},
|
|
902
|
+
}, wt = (e, t) => {
|
|
918
903
|
if (typeof document.elementsFromPoint == "function") return document.elementsFromPoint(e, t);
|
|
919
904
|
let n = document.elementFromPoint(e, t);
|
|
920
905
|
return n ? [n] : [];
|
|
921
|
-
},
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
rootFound: !1,
|
|
929
|
-
score: 1,
|
|
930
|
-
validCount: L.length
|
|
931
|
-
};
|
|
932
|
-
let r = 0, i = 0, a = "";
|
|
933
|
-
for (let [e, o] of L) {
|
|
934
|
-
let s = Tt(window.innerWidth * e, window.innerHeight * o);
|
|
935
|
-
if (e === .5 && o === .5 && (a = St(s[0])), s.some((e) => Ct(e, t))) {
|
|
936
|
-
i += 1;
|
|
906
|
+
}, Tt = (e, t) => {
|
|
907
|
+
var n;
|
|
908
|
+
let r = document.querySelector(e), i = (n = r == null ? document.body : r) == null ? document.documentElement : n, a = !!r, o = 0, s = 0, c = "";
|
|
909
|
+
for (let [e, n] of I) {
|
|
910
|
+
let r = wt(window.innerWidth * e, window.innerHeight * n);
|
|
911
|
+
if (e === .5 && n === .5 && (c = xt(r[0])), r.some((e) => St(e, t))) {
|
|
912
|
+
s += 1;
|
|
937
913
|
continue;
|
|
938
914
|
}
|
|
939
|
-
|
|
915
|
+
r.some((e) => e !== i && e !== document.body && e !== document.documentElement && i.contains(e) && Ct(e)) || (o += 1);
|
|
940
916
|
}
|
|
941
|
-
let
|
|
917
|
+
let l = I.length - s;
|
|
942
918
|
return {
|
|
943
|
-
centerElement:
|
|
944
|
-
emptyCount:
|
|
945
|
-
ignoredCount:
|
|
946
|
-
reason: "empty_viewport",
|
|
947
|
-
rootFound:
|
|
948
|
-
score:
|
|
949
|
-
validCount:
|
|
919
|
+
centerElement: c,
|
|
920
|
+
emptyCount: o,
|
|
921
|
+
ignoredCount: s,
|
|
922
|
+
reason: a ? "empty_viewport" : "missing_root",
|
|
923
|
+
rootFound: a,
|
|
924
|
+
score: l ? o / l : 0,
|
|
925
|
+
validCount: l
|
|
950
926
|
};
|
|
951
|
-
},
|
|
927
|
+
}, Et = (e = {}) => {
|
|
952
928
|
var t;
|
|
953
|
-
let n =
|
|
929
|
+
let n = yt(e.checkDelay, mt), r = yt(e.confirmationDelay, ht), i = e.rootSelector || gt, a = bt(e.threshold, _t), o = [...vt, ...(t = e.ignoreSelectors) == null ? [] : t], s, c, l, u, d = () => {}, f;
|
|
954
930
|
return {
|
|
955
931
|
name: "blank-screen",
|
|
956
932
|
init(e) {
|
|
@@ -961,11 +937,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
961
937
|
if (s !== t || c === t || !e.isSampled()) return;
|
|
962
938
|
c = t;
|
|
963
939
|
let r = Date.now();
|
|
964
|
-
e.startSpan("browser.blank_screen", S(S({},
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
spanType: M.error
|
|
940
|
+
e.startSpan("browser.blank_screen", S(S({}, M({
|
|
941
|
+
outcome: A.error,
|
|
942
|
+
outcomeReason: "blank_screen",
|
|
943
|
+
spanType: j.error
|
|
969
944
|
})), {}, {
|
|
970
945
|
"blank_screen.center_element": n.centerElement,
|
|
971
946
|
"blank_screen.empty_ratio": n.score,
|
|
@@ -974,17 +949,14 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
974
949
|
"blank_screen.reason": n.reason,
|
|
975
950
|
"blank_screen.root_found": n.rootFound,
|
|
976
951
|
"blank_screen.root_selector": i,
|
|
977
|
-
"blank_screen.sample_count":
|
|
978
|
-
"blank_screen.valid_sample_count": n.validCount
|
|
979
|
-
[g.eventId]: h("event"),
|
|
980
|
-
[g.eventTimestamp]: r,
|
|
981
|
-
[g.eventType]: "error"
|
|
952
|
+
"blank_screen.sample_count": I.length,
|
|
953
|
+
"blank_screen.valid_sample_count": n.validCount
|
|
982
954
|
}), { startTime: r }).end(r);
|
|
983
955
|
}, m = (t) => {
|
|
984
956
|
if (s !== t || c === t || document.visibilityState === "hidden") return;
|
|
985
957
|
let n;
|
|
986
958
|
try {
|
|
987
|
-
n =
|
|
959
|
+
n = Tt(i, o);
|
|
988
960
|
} catch (t) {
|
|
989
961
|
var l;
|
|
990
962
|
e.config.debug && ((l = globalThis.console) == null || l.warn("[bk-ot][blank-screen] detection failed:", t));
|
|
@@ -994,7 +966,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
994
966
|
if (s !== t || document.visibilityState === "hidden") return;
|
|
995
967
|
let n;
|
|
996
968
|
try {
|
|
997
|
-
n =
|
|
969
|
+
n = Tt(i, o);
|
|
998
970
|
} catch (t) {
|
|
999
971
|
var r;
|
|
1000
972
|
e.config.debug && ((r = globalThis.console) == null || r.warn("[bk-ot][blank-screen] confirmation failed:", t));
|
|
@@ -1002,53 +974,53 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1002
974
|
}
|
|
1003
975
|
n.validCount && n.score >= a && p(t, n);
|
|
1004
976
|
}, r));
|
|
1005
|
-
},
|
|
977
|
+
}, h = (r) => {
|
|
1006
978
|
t(), !(document.visibilityState === "hidden" || !e.isSampled()) && (u = setTimeout(() => m(r), n));
|
|
1007
979
|
};
|
|
1008
980
|
d = e.onViewChange((n) => {
|
|
1009
981
|
if (n.id !== s && (t(), l == null || l(), l = void 0, s = n.id, c = void 0, n.id)) {
|
|
1010
982
|
let t = n.id;
|
|
1011
|
-
l =
|
|
1012
|
-
l = void 0,
|
|
983
|
+
l = pt(e, Date.now(), () => {
|
|
984
|
+
l = void 0, h(t);
|
|
1013
985
|
});
|
|
1014
986
|
}
|
|
1015
987
|
});
|
|
1016
|
-
let
|
|
1017
|
-
document.visibilityState === "hidden" ? t() : s && c !== s &&
|
|
988
|
+
let g = () => {
|
|
989
|
+
document.visibilityState === "hidden" ? t() : s && c !== s && h(s);
|
|
1018
990
|
};
|
|
1019
|
-
document.addEventListener("visibilitychange",
|
|
991
|
+
document.addEventListener("visibilitychange", g), f = () => document.removeEventListener("visibilitychange", g);
|
|
1020
992
|
},
|
|
1021
993
|
shutdown() {
|
|
1022
994
|
clearTimeout(u), u = void 0, d(), l == null || l(), l = void 0, f == null || f(), f = void 0, s = void 0, c = void 0;
|
|
1023
995
|
}
|
|
1024
996
|
};
|
|
1025
|
-
},
|
|
1026
|
-
let t =
|
|
1027
|
-
t >= 0 &&
|
|
1028
|
-
},
|
|
997
|
+
}, Dt = 100, Ot = 200, L = [], kt = (e) => e.replace(/#.*$/, ""), At = (e) => {
|
|
998
|
+
let t = L.indexOf(e);
|
|
999
|
+
t >= 0 && L.splice(t, 1), e.timer !== void 0 && clearTimeout(e.timer);
|
|
1000
|
+
}, R = (e, t) => {
|
|
1029
1001
|
let n = e.callback;
|
|
1030
|
-
|
|
1031
|
-
},
|
|
1032
|
-
let t = performance.timeOrigin + e.startTime, n =
|
|
1033
|
-
n && (n.entry = e, n.callback &&
|
|
1034
|
-
},
|
|
1002
|
+
At(e), e.callback = void 0, n == null || n(t);
|
|
1003
|
+
}, jt = (e) => {
|
|
1004
|
+
let t = performance.timeOrigin + e.startTime, n = L.filter((n) => !n.entry && kt(n.url) === kt(e.name) && t >= n.startTime - 50).sort((e, n) => Math.abs(e.startTime - t) - Math.abs(n.startTime - t))[0];
|
|
1005
|
+
n && (n.entry = e, n.callback && R(n, e));
|
|
1006
|
+
}, Mt = (e, t = Date.now()) => {
|
|
1035
1007
|
let n = {
|
|
1036
1008
|
startTime: t,
|
|
1037
1009
|
url: e
|
|
1038
1010
|
};
|
|
1039
|
-
return
|
|
1040
|
-
cancel: () =>
|
|
1011
|
+
return L.push(n), L.length > Dt && R(L[0]), {
|
|
1012
|
+
cancel: () => R(n),
|
|
1041
1013
|
complete: (e) => {
|
|
1042
1014
|
if (n.callback = e, n.entry) {
|
|
1043
|
-
|
|
1015
|
+
R(n, n.entry);
|
|
1044
1016
|
return;
|
|
1045
1017
|
}
|
|
1046
|
-
n.timer = setTimeout(() =>
|
|
1018
|
+
n.timer = setTimeout(() => R(n), Ot);
|
|
1047
1019
|
}
|
|
1048
1020
|
};
|
|
1049
|
-
},
|
|
1050
|
-
|
|
1051
|
-
},
|
|
1021
|
+
}, Nt = (e) => e.deliveryType === "cache" || e.transferSize === 0 && e.decodedBodySize > 0 ? !0 : void 0, z = (...e) => e.every((t, n) => n === 0 || e[n - 1] <= t), B = (e, t, n, r, i) => {
|
|
1022
|
+
z(n, r, i) && (e[`resource.${t}.start`] = r - n, e[`resource.${t}.duration`] = i - r);
|
|
1023
|
+
}, Pt = (e) => {
|
|
1052
1024
|
let t = {}, n = [
|
|
1053
1025
|
e.startTime,
|
|
1054
1026
|
e.fetchStart,
|
|
@@ -1060,17 +1032,17 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1060
1032
|
e.responseStart,
|
|
1061
1033
|
e.responseEnd
|
|
1062
1034
|
];
|
|
1063
|
-
return !n.every(Number.isFinite) || !
|
|
1064
|
-
},
|
|
1035
|
+
return !n.every(Number.isFinite) || !z(...n) ? t : (B(t, "first_byte", e.startTime, e.requestStart, e.responseStart), B(t, "download", e.startTime, e.responseStart, e.responseEnd), e.workerStart > 0 && e.workerStart < e.fetchStart && B(t, "worker", e.startTime, e.workerStart, e.fetchStart), e.fetchStart < e.domainLookupEnd && B(t, "dns", e.startTime, e.domainLookupStart, e.domainLookupEnd), e.fetchStart < e.connectEnd && (B(t, "connect", e.startTime, e.connectStart, e.connectEnd), e.connectStart <= e.secureConnectionStart && e.secureConnectionStart <= e.connectEnd && B(t, "ssl", e.startTime, e.secureConnectionStart, e.connectEnd)), e.redirectEnd > e.startTime && z(e.startTime, e.redirectStart, e.redirectEnd, e.fetchStart) && B(t, "redirect", e.startTime, e.redirectStart, e.redirectEnd), t);
|
|
1036
|
+
}, Ft = (e) => e.duration === 0 && e.responseEnd > e.startTime ? e.responseEnd - e.startTime : e.duration, It = (e) => {
|
|
1065
1037
|
let t = typeof e.deliveryType == "string" ? e.deliveryType || "other" : void 0;
|
|
1066
1038
|
return S(S(S(S({
|
|
1067
|
-
[g.cacheHit]:
|
|
1039
|
+
[g.cacheHit]: Nt(e),
|
|
1068
1040
|
[g.nextHopProtocol]: e.nextHopProtocol
|
|
1069
|
-
},
|
|
1041
|
+
}, Pt(e)), t ? { "resource.delivery_type": t } : {}), e.renderBlockingStatus ? { "resource.render_blocking_status": e.renderBlockingStatus } : {}), {}, {
|
|
1070
1042
|
"resource.encoded_body_size": e.encodedBodySize,
|
|
1071
1043
|
"resource.decoded_body_size": e.decodedBodySize
|
|
1072
1044
|
});
|
|
1073
|
-
},
|
|
1045
|
+
}, Lt = (t = !0) => {
|
|
1074
1046
|
let n;
|
|
1075
1047
|
return {
|
|
1076
1048
|
name: "resource",
|
|
@@ -1078,24 +1050,22 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1078
1050
|
var i;
|
|
1079
1051
|
if (typeof PerformanceObserver > "u" || !((i = PerformanceObserver.supportedEntryTypes) != null && i.includes("resource"))) return;
|
|
1080
1052
|
let a = (n) => {
|
|
1081
|
-
if (!r.isSampled() || !n.name ||
|
|
1053
|
+
if (!r.isSampled() || !n.name || O(r.config, n.name)) return;
|
|
1082
1054
|
if (n.initiatorType === "fetch" || n.initiatorType === "xmlhttprequest") {
|
|
1083
|
-
|
|
1055
|
+
jt(n);
|
|
1084
1056
|
return;
|
|
1085
1057
|
}
|
|
1086
1058
|
if (n.duration < 0) return;
|
|
1087
|
-
let i = r.config.hooks.redactUrl(n.name), a =
|
|
1088
|
-
t && r.isSampled() && r.startSpan("browser.resource", S(S(S({}, r.config.hooks.getPageAttributes()),
|
|
1059
|
+
let i = r.config.hooks.redactUrl(n.name), a = Ft(n), o = performance.timeOrigin + n.startTime, s = o + a;
|
|
1060
|
+
t && r.isSampled() && r.startSpan("browser.resource", S(S(S({}, r.config.hooks.getPageAttributes()), Ke({
|
|
1089
1061
|
initiatorType: n.initiatorType || "other",
|
|
1090
|
-
|
|
1062
|
+
outcome: typeof n.responseStatus == "number" ? {
|
|
1063
|
+
statusCode: n.responseStatus,
|
|
1064
|
+
type: "response"
|
|
1065
|
+
} : void 0,
|
|
1091
1066
|
transferSize: n.transferSize,
|
|
1092
1067
|
url: i
|
|
1093
|
-
})), {}, {
|
|
1094
|
-
[g.eventId]: h("event"),
|
|
1095
|
-
[g.eventTimestamp]: o,
|
|
1096
|
-
[g.eventType]: "resource",
|
|
1097
|
-
"url.full": i
|
|
1098
|
-
}, Rt(n)), {
|
|
1068
|
+
})), {}, { "url.full": i }, It(n)), {
|
|
1099
1069
|
kind: e.CLIENT,
|
|
1100
1070
|
startTime: o
|
|
1101
1071
|
}).end(s), r.notifyActivity({
|
|
@@ -1120,26 +1090,31 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1120
1090
|
n == null || n.disconnect(), n = void 0;
|
|
1121
1091
|
}
|
|
1122
1092
|
};
|
|
1123
|
-
},
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1093
|
+
}, Rt = (e) => typeof e.config.tracking.request == "object" ? e.config.tracking.request : void 0, zt = (e) => typeof e == "object" && e && "name" in e && typeof e.name == "string" ? e.name : "", Bt = (e, t) => {
|
|
1094
|
+
let n = e.signal;
|
|
1095
|
+
return zt(n == null ? void 0 : n.reason) === "TimeoutError" || zt(t) === "TimeoutError" ? {
|
|
1096
|
+
error: t,
|
|
1097
|
+
type: "timeout"
|
|
1098
|
+
} : n != null && n.aborted || zt(t) === "AbortError" ? { type: "abort" } : {
|
|
1099
|
+
error: t,
|
|
1100
|
+
type: "network_error"
|
|
1101
|
+
};
|
|
1102
|
+
}, Vt = (e, t) => e === "abort" ? { type: "abort" } : e === "timeout" ? { type: "timeout" } : e === "error" || t.status === 0 ? { type: "network_error" } : {
|
|
1103
|
+
statusCode: t.status,
|
|
1104
|
+
type: "response"
|
|
1105
|
+
}, Ht = (e) => e.type === "network_error" || e.type === "timeout" || e.type === "response" && typeof e.statusCode == "number" && e.statusCode >= 400, Ut = (e) => typeof e == "string" || e instanceof URL ? D(String(e)) : D(e.url), Wt = (e, t) => {
|
|
1131
1106
|
var n;
|
|
1132
1107
|
return ((n = t == null ? void 0 : t.method) == null ? typeof Request < "u" && e instanceof Request ? e.method : "GET" : n).toUpperCase();
|
|
1133
|
-
},
|
|
1108
|
+
}, Gt = (e, t) => typeof Request < "u" && e instanceof Request ? e : t == null ? {} : t, Kt = (e, t, a) => {
|
|
1134
1109
|
var o;
|
|
1135
1110
|
let s = typeof Request < "u" && e instanceof Request ? e.headers : void 0, c = new Headers((o = t == null ? void 0 : t.headers) == null ? s : o);
|
|
1136
1111
|
return r.inject(i.setSpan(n.active(), a), c, { set: (e, t, n) => e.set(t, n) }), S(S({}, t), {}, { headers: c });
|
|
1137
|
-
},
|
|
1112
|
+
}, qt = (e, t) => {
|
|
1138
1113
|
let a = {};
|
|
1139
1114
|
r.inject(i.setSpan(n.active(), t), a);
|
|
1140
1115
|
for (let [t, n] of Object.entries(a)) e.setRequestHeader(t, n);
|
|
1141
|
-
},
|
|
1142
|
-
if (
|
|
1116
|
+
}, Jt = (e, t) => O(e.config, t) || k(e.config.view.excludedActivityUrls, t), Yt = (e, t) => {
|
|
1117
|
+
if (Jt(e, t)) return () => {};
|
|
1143
1118
|
let n = h("request");
|
|
1144
1119
|
e.notifyActivity({
|
|
1145
1120
|
id: n,
|
|
@@ -1155,56 +1130,51 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1155
1130
|
type: "request_end"
|
|
1156
1131
|
}));
|
|
1157
1132
|
};
|
|
1158
|
-
},
|
|
1133
|
+
}, Xt = (e, t) => e.isSampled() ? Mt(t) : {
|
|
1159
1134
|
cancel() {},
|
|
1160
1135
|
complete(e) {
|
|
1161
1136
|
e();
|
|
1162
1137
|
}
|
|
1163
|
-
},
|
|
1138
|
+
}, Zt = (t, n, r) => {
|
|
1164
1139
|
var i, a;
|
|
1165
1140
|
let o = (i = r.startedAt) == null ? Date.now() : i;
|
|
1166
|
-
return t.startSpan("browser.resource", S(S(S({}, t.config.hooks.getPageAttributes()),
|
|
1141
|
+
return t.startSpan("browser.resource", S(S(S({}, t.config.hooks.getPageAttributes()), Ke({
|
|
1167
1142
|
initiatorType: n,
|
|
1168
1143
|
method: r.method,
|
|
1169
1144
|
url: (a = r.url) == null ? "" : a
|
|
1170
|
-
})), {}, {
|
|
1171
|
-
[g.eventId]: h("event"),
|
|
1172
|
-
[g.eventTimestamp]: o,
|
|
1173
|
-
[g.eventType]: "resource"
|
|
1174
|
-
}, r.url ? { "url.full": t.config.hooks.redactUrl(r.url) } : {}), {
|
|
1145
|
+
})), r.url ? { "url.full": t.config.hooks.redactUrl(r.url) } : {}), {
|
|
1175
1146
|
kind: e.CLIENT,
|
|
1176
1147
|
startTime: o
|
|
1177
1148
|
});
|
|
1178
|
-
},
|
|
1179
|
-
let
|
|
1180
|
-
attributes: S(S(S({}, e.config.hooks.getPageAttributes()),
|
|
1149
|
+
}, Qt = (e, n, r, i, a, o = {}) => {
|
|
1150
|
+
let s = o.url, c = s ? e.config.hooks.redactUrl(s) : void 0, l = o.method, u = {
|
|
1151
|
+
attributes: S(S(S({}, e.config.hooks.getPageAttributes()), Ke({
|
|
1181
1152
|
initiatorType: r,
|
|
1182
1153
|
method: l,
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
})), s ? { "url.full": s } : {}),
|
|
1154
|
+
outcome: a,
|
|
1155
|
+
url: c == null ? "" : c
|
|
1156
|
+
})), c ? { "url.full": c } : {}),
|
|
1187
1157
|
resource: {
|
|
1188
1158
|
method: l,
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
url:
|
|
1159
|
+
outcome: a,
|
|
1160
|
+
transport: r,
|
|
1161
|
+
url: c
|
|
1192
1162
|
},
|
|
1193
1163
|
type: "resource"
|
|
1194
1164
|
}, d = !0;
|
|
1195
1165
|
try {
|
|
1196
1166
|
var f, p;
|
|
1197
|
-
d = (f =
|
|
1167
|
+
d = (f = Rt(e)) == null || (p = f.beforeSend) == null ? void 0 : p.call(f, u, i);
|
|
1198
1168
|
} catch (t) {
|
|
1199
1169
|
var m;
|
|
1200
1170
|
e.config.debug && ((m = globalThis.console) == null || m.warn("[bk-ot] request.beforeSend failed:", t));
|
|
1201
1171
|
}
|
|
1202
1172
|
if (n.setAttributes(e.applyRedact(u.attributes)), d === !1) {
|
|
1203
|
-
n
|
|
1173
|
+
Pe(n);
|
|
1204
1174
|
return;
|
|
1205
1175
|
}
|
|
1206
|
-
(
|
|
1207
|
-
},
|
|
1176
|
+
Ht(a) && n.setStatus({ code: t.ERROR });
|
|
1177
|
+
}, $t = (e) => {
|
|
1208
1178
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
1209
1179
|
return {
|
|
1210
1180
|
name: "request",
|
|
@@ -1214,16 +1184,16 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1214
1184
|
if (typeof window.fetch == "function") {
|
|
1215
1185
|
let r = window.fetch, i = /* @__PURE__ */ function() {
|
|
1216
1186
|
var t = E(function* (t, i) {
|
|
1217
|
-
let a =
|
|
1218
|
-
if (!e.isSampled() ||
|
|
1187
|
+
let a = Ut(t);
|
|
1188
|
+
if (!e.isSampled() || Ae(e.config, a)) return r.call(this, t, i);
|
|
1219
1189
|
let o = {
|
|
1220
|
-
method:
|
|
1190
|
+
method: Wt(t, i),
|
|
1221
1191
|
startedAt: Date.now(),
|
|
1222
1192
|
url: a
|
|
1223
|
-
}, s =
|
|
1193
|
+
}, s = Zt(e, "fetch", o), c = Xt(e, a), l = Yt(e, a), u = Gt(t, i), d = je(e.config, a) ? Kt(t, i, s) : i, f = !1, p = (t, r = Date.now()) => {
|
|
1224
1194
|
if (!f) {
|
|
1225
1195
|
if (f = !0, n.delete(m), t) {
|
|
1226
|
-
s.setAttributes(e.applyRedact(
|
|
1196
|
+
s.setAttributes(e.applyRedact(It(t))), s.end(performance.timeOrigin + t.startTime + Ft(t));
|
|
1227
1197
|
return;
|
|
1228
1198
|
}
|
|
1229
1199
|
s.end(r);
|
|
@@ -1233,22 +1203,23 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1233
1203
|
};
|
|
1234
1204
|
n.add(m);
|
|
1235
1205
|
try {
|
|
1236
|
-
let n = yield r.call(this, t, d);
|
|
1237
|
-
|
|
1206
|
+
let n = yield r.call(this, t, d), i = S(S({}, n.status > 0 ? { statusCode: n.status } : {}), {}, { type: "response" });
|
|
1207
|
+
Qt(e, s, "fetch", {
|
|
1238
1208
|
request: u,
|
|
1239
1209
|
response: n,
|
|
1240
1210
|
type: "fetch"
|
|
1241
|
-
}, o);
|
|
1242
|
-
let
|
|
1243
|
-
return c.complete((e) => p(e,
|
|
1211
|
+
}, i, o);
|
|
1212
|
+
let a = Date.now();
|
|
1213
|
+
return c.complete((e) => p(e, a)), n;
|
|
1244
1214
|
} catch (t) {
|
|
1245
|
-
|
|
1215
|
+
let n = Bt(u, t);
|
|
1216
|
+
Qt(e, s, "fetch", {
|
|
1246
1217
|
error: t,
|
|
1247
1218
|
request: u,
|
|
1248
1219
|
type: "fetch"
|
|
1249
|
-
}, o), t instanceof Error && s.recordException(t);
|
|
1250
|
-
let
|
|
1251
|
-
throw c.complete((e) => p(e,
|
|
1220
|
+
}, n, o), n.type !== "abort" && t instanceof Error && s.recordException(t);
|
|
1221
|
+
let r = Date.now();
|
|
1222
|
+
throw c.complete((e) => p(e, r)), t;
|
|
1252
1223
|
} finally {
|
|
1253
1224
|
l();
|
|
1254
1225
|
}
|
|
@@ -1265,41 +1236,45 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1265
1236
|
let r = /* @__PURE__ */ new WeakMap(), i = XMLHttpRequest.prototype.open, a = XMLHttpRequest.prototype.send, o = function(e, t, n = !0, a, o) {
|
|
1266
1237
|
return r.set(this, {
|
|
1267
1238
|
method: e.toUpperCase(),
|
|
1268
|
-
url:
|
|
1239
|
+
url: D(String(t))
|
|
1269
1240
|
}), i.call(this, e, String(t), n, a, o);
|
|
1270
1241
|
}, s = function(t) {
|
|
1271
1242
|
var i;
|
|
1272
1243
|
let o = (i = r.get(this)) == null ? {} : i;
|
|
1273
|
-
if (!e.isSampled() || !o.url ||
|
|
1244
|
+
if (!e.isSampled() || !o.url || Ae(e.config, o.url)) return a.call(this, t);
|
|
1274
1245
|
o.startedAt = Date.now();
|
|
1275
|
-
let s =
|
|
1276
|
-
|
|
1277
|
-
let u = !1, d = () => {
|
|
1278
|
-
c.cancel(), !
|
|
1246
|
+
let s = Zt(e, "xhr", o), c = Xt(e, o.url), l = Yt(e, o.url);
|
|
1247
|
+
je(e.config, o.url) && qt(this, s);
|
|
1248
|
+
let u = !1, d = !1, f = () => {}, p = () => {
|
|
1249
|
+
f(), c.cancel(), !d && (d = !0, n.delete(p), l(), s.end());
|
|
1279
1250
|
};
|
|
1280
|
-
n.add(
|
|
1281
|
-
let
|
|
1282
|
-
if (u) return;
|
|
1283
|
-
|
|
1251
|
+
n.add(p);
|
|
1252
|
+
let m = (t) => {
|
|
1253
|
+
if (u || d) return;
|
|
1254
|
+
u = !0, f();
|
|
1255
|
+
let r = Vt(t, this);
|
|
1256
|
+
Qt(e, s, "xhr", {
|
|
1284
1257
|
type: "xhr",
|
|
1285
1258
|
xhr: this
|
|
1286
|
-
}, o), l();
|
|
1287
|
-
let
|
|
1288
|
-
c.complete((
|
|
1289
|
-
if (!
|
|
1290
|
-
if (
|
|
1291
|
-
s.setAttributes(e.applyRedact(
|
|
1259
|
+
}, r, o), l();
|
|
1260
|
+
let i = Date.now();
|
|
1261
|
+
c.complete((t) => {
|
|
1262
|
+
if (!d) {
|
|
1263
|
+
if (d = !0, n.delete(p), t) {
|
|
1264
|
+
s.setAttributes(e.applyRedact(It(t))), s.end(performance.timeOrigin + t.startTime + Ft(t));
|
|
1292
1265
|
return;
|
|
1293
1266
|
}
|
|
1294
|
-
s.end(
|
|
1267
|
+
s.end(i);
|
|
1295
1268
|
}
|
|
1296
1269
|
});
|
|
1297
|
-
};
|
|
1298
|
-
|
|
1270
|
+
}, h = () => m("abort"), g = () => m("error"), _ = () => m("load"), v = () => m("timeout");
|
|
1271
|
+
f = () => {
|
|
1272
|
+
this.removeEventListener("abort", h), this.removeEventListener("error", g), this.removeEventListener("load", _), this.removeEventListener("timeout", v);
|
|
1273
|
+
}, this.addEventListener("abort", h, { once: !0 }), this.addEventListener("error", g, { once: !0 }), this.addEventListener("load", _, { once: !0 }), this.addEventListener("timeout", v, { once: !0 });
|
|
1299
1274
|
try {
|
|
1300
1275
|
return a.call(this, t);
|
|
1301
1276
|
} catch (e) {
|
|
1302
|
-
throw e instanceof Error && s.recordException(e),
|
|
1277
|
+
throw e instanceof Error && s.recordException(e), m("error"), e;
|
|
1303
1278
|
}
|
|
1304
1279
|
};
|
|
1305
1280
|
XMLHttpRequest.prototype.open = o, XMLHttpRequest.prototype.send = s, t.push(() => {
|
|
@@ -1314,9 +1289,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1314
1289
|
for (; t.length;) (e = t.pop()) == null || e();
|
|
1315
1290
|
}
|
|
1316
1291
|
};
|
|
1317
|
-
},
|
|
1318
|
-
if (t) return
|
|
1319
|
-
},
|
|
1292
|
+
}, en = /^https?:|^\/\//i, tn = (e, t) => {
|
|
1293
|
+
if (t) return en.test(t) ? e(t) : t;
|
|
1294
|
+
}, nn = () => {
|
|
1320
1295
|
let e;
|
|
1321
1296
|
return {
|
|
1322
1297
|
name: "csp-violation",
|
|
@@ -1324,12 +1299,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1324
1299
|
if (typeof window > "u" || typeof document > "u") return;
|
|
1325
1300
|
let n = (e) => {
|
|
1326
1301
|
if (!t.isSampled()) return;
|
|
1327
|
-
let n = Date.now(), r =
|
|
1328
|
-
t.startSpan("csp.violation", S(S(S({}, t.config.hooks.getPageAttributes()),
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
spanType: M.error
|
|
1302
|
+
let n = Date.now(), r = tn(t.config.hooks.redactUrl, e.blockedURI), i = e.sourceFile ? t.config.hooks.redactUrl(e.sourceFile) : void 0;
|
|
1303
|
+
t.startSpan("csp.violation", S(S(S({}, t.config.hooks.getPageAttributes()), M({
|
|
1304
|
+
outcome: A.error,
|
|
1305
|
+
outcomeReason: "csp",
|
|
1306
|
+
spanType: j.error
|
|
1333
1307
|
})), {}, {
|
|
1334
1308
|
"csp.blocked_uri": r,
|
|
1335
1309
|
"csp.violated_directive": e.violatedDirective,
|
|
@@ -1340,9 +1314,6 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1340
1314
|
"csp.column_number": e.columnNumber,
|
|
1341
1315
|
"csp.status_code": e.statusCode,
|
|
1342
1316
|
"csp.original_policy": e.originalPolicy,
|
|
1343
|
-
[g.eventId]: h("event"),
|
|
1344
|
-
[g.eventTimestamp]: n,
|
|
1345
|
-
[g.eventType]: "error",
|
|
1346
1317
|
"error.source": "csp"
|
|
1347
1318
|
}), { startTime: n }).end(n);
|
|
1348
1319
|
};
|
|
@@ -1352,7 +1323,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1352
1323
|
e == null || e(), e = void 0;
|
|
1353
1324
|
}
|
|
1354
1325
|
};
|
|
1355
|
-
},
|
|
1326
|
+
}, rn = (e) => {
|
|
1356
1327
|
if (e instanceof Error) return e.message;
|
|
1357
1328
|
if (typeof e == "string") return e;
|
|
1358
1329
|
try {
|
|
@@ -1360,9 +1331,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1360
1331
|
} catch (t) {
|
|
1361
1332
|
return String(e);
|
|
1362
1333
|
}
|
|
1363
|
-
},
|
|
1334
|
+
}, an = ({ context: e, error: n, exceptionType: r, extra: i = {}, source: a, spanName: o }) => {
|
|
1364
1335
|
if (!e.isSampled()) return;
|
|
1365
|
-
let s = Date.now(), c =
|
|
1336
|
+
let s = Date.now(), c = rn(n);
|
|
1366
1337
|
e.notifyActivity({
|
|
1367
1338
|
time: s,
|
|
1368
1339
|
type: "error"
|
|
@@ -1370,15 +1341,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1370
1341
|
let l = n instanceof Error ? n : {
|
|
1371
1342
|
message: c,
|
|
1372
1343
|
name: r == null ? a : r
|
|
1373
|
-
}, u = S(S(S(S({}, e.config.hooks.getPageAttributes()), e.config.hooks.getErrorAttributes()),
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
spanSubtype: rn(a),
|
|
1377
|
-
spanType: M.error
|
|
1344
|
+
}, u = S(S(S(S({}, e.config.hooks.getPageAttributes()), e.config.hooks.getErrorAttributes()), M({
|
|
1345
|
+
outcome: A.error,
|
|
1346
|
+
spanType: j.error
|
|
1378
1347
|
})), {}, {
|
|
1379
|
-
[g.eventId]: h("event"),
|
|
1380
|
-
[g.eventTimestamp]: s,
|
|
1381
|
-
[g.eventType]: "error",
|
|
1382
1348
|
"error.message": c,
|
|
1383
1349
|
"error.handled": !1,
|
|
1384
1350
|
"error.source": a
|
|
@@ -1465,18 +1431,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
|
|
|
1465
1431
|
let c = (n) => {
|
|
1466
1432
|
var r, i;
|
|
1467
1433
|
if (!e.isSampled() || !Number.isFinite(n.duration) || n.duration < t) return;
|
|
1468
|
-
let a = n.entryType === "long-animation-frame", o = a ? n : void 0, s = (r = o == null ? void 0 : o.scripts) == null ? [] : r, c = h("long-task"), l = performance.timeOrigin + n.startTime, u = l + n.duration, d = a ? "long-animation-frame" : "long-task", f = a || (i = n.attribution) == null ? [] : i, p = e.startSpan("browser.long_task", S(S(S(S(S(S(S({}, e.config.hooks.getPageAttributes()),
|
|
1469
|
-
errorType: "none",
|
|
1470
|
-
result: j.success,
|
|
1471
|
-
spanSubtype: d,
|
|
1472
|
-
spanType: M.longtask
|
|
1473
|
-
})), V(o == null ? void 0 : o.blockingDuration) === void 0 ? {} : { [g.longTaskBlockingDuration]: o.blockingDuration }), {}, {
|
|
1434
|
+
let a = n.entryType === "long-animation-frame", o = a ? n : void 0, s = (r = o == null ? void 0 : o.scripts) == null ? [] : r, c = h("long-task"), l = performance.timeOrigin + n.startTime, u = l + n.duration, d = a ? "long-animation-frame" : "long-task", f = a || (i = n.attribution) == null ? [] : i, p = e.startSpan("browser.long_task", S(S(S(S(S(S(S({}, e.config.hooks.getPageAttributes()), M({ spanType: j.longTask })), V(o == null ? void 0 : o.blockingDuration) === void 0 ? {} : { [g.longTaskBlockingDuration]: o.blockingDuration }), {}, {
|
|
1474
1435
|
[g.longTaskDuration]: n.duration,
|
|
1475
1436
|
[g.longTaskEntryType]: d,
|
|
1476
1437
|
[g.longTaskId]: c,
|
|
1477
|
-
[g.eventId]: h("event"),
|
|
1478
|
-
[g.eventTimestamp]: l,
|
|
1479
|
-
[g.eventType]: "long_task",
|
|
1480
1438
|
"long_task.name": n.name
|
|
1481
1439
|
}, V(o == null ? void 0 : o.firstUIEventTimestamp) === void 0 ? {} : { "long_task.first_ui_event_timestamp": o.firstUIEventTimestamp }), V(o == null ? void 0 : o.renderStart) === void 0 ? {} : { "long_task.render_start": o.renderStart }), V(o == null ? void 0 : o.styleAndLayoutStart) === void 0 ? {} : { "long_task.style_and_layout_start": o.styleAndLayoutStart }), o ? { [g.longTaskStartTime]: o.startTime } : {}), { startTime: l });
|
|
1482
1440
|
s.forEach((t) => {
|
|
@@ -1567,7 +1525,7 @@ function vn(e, t) {
|
|
|
1567
1525
|
}
|
|
1568
1526
|
//#endregion
|
|
1569
1527
|
//#region src/plugins/page-view.ts
|
|
1570
|
-
var yn = ["stopLoadingTime"], bn = new Set(
|
|
1528
|
+
var yn = ["stopLoadingTime"], bn = new Set(Object.values(g)), xn = () => typeof location > "u" ? "" : location.href, Sn = () => {
|
|
1571
1529
|
if (typeof performance > "u") return {};
|
|
1572
1530
|
let e = performance.getEntriesByType("navigation")[0];
|
|
1573
1531
|
if (!e) return {};
|
|
@@ -1601,10 +1559,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1601
1559
|
if (typeof window > "u") return;
|
|
1602
1560
|
let n, r, i, a = (e = Date.now()) => t.setView({}, e), o = (e, n, r = Date.now(), i) => {
|
|
1603
1561
|
e.version += 1, t.startSpan("browser.view", S(S(S(S(S({}, t.config.hooks.getPageAttributes()), e.attributes), e.snapshotAttributes), {}, {
|
|
1604
|
-
[g.
|
|
1605
|
-
[g.eventPhase]: n,
|
|
1606
|
-
[g.eventTimestamp]: r,
|
|
1607
|
-
[g.eventType]: "view",
|
|
1562
|
+
[g.viewPhase]: n,
|
|
1608
1563
|
[g.viewStartedAt]: e.startedAt,
|
|
1609
1564
|
[g.viewVersion]: e.version
|
|
1610
1565
|
}, i ? { "view.end_reason": i } : {}), e.loadingTime === void 0 ? {} : {
|
|
@@ -1651,7 +1606,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1651
1606
|
};
|
|
1652
1607
|
window.addEventListener("load", t, { once: !0 }), s = () => window.removeEventListener("load", t);
|
|
1653
1608
|
}
|
|
1654
|
-
let p =
|
|
1609
|
+
let p = pt(t, e.startedAt, (t) => {
|
|
1655
1610
|
r = !0, t.hadActivity && (i = Math.max(0, t.endTime - e.startedAt)), d();
|
|
1656
1611
|
}), m = () => {
|
|
1657
1612
|
var t;
|
|
@@ -1684,18 +1639,14 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1684
1639
|
loadingType: i,
|
|
1685
1640
|
name: m,
|
|
1686
1641
|
rawUrl: f,
|
|
1687
|
-
snapshotAttributes: S(S(S(S(S({}, _), t.config.hooks.getPageAttributes()), w),
|
|
1688
|
-
errorType: "none",
|
|
1689
|
-
spanSubtype: x ? "navigate" : r,
|
|
1690
|
-
spanType: x ? M.document : M.route
|
|
1691
|
-
})), {}, {
|
|
1642
|
+
snapshotAttributes: S(S(S(S(S({}, _), t.config.hooks.getPageAttributes()), w), M({ spanType: j.view })), {}, {
|
|
1692
1643
|
[g.viewId]: v,
|
|
1693
1644
|
[g.viewName]: m,
|
|
1694
1645
|
[g.viewUrl]: y,
|
|
1695
1646
|
[g.viewUrlPathGroup]: p,
|
|
1696
1647
|
[g.viewLoadingType]: i,
|
|
1697
1648
|
"url.previous": b,
|
|
1698
|
-
|
|
1649
|
+
[g.viewSource]: r
|
|
1699
1650
|
}, x ? { "document.referrer": t.config.hooks.redactUrl(document.referrer || "") } : {}),
|
|
1700
1651
|
startedAt: C,
|
|
1701
1652
|
url: y,
|
|
@@ -1766,27 +1717,27 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1766
1717
|
}
|
|
1767
1718
|
}
|
|
1768
1719
|
};
|
|
1769
|
-
}, Dn = 5e3,
|
|
1720
|
+
}, Dn = 5e3, Y = (e) => typeof e == "number" && Number.isFinite(e) && e > 0, On = (e, t, n, r) => ({
|
|
1770
1721
|
expiresAt: Math.min(t + n, t + r),
|
|
1771
1722
|
id: e,
|
|
1772
1723
|
startedAt: t,
|
|
1773
1724
|
status: "active"
|
|
1774
|
-
}),
|
|
1725
|
+
}), X = (e, t, n) => {
|
|
1775
1726
|
if (t >= e.startedAt + n) return "maxLifetime";
|
|
1776
1727
|
if (t >= e.expiresAt) return "inactivity";
|
|
1777
|
-
},
|
|
1728
|
+
}, kn = (e, t, n, r) => S(S({}, e), {}, { expiresAt: Math.min(t + n, e.startedAt + r) }), An = (e, t, n) => {
|
|
1778
1729
|
if (!e) return null;
|
|
1779
1730
|
try {
|
|
1780
1731
|
let r = JSON.parse(e);
|
|
1781
|
-
if (r.status === "active" && typeof r.id == "string" && r.id.length > 0 &&
|
|
1732
|
+
if (r.status === "active" && typeof r.id == "string" && r.id.length > 0 && Y(r.startedAt) && r.startedAt <= t + Dn && Y(r.expiresAt) && r.expiresAt >= r.startedAt && r.expiresAt <= r.startedAt + n || r.status === "expired" && typeof r.previousId == "string" && r.previousId.length > 0 && (r.reason === "inactivity" || r.reason === "maxLifetime") && Y(r.expiredAt) && r.expiredAt <= t + Dn) return r;
|
|
1782
1733
|
} catch (e) {}
|
|
1783
1734
|
return null;
|
|
1784
|
-
},
|
|
1735
|
+
}, jn = 900 * 1e3, Z = 14400 * 1e3, Mn = 1e3, Nn = 6e4, Pn = [
|
|
1785
1736
|
"click",
|
|
1786
1737
|
"keydown",
|
|
1787
1738
|
"scroll",
|
|
1788
1739
|
"touchstart"
|
|
1789
|
-
],
|
|
1740
|
+
], Fn = /* @__PURE__ */ new Map(), In = (e) => {
|
|
1790
1741
|
let t = typeof window < "u", n = () => {
|
|
1791
1742
|
var n;
|
|
1792
1743
|
if (t) try {
|
|
@@ -1794,21 +1745,21 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1794
1745
|
} catch (e) {
|
|
1795
1746
|
t = !1;
|
|
1796
1747
|
}
|
|
1797
|
-
return (n =
|
|
1748
|
+
return (n = Fn.get(e)) == null ? null : n;
|
|
1798
1749
|
};
|
|
1799
1750
|
return n(), {
|
|
1800
1751
|
isLocalStorage: () => t,
|
|
1801
1752
|
read: n,
|
|
1802
1753
|
write: (n) => {
|
|
1803
1754
|
let r = JSON.stringify(n);
|
|
1804
|
-
if (
|
|
1755
|
+
if (Fn.set(e, r), t) try {
|
|
1805
1756
|
window.localStorage.setItem(e, r);
|
|
1806
1757
|
} catch (e) {
|
|
1807
1758
|
t = !1;
|
|
1808
1759
|
}
|
|
1809
1760
|
}
|
|
1810
1761
|
};
|
|
1811
|
-
},
|
|
1762
|
+
}, Ln = (e, t) => {
|
|
1812
1763
|
let n = "";
|
|
1813
1764
|
try {
|
|
1814
1765
|
n = new URL(e).host;
|
|
@@ -1816,15 +1767,9 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1816
1767
|
n = e;
|
|
1817
1768
|
}
|
|
1818
1769
|
return `bk_ot_session__${m(`${t}\0${n || "default"}`)}`;
|
|
1819
|
-
},
|
|
1820
|
-
e.startSpan("browser.session", S(S(S({}, e.config.hooks.getPageAttributes()),
|
|
1821
|
-
|
|
1822
|
-
spanType: M.session
|
|
1823
|
-
})), {}, {
|
|
1824
|
-
[g.eventId]: h("event"),
|
|
1825
|
-
[g.eventPhase]: t,
|
|
1826
|
-
[g.eventTimestamp]: i,
|
|
1827
|
-
[g.eventType]: "session",
|
|
1770
|
+
}, Rn = (e, t, n, r, i, a, o) => {
|
|
1771
|
+
e.startSpan("browser.session", S(S(S({}, e.config.hooks.getPageAttributes()), M({ spanType: j.session })), {}, {
|
|
1772
|
+
[g.sessionPhase]: t,
|
|
1828
1773
|
[g.sessionHasReplay]: !1,
|
|
1829
1774
|
[g.sessionId]: n,
|
|
1830
1775
|
[g.sessionStartTime]: r,
|
|
@@ -1834,7 +1779,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1834
1779
|
contextTime: i,
|
|
1835
1780
|
startTime: i
|
|
1836
1781
|
}).end(i);
|
|
1837
|
-
},
|
|
1782
|
+
}, zn = (e = {}) => {
|
|
1838
1783
|
let t = [];
|
|
1839
1784
|
return {
|
|
1840
1785
|
name: "session",
|
|
@@ -1850,7 +1795,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1850
1795
|
}, e);
|
|
1851
1796
|
return;
|
|
1852
1797
|
}
|
|
1853
|
-
let i = (r = e.storageKey) == null ?
|
|
1798
|
+
let i = (r = e.storageKey) == null ? Ln(n.config.transport.endpoint, n.config.application.name) : r, a = In(i), o = typeof performance < "u" && Number.isFinite(performance.timeOrigin) ? performance.timeOrigin : Date.now(), s, c, l, u = (e = Date.now()) => An(a.read(), e, Z), d = () => {
|
|
1854
1799
|
l !== void 0 && (clearTimeout(l), l = void 0);
|
|
1855
1800
|
}, f = (e, t = Date.now()) => {
|
|
1856
1801
|
var r;
|
|
@@ -1860,7 +1805,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1860
1805
|
id: i,
|
|
1861
1806
|
reason: e,
|
|
1862
1807
|
type: "expired"
|
|
1863
|
-
}),
|
|
1808
|
+
}), Rn(n, "end", i, (r = c) == null ? t : r, t, e), d(), s = void 0, c = void 0, n.setRuntimeAttributes({
|
|
1864
1809
|
[g.sessionHasReplay]: void 0,
|
|
1865
1810
|
[g.sessionId]: void 0,
|
|
1866
1811
|
[g.sessionStartTime]: void 0,
|
|
@@ -1880,7 +1825,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1880
1825
|
f("external", e);
|
|
1881
1826
|
return;
|
|
1882
1827
|
}
|
|
1883
|
-
let n =
|
|
1828
|
+
let n = X(t, e, Z);
|
|
1884
1829
|
if (!n) {
|
|
1885
1830
|
m(t);
|
|
1886
1831
|
return;
|
|
@@ -1894,7 +1839,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1894
1839
|
a.write(r), f(n, e);
|
|
1895
1840
|
}, m = (e) => {
|
|
1896
1841
|
d();
|
|
1897
|
-
let t = Math.min(e.expiresAt, e.startedAt +
|
|
1842
|
+
let t = Math.min(e.expiresAt, e.startedAt + Z);
|
|
1898
1843
|
l = setTimeout(p, Math.max(0, t - Date.now()));
|
|
1899
1844
|
}, _ = (e, t) => {
|
|
1900
1845
|
let r = e.id !== s;
|
|
@@ -1912,51 +1857,51 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1912
1857
|
});
|
|
1913
1858
|
}, v = (e = !1) => {
|
|
1914
1859
|
let t = Date.now(), r = u(t);
|
|
1915
|
-
if ((r == null ? void 0 : r.status) === "active" && !
|
|
1916
|
-
let e =
|
|
1860
|
+
if ((r == null ? void 0 : r.status) === "active" && !X(r, t, Z)) {
|
|
1861
|
+
let e = kn(r, t, jn, Z);
|
|
1917
1862
|
a.write(e), _(e, s ? void 0 : { reason: "shared" });
|
|
1918
1863
|
return;
|
|
1919
1864
|
}
|
|
1920
|
-
let i = (r == null ? void 0 : r.status) === "expired" ? r.previousId : r == null ? void 0 : r.id, o = (r == null ? void 0 : r.status) === "expired" ? r.reason : r ?
|
|
1865
|
+
let i = (r == null ? void 0 : r.status) === "expired" ? r.previousId : r == null ? void 0 : r.id, o = (r == null ? void 0 : r.status) === "expired" ? r.reason : r ? X(r, t, Z) : e ? "init" : void 0, c = On(h("session"), t, jn, Z);
|
|
1921
1866
|
a.write(c), _(c, {
|
|
1922
1867
|
previousId: i,
|
|
1923
1868
|
reason: o == null ? "init" : o
|
|
1924
1869
|
});
|
|
1925
1870
|
let l = o == null ? "init" : o;
|
|
1926
|
-
|
|
1871
|
+
Rn(n, l === "init" ? "start" : "rotate", c.id, c.startedAt, c.startedAt, l, i);
|
|
1927
1872
|
}, y = () => {
|
|
1928
1873
|
if (!s) return;
|
|
1929
1874
|
let e = Date.now(), t = u(e);
|
|
1930
|
-
if ((t == null ? void 0 : t.status) !== "active" || t.id !== s ||
|
|
1875
|
+
if ((t == null ? void 0 : t.status) !== "active" || t.id !== s || X(t, e, Z)) {
|
|
1931
1876
|
p();
|
|
1932
1877
|
return;
|
|
1933
1878
|
}
|
|
1934
|
-
let n =
|
|
1879
|
+
let n = kn(t, e, jn, Z);
|
|
1935
1880
|
a.write(n), _(n);
|
|
1936
1881
|
};
|
|
1937
1882
|
v(!0);
|
|
1938
1883
|
let b = 0, x = () => {
|
|
1939
1884
|
let e = Date.now();
|
|
1940
|
-
e - b <
|
|
1885
|
+
e - b < Mn || (b = e, v());
|
|
1941
1886
|
}, S = {
|
|
1942
1887
|
capture: !0,
|
|
1943
1888
|
passive: !0
|
|
1944
1889
|
};
|
|
1945
|
-
|
|
1946
|
-
|
|
1890
|
+
Pn.forEach((e) => window.addEventListener(e, x, S)), t.push(() => {
|
|
1891
|
+
Pn.forEach((e) => window.removeEventListener(e, x, S));
|
|
1947
1892
|
});
|
|
1948
1893
|
let C = () => {
|
|
1949
1894
|
document.visibilityState === "visible" && y();
|
|
1950
1895
|
};
|
|
1951
1896
|
document.addEventListener("visibilitychange", C);
|
|
1952
|
-
let w = window.setInterval(C,
|
|
1897
|
+
let w = window.setInterval(C, Nn);
|
|
1953
1898
|
t.push(() => {
|
|
1954
1899
|
document.removeEventListener("visibilitychange", C), window.clearInterval(w);
|
|
1955
1900
|
});
|
|
1956
1901
|
let T = (e) => {
|
|
1957
1902
|
if (!a.isLocalStorage() || e.storageArea !== window.localStorage || e.key !== i) return;
|
|
1958
|
-
let t = Date.now(), n =
|
|
1959
|
-
if ((n == null ? void 0 : n.status) === "active" && n.id === s && !
|
|
1903
|
+
let t = Date.now(), n = An(e.newValue, t, Z);
|
|
1904
|
+
if ((n == null ? void 0 : n.status) === "active" && n.id === s && !X(n, t, Z)) {
|
|
1960
1905
|
m(n);
|
|
1961
1906
|
return;
|
|
1962
1907
|
}
|
|
@@ -1968,54 +1913,47 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
1968
1913
|
for (var e; t.length;) (e = t.pop()) == null || e();
|
|
1969
1914
|
}
|
|
1970
1915
|
};
|
|
1971
|
-
},
|
|
1972
|
-
if (typeof performance > "u") return Vn;
|
|
1973
|
-
let e = performance.getEntriesByType("navigation")[0];
|
|
1974
|
-
return qn(e == null ? void 0 : e.type);
|
|
1975
|
-
}, Yn = (e, t) => {
|
|
1916
|
+
}, Bn = 10, Vn = 6e4, Hn = 5e3, Un = 1e3, Wn = (e, t) => !!t && e === t, Gn = (e, t) => {
|
|
1976
1917
|
let [n, r] = e === "CLS" ? [.1, .25] : [200, 500];
|
|
1977
1918
|
return t <= n ? "good" : t <= r ? "needs-improvement" : "poor";
|
|
1978
|
-
},
|
|
1919
|
+
}, Kn = (e) => {
|
|
1979
1920
|
var t, n, r;
|
|
1980
1921
|
if (!(typeof Element > "u" || !(e instanceof Element))) return (t = (n = (r = e.getAttribute("data-bk-action-name")) == null ? e.getAttribute("aria-label") : r) == null ? e.getAttribute("name") : n) == null ? e.tagName.toLowerCase() : t;
|
|
1981
|
-
},
|
|
1922
|
+
}, qn = () => {
|
|
1982
1923
|
if (typeof performance > "u") return;
|
|
1983
1924
|
let e = performance.interactionCount;
|
|
1984
1925
|
return typeof e == "number" && Number.isFinite(e) ? e : void 0;
|
|
1985
|
-
},
|
|
1926
|
+
}, Jn = (e, t) => {
|
|
1986
1927
|
var n, r;
|
|
1987
1928
|
let i = (n = t.value) == null ? 0 : n;
|
|
1988
1929
|
if (!(t.hadRecentInput || !Number.isFinite(i))) {
|
|
1989
|
-
if (e.clsWindowStart === void 0 || t.startTime - ((r = e.clsWindowEnd) == null ? t.startTime : r) >=
|
|
1930
|
+
if (e.clsWindowStart === void 0 || t.startTime - ((r = e.clsWindowEnd) == null ? t.startTime : r) >= Un || t.startTime - e.clsWindowStart >= Hn) {
|
|
1990
1931
|
var a;
|
|
1991
|
-
e.clsWindowStart = t.startTime, e.clsWindowValue = i, e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget =
|
|
1932
|
+
e.clsWindowStart = t.startTime, e.clsWindowValue = i, e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Kn((a = t.sources) == null || (a = a[0]) == null ? void 0 : a.node);
|
|
1992
1933
|
} else if (e.clsWindowValue += i, i > e.clsWindowLargestShiftValue) {
|
|
1993
1934
|
var o;
|
|
1994
|
-
e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget =
|
|
1935
|
+
e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Kn((o = t.sources) == null || (o = o[0]) == null ? void 0 : o.node);
|
|
1995
1936
|
}
|
|
1996
1937
|
e.clsWindowEnd = t.startTime, e.clsWindowValue > e.cls && (e.cls = Math.round(e.clsWindowValue * 1e4) / 1e4, e.largestShiftValue = e.clsWindowLargestShiftValue, e.largestShiftTarget = e.clsWindowLargestShiftTarget);
|
|
1997
1938
|
}
|
|
1998
|
-
},
|
|
1939
|
+
}, Yn = (e, t) => {
|
|
1999
1940
|
var n, r;
|
|
2000
1941
|
if (!t.interactionId || !Number.isFinite(t.duration)) return;
|
|
2001
1942
|
e.interactionIdMin = Math.min(e.interactionIdMin, t.interactionId), e.interactionIdMax = Math.max(e.interactionIdMax, t.interactionId);
|
|
2002
1943
|
let i = (n = t.processingStart) == null ? t.startTime : n, a = (r = t.processingEnd) == null ? i : r, o = {
|
|
2003
|
-
duration: Math.min(t.duration,
|
|
1944
|
+
duration: Math.min(t.duration, Vn),
|
|
2004
1945
|
inputDelay: Math.max(0, i - t.startTime),
|
|
2005
1946
|
interactionId: t.interactionId,
|
|
2006
|
-
interactionTarget:
|
|
1947
|
+
interactionTarget: Kn(t.target),
|
|
2007
1948
|
interactionType: t.name,
|
|
2008
1949
|
presentationDelay: Math.max(0, t.startTime + t.duration - a),
|
|
2009
1950
|
processingDuration: Math.max(0, a - i)
|
|
2010
1951
|
}, s = e.inpCandidates.findIndex((e) => e.interactionId === t.interactionId);
|
|
2011
|
-
s >= 0 ? o.duration > e.inpCandidates[s].duration && (e.inpCandidates[s] = o) : e.inpCandidates.push(o), e.inpCandidates.sort((e, t) => t.duration - e.duration).splice(
|
|
2012
|
-
},
|
|
2013
|
-
let t =
|
|
1952
|
+
s >= 0 ? o.duration > e.inpCandidates[s].duration && (e.inpCandidates[s] = o) : e.inpCandidates.push(o), e.inpCandidates.sort((e, t) => t.duration - e.duration).splice(Bn);
|
|
1953
|
+
}, Xn = (e) => {
|
|
1954
|
+
let t = qn(), n = t !== void 0 && e.interactionCountAtStart !== void 0 ? Math.max(0, t - e.interactionCountAtStart) : e.interactionIdMin === Infinity ? 0 : (e.interactionIdMax - e.interactionIdMin) / 7 + 1;
|
|
2014
1955
|
if (e.inpCandidates.length) return e.inpCandidates[Math.min(e.inpCandidates.length - 1, Math.floor(n / 50))];
|
|
2015
|
-
},
|
|
2016
|
-
var n;
|
|
2017
|
-
return { "rum.navigation.type": (n = e.navigationType) == null ? t : n };
|
|
2018
|
-
}, tr = (e, t) => {
|
|
1956
|
+
}, Zn = (e, t) => {
|
|
2019
1957
|
var n;
|
|
2020
1958
|
let r = (n = e.attribution) == null ? {} : n, i = {}, a = (e) => r[e], o = (e, t, n) => {
|
|
2021
1959
|
t != null && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") && (i[e] = typeof t == "string" && n ? n(t) : t);
|
|
@@ -2039,7 +1977,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2039
1977
|
default: break;
|
|
2040
1978
|
}
|
|
2041
1979
|
return i;
|
|
2042
|
-
},
|
|
1980
|
+
}, Qn = () => {
|
|
2043
1981
|
let e, t = !1;
|
|
2044
1982
|
return {
|
|
2045
1983
|
name: "web-vitals",
|
|
@@ -2057,36 +1995,31 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2057
1995
|
return;
|
|
2058
1996
|
}
|
|
2059
1997
|
if (t) return;
|
|
2060
|
-
let { onFCP: a, onLCP: o, onTTFB: s } = r, c =
|
|
1998
|
+
let { onFCP: a, onLCP: o, onTTFB: s } = r, c = (e, t, r, i = r == null ? Date.now() : r) => {
|
|
2061
1999
|
if (!n.isSampled()) return;
|
|
2062
2000
|
let a = e.name.toLowerCase();
|
|
2063
|
-
n.startSpan("browser.web_vital", S(S(S(S(
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
spanSubtype: a,
|
|
2067
|
-
spanType: M.vital
|
|
2001
|
+
n.startSpan("browser.web_vital", S(S(S(S({}, n.config.hooks.getPageAttributes()), t), M({
|
|
2002
|
+
outcome: We(e.rating),
|
|
2003
|
+
spanType: j.vital
|
|
2068
2004
|
})), {}, {
|
|
2069
2005
|
[g.vitalMetric]: a,
|
|
2070
2006
|
[g.vitalValue]: e.value,
|
|
2071
2007
|
[g.vitalRating]: e.rating,
|
|
2072
|
-
[g.eventId]: h("event"),
|
|
2073
|
-
[g.eventTimestamp]: i,
|
|
2074
|
-
[g.eventType]: "vital",
|
|
2075
2008
|
"vital.id": e.id
|
|
2076
|
-
},
|
|
2009
|
+
}, Zn(e, n.config.hooks.redactUrl)), {
|
|
2077
2010
|
contextTime: r,
|
|
2078
2011
|
startTime: i
|
|
2079
2012
|
}).end(i);
|
|
2080
|
-
},
|
|
2013
|
+
}, l = (e) => {
|
|
2081
2014
|
if (t || !Number.isFinite(e.value) || !n.isSampled()) return;
|
|
2082
2015
|
let r = e.entries[0], i = r && typeof performance < "u" ? performance.timeOrigin + r.startTime : void 0;
|
|
2083
|
-
|
|
2084
|
-
}, d, f, p
|
|
2085
|
-
|
|
2086
|
-
},
|
|
2087
|
-
let e =
|
|
2016
|
+
c(e, i === void 0 ? n.getRuntimeAttributes() : n.getRuntimeAttributesAt(i), i);
|
|
2017
|
+
}, u, d, f, p = (e, t, n) => {
|
|
2018
|
+
c(e, t, n, Date.now());
|
|
2019
|
+
}, m = () => {
|
|
2020
|
+
let e = u;
|
|
2088
2021
|
if (!e || !n.isSampled()) return;
|
|
2089
|
-
|
|
2022
|
+
p({
|
|
2090
2023
|
attribution: {
|
|
2091
2024
|
largestShiftTarget: e.largestShiftTarget,
|
|
2092
2025
|
largestShiftValue: e.largestShiftValue
|
|
@@ -2094,12 +2027,11 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2094
2027
|
entries: [],
|
|
2095
2028
|
id: h("vital"),
|
|
2096
2029
|
name: "CLS",
|
|
2097
|
-
|
|
2098
|
-
rating: Yn("CLS", e.cls),
|
|
2030
|
+
rating: Gn("CLS", e.cls),
|
|
2099
2031
|
value: e.cls
|
|
2100
2032
|
}, e.runtimeAttributes, e.startedAt);
|
|
2101
|
-
let t =
|
|
2102
|
-
t &&
|
|
2033
|
+
let t = Xn(e);
|
|
2034
|
+
t && p({
|
|
2103
2035
|
attribution: {
|
|
2104
2036
|
inputDelay: t.inputDelay,
|
|
2105
2037
|
interactionTarget: t.interactionTarget,
|
|
@@ -2110,14 +2042,13 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2110
2042
|
entries: [],
|
|
2111
2043
|
id: h("vital"),
|
|
2112
2044
|
name: "INP",
|
|
2113
|
-
|
|
2114
|
-
rating: Yn("INP", t.duration),
|
|
2045
|
+
rating: Gn("INP", t.duration),
|
|
2115
2046
|
value: t.duration
|
|
2116
2047
|
}, e.runtimeAttributes, e.startedAt);
|
|
2117
|
-
},
|
|
2048
|
+
}, _ = n.onViewChange((e) => {
|
|
2118
2049
|
var t;
|
|
2119
|
-
let r =
|
|
2120
|
-
if (r &&
|
|
2050
|
+
let r = u;
|
|
2051
|
+
if (r && Wn(r.id, e.id)) {
|
|
2121
2052
|
r.runtimeAttributes = S(S({}, r.runtimeAttributes), {}, {
|
|
2122
2053
|
[g.viewId]: e.id,
|
|
2123
2054
|
[g.viewName]: e.name,
|
|
@@ -2126,11 +2057,11 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2126
2057
|
});
|
|
2127
2058
|
return;
|
|
2128
2059
|
}
|
|
2129
|
-
|
|
2060
|
+
m(), u = e.id ? {
|
|
2130
2061
|
cls: 0,
|
|
2131
2062
|
clsWindowLargestShiftValue: 0,
|
|
2132
2063
|
clsWindowValue: 0,
|
|
2133
|
-
interactionCountAtStart:
|
|
2064
|
+
interactionCountAtStart: qn(),
|
|
2134
2065
|
interactionIdMax: 0,
|
|
2135
2066
|
interactionIdMin: Infinity,
|
|
2136
2067
|
inpCandidates: [],
|
|
@@ -2141,22 +2072,22 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2141
2072
|
} : void 0;
|
|
2142
2073
|
});
|
|
2143
2074
|
if (typeof PerformanceObserver < "u") {
|
|
2144
|
-
var
|
|
2145
|
-
(
|
|
2146
|
-
if (
|
|
2147
|
-
}),
|
|
2075
|
+
var v, y;
|
|
2076
|
+
(v = PerformanceObserver.supportedEntryTypes) != null && v.includes("layout-shift") && (f = new PerformanceObserver((e) => {
|
|
2077
|
+
if (u) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < u.startedAt || Jn(u, t);
|
|
2078
|
+
}), f.observe({
|
|
2148
2079
|
buffered: !0,
|
|
2149
2080
|
type: "layout-shift"
|
|
2150
|
-
})), (
|
|
2151
|
-
if (
|
|
2152
|
-
}),
|
|
2081
|
+
})), (y = PerformanceObserver.supportedEntryTypes) != null && y.includes("event") && (d = new PerformanceObserver((e) => {
|
|
2082
|
+
if (u) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < u.startedAt || !t.interactionId || !Number.isFinite(t.duration) || Yn(u, t);
|
|
2083
|
+
}), d.observe({
|
|
2153
2084
|
buffered: !0,
|
|
2154
2085
|
durationThreshold: 40,
|
|
2155
2086
|
type: "event"
|
|
2156
2087
|
}));
|
|
2157
2088
|
}
|
|
2158
|
-
a(
|
|
2159
|
-
|
|
2089
|
+
a(l), o(l), s(l), e = () => {
|
|
2090
|
+
m(), u = void 0, _(), f == null || f.disconnect(), d == null || d.disconnect();
|
|
2160
2091
|
};
|
|
2161
2092
|
})();
|
|
2162
2093
|
},
|
|
@@ -2164,7 +2095,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2164
2095
|
t = !0, e == null || e(), e = void 0;
|
|
2165
2096
|
}
|
|
2166
2097
|
};
|
|
2167
|
-
},
|
|
2098
|
+
}, $n = (e, t) => {
|
|
2168
2099
|
let n = {
|
|
2169
2100
|
"network.protocol.name": "websocket",
|
|
2170
2101
|
"url.full": t(e)
|
|
@@ -2174,20 +2105,16 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2174
2105
|
n["server.address"] = t.hostname, t.port && (n["server.port"] = Number(t.port)), n["url.scheme"] = t.protocol.replace(":", "");
|
|
2175
2106
|
} catch (e) {}
|
|
2176
2107
|
return n;
|
|
2177
|
-
},
|
|
2178
|
-
let a = h("websocket"), o =
|
|
2108
|
+
}, er = (t, n, r, i) => {
|
|
2109
|
+
let a = h("websocket"), o = $n(r, n.config.hooks.redactUrl), s = !1, c = (t, r, s = {}) => {
|
|
2179
2110
|
if (i() || !n.isSampled()) return;
|
|
2180
2111
|
let c = t === "error";
|
|
2181
|
-
n.startSpan("browser.websocket", S(S(S({}, o),
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
spanType: M.websocket
|
|
2112
|
+
n.startSpan("browser.websocket", S(S(S({}, o), M({
|
|
2113
|
+
outcome: c ? A.error : A.success,
|
|
2114
|
+
outcomeReason: c ? "network" : void 0,
|
|
2115
|
+
spanType: j.websocket
|
|
2186
2116
|
})), {}, {
|
|
2187
|
-
[g.
|
|
2188
|
-
[g.eventPhase]: t,
|
|
2189
|
-
[g.eventTimestamp]: r,
|
|
2190
|
-
[g.eventType]: "websocket",
|
|
2117
|
+
[g.websocketPhase]: t,
|
|
2191
2118
|
"websocket.connection.id": a
|
|
2192
2119
|
}, s), {
|
|
2193
2120
|
kind: e.CLIENT,
|
|
@@ -2205,7 +2132,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2205
2132
|
"websocket.close.was_clean": e.wasClean
|
|
2206
2133
|
});
|
|
2207
2134
|
});
|
|
2208
|
-
},
|
|
2135
|
+
}, tr = () => {
|
|
2209
2136
|
let e, t, n = !1;
|
|
2210
2137
|
return {
|
|
2211
2138
|
name: "websocket",
|
|
@@ -2216,25 +2143,29 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2216
2143
|
let a = Reflect.construct(e, t, i);
|
|
2217
2144
|
if (n || !r.isSampled()) return a;
|
|
2218
2145
|
let o = t[0] == null ? "" : String(t[0]);
|
|
2219
|
-
return o && !
|
|
2146
|
+
return o && !O(r.config, o) && er(a, r, o, () => n), a;
|
|
2220
2147
|
} }), window.WebSocket = t;
|
|
2221
2148
|
},
|
|
2222
2149
|
shutdown() {
|
|
2223
2150
|
n = !0, typeof window < "u" && e && window.WebSocket === t && (window.WebSocket = e), t = void 0, e = void 0;
|
|
2224
2151
|
}
|
|
2225
2152
|
};
|
|
2226
|
-
},
|
|
2153
|
+
}, nr = class {
|
|
2227
2154
|
constructor() {
|
|
2228
2155
|
b(this, "listeners", /* @__PURE__ */ new Set()), b(this, "notify", (e) => {
|
|
2229
2156
|
this.listeners.forEach((t) => t(e));
|
|
2230
2157
|
}), b(this, "subscribe", (e) => (this.listeners.add(e), () => this.listeners.delete(e)));
|
|
2231
2158
|
}
|
|
2232
|
-
},
|
|
2159
|
+
}, rr = (e) => {
|
|
2160
|
+
let t = 2166136261;
|
|
2161
|
+
for (let n = 0; n < e.length; n += 1) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
|
|
2162
|
+
return t += t << 13, t ^= t >>> 7, t += t << 3, t ^= t >>> 17, t += t << 5, (t >>> 0) / 4294967296;
|
|
2163
|
+
}, ir = ({ application: e, session: t }, n) => t.sampleRate <= 0 ? !1 : t.sampleRate >= 1 ? !0 : rr(`${e.name}\0${n}`) < t.sampleRate, ar = (e) => ({
|
|
2233
2164
|
url: e.endpoint,
|
|
2234
2165
|
headers: e.headers,
|
|
2235
2166
|
concurrencyLimit: e.concurrencyLimit,
|
|
2236
2167
|
timeoutMillis: e.timeoutMillis
|
|
2237
|
-
}),
|
|
2168
|
+
}), or = "bk-rum", sr = class {
|
|
2238
2169
|
constructor(e) {
|
|
2239
2170
|
this.isSampled = e;
|
|
2240
2171
|
}
|
|
@@ -2244,7 +2175,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2244
2175
|
toString() {
|
|
2245
2176
|
return "RumSessionSampler";
|
|
2246
2177
|
}
|
|
2247
|
-
}, Q,
|
|
2178
|
+
}, Q, cr = () => {
|
|
2248
2179
|
if (Q) Q.users += 1;
|
|
2249
2180
|
else {
|
|
2250
2181
|
let e = new a().enable(), t = n.setGlobalContextManager(e);
|
|
@@ -2259,28 +2190,28 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2259
2190
|
return () => {
|
|
2260
2191
|
e || !Q || (e = !0, --Q.users, !(Q.users > 0) && (Q.ownsContext && n.disable(), Q.ownsPropagator && r.disable(), Q = void 0));
|
|
2261
2192
|
};
|
|
2262
|
-
},
|
|
2193
|
+
}, lr = (e, t) => t ? new Proxy(e, { get(e, t, n) {
|
|
2263
2194
|
if (t === "export") return (t, n) => {
|
|
2264
2195
|
var r;
|
|
2265
2196
|
return (r = globalThis.console) == null || r.log("[bk-ot][rum]", t), e.export(t, n);
|
|
2266
2197
|
};
|
|
2267
2198
|
let r = Reflect.get(e, t, n);
|
|
2268
2199
|
return typeof r == "function" ? r.bind(e) : r;
|
|
2269
|
-
} }) : e,
|
|
2270
|
-
|
|
2200
|
+
} }) : e, ur = (e) => [$t(e.tracking.request)], dr = (e) => [
|
|
2201
|
+
zn(e.session),
|
|
2271
2202
|
...$(e.tracking.device, !0, ce),
|
|
2272
|
-
|
|
2203
|
+
dt(),
|
|
2273
2204
|
En(),
|
|
2274
|
-
|
|
2275
|
-
],
|
|
2205
|
+
Lt(fr(e.tracking.resource, !0))
|
|
2206
|
+
], fr = (e, t) => e === void 0 ? t : e !== !1, pr = (e) => typeof e == "object" && e ? e : void 0, $ = (e, t, n) => fr(e, t) ? [n(pr(e))] : [], mr = (e) => [
|
|
2276
2207
|
...$(e.error, !0, on),
|
|
2277
|
-
...$(e.webVitals, !0,
|
|
2278
|
-
...$(e.blankScreen, !0,
|
|
2279
|
-
...$(e.action, !0,
|
|
2280
|
-
...$(e.websocket, !1,
|
|
2208
|
+
...$(e.webVitals, !0, Qn),
|
|
2209
|
+
...$(e.blankScreen, !0, Et),
|
|
2210
|
+
...$(e.action, !0, ct),
|
|
2211
|
+
...$(e.websocket, !1, tr),
|
|
2281
2212
|
...$(e.longTask, !1, dn),
|
|
2282
|
-
...$(e.cspViolation, !1,
|
|
2283
|
-
],
|
|
2213
|
+
...$(e.cspViolation, !1, nn)
|
|
2214
|
+
], hr = class {
|
|
2284
2215
|
assertBeforeStart(e) {
|
|
2285
2216
|
if (this.phase !== "idle") throw Error(`[bk-ot] ${e}() must be called before start(); set autoStart: false before registration.`);
|
|
2286
2217
|
}
|
|
@@ -2311,19 +2242,19 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2311
2242
|
createPluginManager() {
|
|
2312
2243
|
var e;
|
|
2313
2244
|
return new Ce([
|
|
2314
|
-
...
|
|
2315
|
-
...
|
|
2316
|
-
...
|
|
2245
|
+
...dr(this.config),
|
|
2246
|
+
...ur(this.config),
|
|
2247
|
+
...mr(this.config.tracking),
|
|
2317
2248
|
...(e = this.config.extensions.plugins) == null ? [] : e
|
|
2318
2249
|
]);
|
|
2319
2250
|
}
|
|
2320
2251
|
constructor(n) {
|
|
2321
2252
|
var r = this;
|
|
2322
|
-
b(this, "activityObserver", new
|
|
2253
|
+
b(this, "activityObserver", new nr()), b(this, "flushProviders", E(function* () {
|
|
2323
2254
|
yield r.tracerProvider.forceFlush();
|
|
2324
2255
|
})), b(this, "phase", "idle"), b(this, "pluginManager", void 0), b(this, "registeredInstrumentations", void 0), b(this, "releaseOtelGlobals", void 0), b(this, "runtimeContext", void 0), b(this, "sampled", !1), b(this, "startCollection", E(function* () {
|
|
2325
2256
|
if (r.pluginManager || !r.config.enabled || r.config.trackingConsent !== "granted") return;
|
|
2326
|
-
r.releaseOtelGlobals =
|
|
2257
|
+
r.releaseOtelGlobals = cr();
|
|
2327
2258
|
let e = r.createPluginManager();
|
|
2328
2259
|
r.pluginManager = e;
|
|
2329
2260
|
try {
|
|
@@ -2361,17 +2292,10 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2361
2292
|
}), b(this, "reportAction", ({ attributes: e = {}, name: t }) => {
|
|
2362
2293
|
if (!this.isSampled()) return;
|
|
2363
2294
|
let n = h("action"), r = Date.now();
|
|
2364
|
-
this.startSpan("action.custom", S(S(S(S({}, this.config.hooks.getPageAttributes()), e),
|
|
2365
|
-
errorType: "none",
|
|
2366
|
-
spanSubtype: "custom",
|
|
2367
|
-
spanType: M.action
|
|
2368
|
-
})), {}, {
|
|
2295
|
+
this.startSpan("action.custom", S(S(S(S({}, this.config.hooks.getPageAttributes()), e), M({ spanType: j.action })), {}, {
|
|
2369
2296
|
[g.actionId]: n,
|
|
2370
2297
|
[g.actionName]: t,
|
|
2371
|
-
[g.actionType]: "custom"
|
|
2372
|
-
[g.eventId]: h("event"),
|
|
2373
|
-
[g.eventTimestamp]: r,
|
|
2374
|
-
[g.eventType]: "action"
|
|
2298
|
+
[g.actionType]: "custom"
|
|
2375
2299
|
}), { startTime: r }).end(r);
|
|
2376
2300
|
}), b(this, "reportCustomEvent", ({ attributes: e = {}, error: n, name: r }) => {
|
|
2377
2301
|
if (!this.isSampled()) {
|
|
@@ -2381,28 +2305,21 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2381
2305
|
}
|
|
2382
2306
|
return;
|
|
2383
2307
|
}
|
|
2384
|
-
let a = Date.now(), o = this.startSpan(`custom.${r}`, S(S(S(S(
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
spanType: M.custom
|
|
2389
|
-
})), e), {}, {
|
|
2390
|
-
[g.eventId]: h("event"),
|
|
2391
|
-
[g.eventTimestamp]: a,
|
|
2392
|
-
[g.eventType]: "custom",
|
|
2393
|
-
"rum.custom.name": r
|
|
2394
|
-
}), { startTime: a });
|
|
2308
|
+
let a = Date.now(), o = this.startSpan(`custom.${r}`, S(S(S(S({}, this.config.hooks.getPageAttributes()), this.config.hooks.getCustomAttributes()), e), M({
|
|
2309
|
+
outcome: n ? A.error : A.success,
|
|
2310
|
+
spanType: j.custom
|
|
2311
|
+
})), { startTime: a });
|
|
2395
2312
|
n && (o.recordException(n), o.setStatus({
|
|
2396
2313
|
code: t.ERROR,
|
|
2397
2314
|
message: n.message
|
|
2398
2315
|
})), o.end(a);
|
|
2399
2316
|
}), b(this, "setRuntimeAttributes", (e, t) => {
|
|
2400
|
-
let n = S({}, e);
|
|
2317
|
+
let n = S({}, e), r = t == null ? Date.now() : t;
|
|
2401
2318
|
if (g.sessionId in e) {
|
|
2402
2319
|
let t = e[g.sessionId];
|
|
2403
|
-
this.sampled = this.config.enabled && typeof t == "string" && t.length > 0 ?
|
|
2320
|
+
this.sampled = this.config.enabled && typeof t == "string" && t.length > 0 ? ir(this.config, t) : !1, this.runtimeContext.setSessionSampled(this.sampled, r);
|
|
2404
2321
|
}
|
|
2405
|
-
this.runtimeContext.setAttributes(n,
|
|
2322
|
+
this.runtimeContext.setAttributes(n, r);
|
|
2406
2323
|
}), b(this, "setTrackingConsent", function() {
|
|
2407
2324
|
var e = E(function* (e) {
|
|
2408
2325
|
r.config.trackingConsent !== e && (r.config.trackingConsent = e, r.phase === "started" && (e === "granted" ? yield r.startCollection() : yield r.stopCollection(!0)));
|
|
@@ -2458,8 +2375,9 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2458
2375
|
}
|
|
2459
2376
|
})), b(this, "startSpan", (t, n = {}, r) => {
|
|
2460
2377
|
var i, a;
|
|
2461
|
-
|
|
2462
|
-
|
|
2378
|
+
let o = (i = r == null ? void 0 : r.contextTime) == null ? typeof (r == null ? void 0 : r.startTime) == "number" ? r.startTime : void 0 : i;
|
|
2379
|
+
if (!this.isSampled() || o !== void 0 && !this.runtimeContext.isSessionSampledAt(o)) return this.tracer.startSpan(t);
|
|
2380
|
+
let s = o === void 0 ? this.getRuntimeAttributes() : this.runtimeContext.getAttributesAt(o);
|
|
2463
2381
|
return this.tracer.startSpan(t, {
|
|
2464
2382
|
kind: (a = r == null ? void 0 : r.kind) == null ? e.INTERNAL : a,
|
|
2465
2383
|
startTime: r == null ? void 0 : r.startTime,
|
|
@@ -2476,20 +2394,20 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
|
|
|
2476
2394
|
}), b(this, "useInstrumentation", (e) => {
|
|
2477
2395
|
var t;
|
|
2478
2396
|
return this.assertBeforeStart("useInstrumentation"), this.config.enabled && ((t = this.config.extensions.instrumentations) == null || t.push(e)), this;
|
|
2479
|
-
}), this.config = ye(n), this.runtimeContext = new
|
|
2397
|
+
}), this.config = ye(n), this.runtimeContext = new Ve({}, this.config.user);
|
|
2480
2398
|
let i = c(this.config.resourceAttributes), a = (() => {
|
|
2481
|
-
let e =
|
|
2482
|
-
return [new
|
|
2399
|
+
let e = lr(new s(ar(this.config.transport)), this.config.debug);
|
|
2400
|
+
return [new ze(this.config.spanProcessor === "simple" ? new d(e) : new l(e, this.config.spanBatch), this.config, () => this.applyRedact(S(S({}, this.runtimeContext.getAttributes()), this.config.hooks.getPageAttributes())))];
|
|
2483
2401
|
})();
|
|
2484
2402
|
this.tracerProvider = new f({
|
|
2485
2403
|
resource: i,
|
|
2486
|
-
sampler: new
|
|
2404
|
+
sampler: new sr(this.isSampled),
|
|
2487
2405
|
spanProcessors: a
|
|
2488
|
-
}), this.tracer = this.tracerProvider.getTracer(
|
|
2406
|
+
}), this.tracer = this.tracerProvider.getTracer(or), this.registeredInstrumentations = [], this.config.autoStart && this.start().catch((e) => {
|
|
2489
2407
|
var t;
|
|
2490
2408
|
(t = globalThis.console) == null || t.warn("[bk-ot] auto start failed:", e);
|
|
2491
2409
|
});
|
|
2492
2410
|
}
|
|
2493
2411
|
};
|
|
2494
2412
|
//#endregion
|
|
2495
|
-
export {
|
|
2413
|
+
export { hr as BkOpenTelemetry, lt as EXCLUDED_ACTIVITY_MUTATIONS_ATTRIBUTE, ze as FilteringSpanProcessor, g as RUM_ATTRIBUTES, A as RUM_SPAN_OUTCOME, j as RUM_SPAN_TYPE, Ve as RumRuntimeContext, M as buildRumSpanAttributes, ct as createActionPlugin, Et as createBlankScreenPlugin, $t as createCommonInstrumentationsPlugin, nn as createCspViolationPlugin, ce as createDevicePlugin, on as createErrorPlugin, dn as createLongTaskPlugin, Se as createPlugin, Lt as createResourcePlugin, zn as createSessionPlugin, tr as createWebSocketPlugin, Qn as createWebVitalsPlugin, ye as resolveConfig };
|