1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | Object.defineProperty(exports, "__esModule", { value: true });
|
7 | var tslib_1 = require("tslib");
|
8 | var TelemetryConstants_1 = require("./TelemetryConstants");
|
9 | var TelemetryUtils_1 = require("./TelemetryUtils");
|
10 | var CryptoUtils_1 = require("../utils/CryptoUtils");
|
11 | var TelemetryEvent = (function () {
|
12 | function TelemetryEvent(eventName, correlationId, eventLabel) {
|
13 | var _a;
|
14 | this.eventId = CryptoUtils_1.CryptoUtils.createNewGuid();
|
15 | this.label = eventLabel;
|
16 | this.event = (_a = {},
|
17 | _a[TelemetryUtils_1.prependEventNamePrefix(TelemetryConstants_1.EVENT_NAME_KEY)] = eventName,
|
18 | _a[TelemetryUtils_1.prependEventNamePrefix(TelemetryConstants_1.ELAPSED_TIME_KEY)] = -1,
|
19 | _a["" + TelemetryConstants_1.TELEMETRY_BLOB_EVENT_NAMES.MsalCorrelationIdConstStrKey] = correlationId,
|
20 | _a);
|
21 | }
|
22 | TelemetryEvent.prototype.setElapsedTime = function (time) {
|
23 | this.event[TelemetryUtils_1.prependEventNamePrefix(TelemetryConstants_1.ELAPSED_TIME_KEY)] = time;
|
24 | };
|
25 | TelemetryEvent.prototype.stop = function () {
|
26 |
|
27 | this.setElapsedTime(+Date.now() - +this.startTimestamp);
|
28 | TelemetryUtils_1.endBrowserPerformanceMeasurement(this.displayName, this.perfStartMark, this.perfEndMark);
|
29 | };
|
30 | TelemetryEvent.prototype.start = function () {
|
31 | this.startTimestamp = Date.now();
|
32 | this.event[TelemetryUtils_1.prependEventNamePrefix(TelemetryConstants_1.START_TIME_KEY)] = this.startTimestamp;
|
33 | TelemetryUtils_1.startBrowserPerformanceMeasurement(this.perfStartMark);
|
34 | };
|
35 | Object.defineProperty(TelemetryEvent.prototype, "telemetryCorrelationId", {
|
36 | get: function () {
|
37 | return this.event["" + TelemetryConstants_1.TELEMETRY_BLOB_EVENT_NAMES.MsalCorrelationIdConstStrKey];
|
38 | },
|
39 | set: function (value) {
|
40 | this.event["" + TelemetryConstants_1.TELEMETRY_BLOB_EVENT_NAMES.MsalCorrelationIdConstStrKey] = value;
|
41 | },
|
42 | enumerable: false,
|
43 | configurable: true
|
44 | });
|
45 | Object.defineProperty(TelemetryEvent.prototype, "eventName", {
|
46 | get: function () {
|
47 | return this.event[TelemetryUtils_1.prependEventNamePrefix(TelemetryConstants_1.EVENT_NAME_KEY)];
|
48 | },
|
49 | enumerable: false,
|
50 | configurable: true
|
51 | });
|
52 | TelemetryEvent.prototype.get = function () {
|
53 | return tslib_1.__assign(tslib_1.__assign({}, this.event), { eventId: this.eventId });
|
54 | };
|
55 | Object.defineProperty(TelemetryEvent.prototype, "key", {
|
56 | get: function () {
|
57 | return this.telemetryCorrelationId + "_" + this.eventId + "-" + this.eventName;
|
58 | },
|
59 | enumerable: false,
|
60 | configurable: true
|
61 | });
|
62 | Object.defineProperty(TelemetryEvent.prototype, "displayName", {
|
63 | get: function () {
|
64 | return "Msal-" + this.label + "-" + this.telemetryCorrelationId;
|
65 | },
|
66 | enumerable: false,
|
67 | configurable: true
|
68 | });
|
69 | Object.defineProperty(TelemetryEvent.prototype, "perfStartMark", {
|
70 | get: function () {
|
71 | return "start-" + this.key;
|
72 | },
|
73 | enumerable: false,
|
74 | configurable: true
|
75 | });
|
76 | Object.defineProperty(TelemetryEvent.prototype, "perfEndMark", {
|
77 | get: function () {
|
78 | return "end-" + this.key;
|
79 | },
|
80 | enumerable: false,
|
81 | configurable: true
|
82 | });
|
83 | return TelemetryEvent;
|
84 | }());
|
85 | exports.default = TelemetryEvent;
|
86 |
|
\ | No newline at end of file |