o11y 246.2.0 → 246.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/o11y/client/client.js +282 -26
- package/dist/modules/o11y/client/client.js.map +1 -1
- package/dist/modules/o11y/client/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/client/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/client/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/client/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/client/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/client/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/client/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/client/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/client/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/client/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/client/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/client/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/client/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/client/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/client/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/client/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/client/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/client/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/client/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/client/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/client/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/client/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/client/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/client/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/client/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/client/shared/index.d.ts +5 -4
- package/dist/modules/o11y/client/version.d.ts +1 -1
- package/dist/modules/o11y/collectors/collectors.js +11 -6
- package/dist/modules/o11y/collectors/collectors.js.map +1 -1
- package/dist/modules/o11y/collectors/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/collectors/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/collectors/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/collectors/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/collectors/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/collectors/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/collectors/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/collectors/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/collectors/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/collectors/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/collectors/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/collectors/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/collectors/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/collectors/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/collectors/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/collectors/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/collectors/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/collectors/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/collectors/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/collectors/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/collectors/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/collectors/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/collectors/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/collectors/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/collectors/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/collectors/shared/index.d.ts +5 -4
- package/dist/modules/o11y/collectors/version.d.ts +1 -1
- package/dist/modules/o11y/core_envelope/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/core_envelope/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/core_envelope/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/core_envelope/core_envelope.js +5 -61
- package/dist/modules/o11y/core_envelope/core_envelope.js.map +1 -1
- package/dist/modules/o11y/core_envelope/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/core_envelope/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/core_envelope/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/core_envelope/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/core_envelope/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/core_envelope/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/core_envelope/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/core_envelope/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/core_envelope/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/core_envelope/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/core_envelope/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/core_envelope/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/core_envelope/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/core_envelope/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/core_envelope/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/core_envelope/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/core_envelope/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/core_envelope/shared/index.d.ts +5 -4
- package/dist/modules/o11y/core_envelope/version.d.ts +1 -1
- package/dist/modules/o11y/shared/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/shared/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/shared/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/shared/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/shared/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/shared/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/shared/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/shared/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/shared/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/shared/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/shared/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/shared/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/shared/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/shared/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/shared/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/shared/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/shared/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/shared/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/shared/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/shared/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/shared/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/shared/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/shared/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/shared/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/shared/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/shared/shared/index.d.ts +5 -4
- package/dist/modules/o11y/shared/shared.js +83 -1
- package/dist/modules/o11y/shared/shared.js.map +1 -1
- package/dist/modules/o11y/shared/version.d.ts +1 -1
- package/dist/modules/o11y/simple_collector/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/simple_collector/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/simple_collector/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/simple_collector/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/simple_collector/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/simple_collector/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/simple_collector/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/simple_collector/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/simple_collector/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/simple_collector/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/simple_collector/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/simple_collector/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/simple_collector/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/simple_collector/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/simple_collector/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/simple_collector/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/simple_collector/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/simple_collector/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/simple_collector/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/simple_collector/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/simple_collector/shared/index.d.ts +5 -4
- package/dist/modules/o11y/simple_collector/simple_collector.js +4 -2
- package/dist/modules/o11y/simple_collector/simple_collector.js.map +1 -1
- package/dist/modules/o11y/simple_collector/version.d.ts +1 -1
- package/dist/modules/o11y/web_vitals/core_envelope/CoreEnvelopeBuilder.d.ts +0 -1
- package/dist/modules/o11y/web_vitals/core_envelope/interfaces/LogMessage.d.ts +2 -0
- package/dist/modules/o11y/web_vitals/core_envelope/interfaces/LogMessageRaw.d.ts +2 -0
- package/dist/modules/o11y/web_vitals/interfaces/Communicator.d.ts +1 -0
- package/dist/modules/o11y/web_vitals/interfaces/InstrumentedAppMethods.d.ts +5 -0
- package/dist/modules/o11y/web_vitals/interfaces/InstrumentedAppOptions.d.ts +6 -0
- package/dist/modules/o11y/web_vitals/interfaces/LogMeta.d.ts +3 -0
- package/dist/modules/o11y/web_vitals/interfaces/index.d.ts +35 -34
- package/dist/modules/o11y/web_vitals/interfaces-private/BucketHistogram.d.ts +11 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/MetricTag.d.ts +4 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/SenderLogMessage.d.ts +7 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/SenderMetricsMessage.d.ts +8 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/UpCounter.d.ts +10 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/ValueRecorder.d.ts +10 -0
- package/dist/modules/o11y/web_vitals/interfaces-private/index.d.ts +10 -4
- package/dist/modules/o11y/web_vitals/library/BucketHistogramImpl.d.ts +1 -1
- package/dist/modules/o11y/web_vitals/library/MetricsStore.d.ts +11 -0
- package/dist/modules/o11y/web_vitals/library/NextgenImpl.d.ts +9 -1
- package/dist/modules/o11y/web_vitals/library/ReceiverConnector.d.ts +20 -0
- package/dist/modules/o11y/web_vitals/library/SenderConnector.d.ts +28 -0
- package/dist/modules/o11y/web_vitals/library/UpCounterImpl.d.ts +1 -1
- package/dist/modules/o11y/web_vitals/library/ValueRecorderImpl.d.ts +1 -1
- package/dist/modules/o11y/web_vitals/sender_collector/SenderCollector.d.ts +13 -0
- package/dist/modules/o11y/web_vitals/shared/MetricsUtility.d.ts +11 -0
- package/dist/modules/o11y/web_vitals/shared/Utility.d.ts +2 -0
- package/dist/modules/o11y/web_vitals/shared/index.d.ts +5 -4
- package/dist/modules/o11y/web_vitals/version.d.ts +1 -1
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { utility, PublicSafety, schemaUtil } from 'o11y/shared';
|
|
1
|
+
import { utility, PublicSafety, schemaUtil, metricsUtility } from 'o11y/shared';
|
|
2
2
|
|
|
3
3
|
const activity={namespace:"sf.instrumentation",name:"Activity",pbjsSchema:{"nested":{"sf":{"nested":{"instrumentation":{"nested":{"Activity":{"reserved":[[5,5],[7,7]],"fields":{"duration":{"id":3,"type":"double"},"stopReason":{"id":6,"type":"string"},"isRoot":{"id":8,"type":"bool"},"timerOverridden":{"id":12,"type":"uint32"},"name":{"options":{"(meta.max_length)":25},"id":2,"type":"string"},"isSampled":{"id":11,"type":"bool"},"preRootId":{"id":9,"type":"string"},"id":{"id":1,"type":"string"},
|
|
4
4
|
"userPayload":{"id":4,"type":"Payload"},"errorCount":{"id":10,"type":"uint32"},"parentId":{"id":13,"type":"string"}}},"Payload":{"fields":{"payload":{"id":2,"type":"bytes"},"schemaName":{"id":1,"type":"string"}}}}}}}}}};
|
|
@@ -1068,14 +1068,20 @@ class LogValidator {
|
|
|
1068
1068
|
const logValidator = new LogValidator();
|
|
1069
1069
|
|
|
1070
1070
|
class BucketHistogramImpl {
|
|
1071
|
-
constructor(_name, _ownerName, _ownerAppName, _tags, _buckets) {
|
|
1071
|
+
constructor(_name, _ownerName, _ownerAppName, _tags, _buckets, createdOn, lastUpdatedOn, values) {
|
|
1072
1072
|
this._name = _name;
|
|
1073
1073
|
this._ownerName = _ownerName;
|
|
1074
1074
|
this._ownerAppName = _ownerAppName;
|
|
1075
1075
|
this._tags = _tags;
|
|
1076
1076
|
this._buckets = _buckets;
|
|
1077
1077
|
this._values = new Array();
|
|
1078
|
-
this._createdOn = utility.time().tsNow;
|
|
1078
|
+
this._createdOn = createdOn === undefined ? utility.time().tsNow : createdOn;
|
|
1079
|
+
if (lastUpdatedOn !== undefined) {
|
|
1080
|
+
this._lastUpdatedOn = lastUpdatedOn;
|
|
1081
|
+
}
|
|
1082
|
+
if (values !== undefined) {
|
|
1083
|
+
this._values = values;
|
|
1084
|
+
}
|
|
1079
1085
|
}
|
|
1080
1086
|
getName() {
|
|
1081
1087
|
return this._name;
|
|
@@ -1122,13 +1128,19 @@ class BucketHistogramImpl {
|
|
|
1122
1128
|
}
|
|
1123
1129
|
|
|
1124
1130
|
class UpCounterImpl {
|
|
1125
|
-
constructor(_name, _ownerName, _ownerAppName, _tags) {
|
|
1131
|
+
constructor(_name, _ownerName, _ownerAppName, _tags, createdOn, lastUpdatedOn, value) {
|
|
1126
1132
|
this._name = _name;
|
|
1127
1133
|
this._ownerName = _ownerName;
|
|
1128
1134
|
this._ownerAppName = _ownerAppName;
|
|
1129
1135
|
this._tags = _tags;
|
|
1130
1136
|
this._value = 0;
|
|
1131
|
-
this._createdOn = utility.time().tsNow;
|
|
1137
|
+
this._createdOn = createdOn === undefined ? utility.time().tsNow : createdOn;
|
|
1138
|
+
if (lastUpdatedOn !== undefined) {
|
|
1139
|
+
this._lastUpdatedOn = lastUpdatedOn;
|
|
1140
|
+
}
|
|
1141
|
+
if (value !== undefined) {
|
|
1142
|
+
this._value = value;
|
|
1143
|
+
}
|
|
1132
1144
|
}
|
|
1133
1145
|
getName() {
|
|
1134
1146
|
return this._name;
|
|
@@ -1166,13 +1178,19 @@ class UpCounterImpl {
|
|
|
1166
1178
|
}
|
|
1167
1179
|
|
|
1168
1180
|
class ValueRecorderImpl {
|
|
1169
|
-
constructor(_name, _ownerName, _ownerAppName, _tags) {
|
|
1181
|
+
constructor(_name, _ownerName, _ownerAppName, _tags, createdOn, lastUpdatedOn, values) {
|
|
1170
1182
|
this._name = _name;
|
|
1171
1183
|
this._ownerName = _ownerName;
|
|
1172
1184
|
this._ownerAppName = _ownerAppName;
|
|
1173
1185
|
this._tags = _tags;
|
|
1174
1186
|
this._values = new Array();
|
|
1175
|
-
this._createdOn = utility.time().tsNow;
|
|
1187
|
+
this._createdOn = createdOn === undefined ? utility.time().tsNow : createdOn;
|
|
1188
|
+
if (lastUpdatedOn !== undefined) {
|
|
1189
|
+
this._lastUpdatedOn = lastUpdatedOn;
|
|
1190
|
+
}
|
|
1191
|
+
if (values !== undefined) {
|
|
1192
|
+
this._values = values;
|
|
1193
|
+
}
|
|
1176
1194
|
}
|
|
1177
1195
|
getName() {
|
|
1178
1196
|
return this._name;
|
|
@@ -1370,7 +1388,7 @@ class InstrumentationImpl {
|
|
|
1370
1388
|
return new MetricsImpl(this.name, () => this._nextGen.appName || InstrumentationImpl.defaultAppName);
|
|
1371
1389
|
}
|
|
1372
1390
|
_incrementError(increment = 1) {
|
|
1373
|
-
this._metrics.incrementCounter(reservedMetricNames.internalError, increment,
|
|
1391
|
+
this._metrics.incrementCounter(reservedMetricNames.internalError, increment, true);
|
|
1374
1392
|
}
|
|
1375
1393
|
get name() {
|
|
1376
1394
|
return this._name;
|
|
@@ -1848,9 +1866,190 @@ class AutomaticClickTracker {
|
|
|
1848
1866
|
}
|
|
1849
1867
|
}
|
|
1850
1868
|
|
|
1869
|
+
const MESSAGE_FROM_RECEIVER = 'o11y:receiver';
|
|
1870
|
+
var CommState;
|
|
1871
|
+
(function (CommState) {
|
|
1872
|
+
CommState[CommState["Unknown"] = 0] = "Unknown";
|
|
1873
|
+
CommState[CommState["Opening"] = 1] = "Opening";
|
|
1874
|
+
})(CommState || (CommState = {}));
|
|
1875
|
+
class ReceiverConnector {
|
|
1876
|
+
constructor(_logCallback, _metricsCallback, _commErrorCallback) {
|
|
1877
|
+
this._logCallback = _logCallback;
|
|
1878
|
+
this._metricsCallback = _metricsCallback;
|
|
1879
|
+
this._commErrorCallback = _commErrorCallback;
|
|
1880
|
+
this._senders = new Map();
|
|
1881
|
+
utility.requireArgument(this._logCallback, '_logCallback', 'function');
|
|
1882
|
+
utility.requireArgument(this._metricsCallback, '_metricsCallback', 'function');
|
|
1883
|
+
utility.requireArgument(this._commErrorCallback, '_commErrorCallback', 'function');
|
|
1884
|
+
}
|
|
1885
|
+
openComms(sender) {
|
|
1886
|
+
utility.requireArgument(sender, 'sender', 'object');
|
|
1887
|
+
if (!this._senders.has(sender)) {
|
|
1888
|
+
const messageChannel = new MessageChannel();
|
|
1889
|
+
const status = {
|
|
1890
|
+
state: CommState.Opening,
|
|
1891
|
+
port: messageChannel.port1
|
|
1892
|
+
};
|
|
1893
|
+
this._senders.set(sender, status);
|
|
1894
|
+
status.port.onmessage = this._messagePortEventHandler.bind(this);
|
|
1895
|
+
status.port.onmessageerror = this._messagePortErrorHandler.bind(this);
|
|
1896
|
+
sender.postMessage({
|
|
1897
|
+
from: MESSAGE_FROM_RECEIVER,
|
|
1898
|
+
type: MESSAGE_TYPE_HANDSHAKE
|
|
1899
|
+
}, '*', [messageChannel.port2]);
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
closeComms(sender) {
|
|
1903
|
+
const status = this._senders.get(sender);
|
|
1904
|
+
if (status) {
|
|
1905
|
+
status.port.onmessage = undefined;
|
|
1906
|
+
status.port.onmessageerror = undefined;
|
|
1907
|
+
this._senders.delete(sender);
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
_messagePortEventHandler(e) {
|
|
1911
|
+
if (e.data.type === MESSAGE_TYPE_LOG) {
|
|
1912
|
+
this._logCallback(e.data.data);
|
|
1913
|
+
}
|
|
1914
|
+
else if (e.data.type === MESSAGE_TYPE_METRICS) {
|
|
1915
|
+
this._metricsCallback(e.data.data);
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
_messagePortErrorHandler() {
|
|
1919
|
+
this._commErrorCallback();
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
const MESSAGE_TYPE_HANDSHAKE = 'handshake';
|
|
1924
|
+
const MESSAGE_TYPE_LOG = 'log';
|
|
1925
|
+
const MESSAGE_TYPE_METRICS = 'metrics';
|
|
1926
|
+
class SenderConnector {
|
|
1927
|
+
constructor(_self, _allowedOrigins) {
|
|
1928
|
+
this._self = _self;
|
|
1929
|
+
this._allowedOrigins = _allowedOrigins;
|
|
1930
|
+
this._messageEventHandlerFunc = this._messageEventHandler.bind(this);
|
|
1931
|
+
this._handshakeComplete = false;
|
|
1932
|
+
this._logBuffer = [];
|
|
1933
|
+
this._metricsBuffer = [];
|
|
1934
|
+
utility.requireArgument(this._self, '_self', 'object');
|
|
1935
|
+
utility.requireArgumentIfDefined(_allowedOrigins, 'allowedOrigins', Array);
|
|
1936
|
+
this._self.addEventListener('message', this._messageEventHandlerFunc);
|
|
1937
|
+
}
|
|
1938
|
+
_messageEventHandler(e) {
|
|
1939
|
+
if (e.data.from === MESSAGE_FROM_RECEIVER &&
|
|
1940
|
+
e.data.type === MESSAGE_TYPE_HANDSHAKE &&
|
|
1941
|
+
e.ports[0] instanceof MessagePort &&
|
|
1942
|
+
utility.isAllowedOrigin(e.origin, this._allowedOrigins)) {
|
|
1943
|
+
this._handshakeComplete = true;
|
|
1944
|
+
this._self.removeEventListener('message', this._messageEventHandlerFunc);
|
|
1945
|
+
this._otherPort = e.ports[0];
|
|
1946
|
+
this._emptyBuffers();
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
sendLog(log) {
|
|
1950
|
+
if (!this._handshakeComplete) {
|
|
1951
|
+
this._logBuffer.push(log);
|
|
1952
|
+
}
|
|
1953
|
+
else {
|
|
1954
|
+
this._otherPort.postMessage({
|
|
1955
|
+
type: MESSAGE_TYPE_LOG,
|
|
1956
|
+
data: log
|
|
1957
|
+
});
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
sendMetrics(metrics) {
|
|
1961
|
+
if (!this._handshakeComplete) {
|
|
1962
|
+
this._metricsBuffer.push(metrics);
|
|
1963
|
+
}
|
|
1964
|
+
else {
|
|
1965
|
+
this._otherPort.postMessage({
|
|
1966
|
+
type: MESSAGE_TYPE_METRICS,
|
|
1967
|
+
data: metrics
|
|
1968
|
+
});
|
|
1969
|
+
}
|
|
1970
|
+
}
|
|
1971
|
+
_emptyBuffers() {
|
|
1972
|
+
this._logBuffer.forEach((log) => this.sendLog(log));
|
|
1973
|
+
this._metricsBuffer.forEach((metrics) => this.sendMetrics(metrics));
|
|
1974
|
+
this._logBuffer = undefined;
|
|
1975
|
+
this._metricsBuffer = undefined;
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
class MetricsStore {
|
|
1980
|
+
constructor() {
|
|
1981
|
+
this._upCounters = [];
|
|
1982
|
+
this._valueRecorders = [];
|
|
1983
|
+
this._bucketHistograms = [];
|
|
1984
|
+
}
|
|
1985
|
+
add(senderMetrics) {
|
|
1986
|
+
var _a, _b, _c;
|
|
1987
|
+
if ((_a = senderMetrics.upCounters) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1988
|
+
this._upCounters.push(...senderMetrics.upCounters.map((it) => new UpCounterImpl(it.name, it.ownerName, it.ownerAppName, metricsUtility.getMetricsTags(it.tags), it.createdTimestamp, it.lastUpdatedTimestamp, it.value)));
|
|
1989
|
+
}
|
|
1990
|
+
if ((_b = senderMetrics.valueRecorders) === null || _b === void 0 ? void 0 : _b.length) {
|
|
1991
|
+
this._valueRecorders.push(...senderMetrics.valueRecorders.map((it) => new ValueRecorderImpl(it.name, it.ownerName, it.ownerAppName, metricsUtility.getMetricsTags(it.tags), it.createdTimestamp, it.lastUpdatedTimestamp, it.values)));
|
|
1992
|
+
}
|
|
1993
|
+
if ((_c = senderMetrics.bucketHistograms) === null || _c === void 0 ? void 0 : _c.length) {
|
|
1994
|
+
this._bucketHistograms.push(...senderMetrics.bucketHistograms.map((it) => new BucketHistogramImpl(it.name, it.ownerName, it.ownerAppName, metricsUtility.getMetricsTags(it.tags), it.buckets, it.createdTimestamp, it.lastUpdatedTimestamp, it.values)));
|
|
1995
|
+
}
|
|
1996
|
+
}
|
|
1997
|
+
getUpCounters() {
|
|
1998
|
+
this._upCounters = this._upCounters.filter((i) => i.getLastUpdatedOn() !== undefined);
|
|
1999
|
+
return this._upCounters;
|
|
2000
|
+
}
|
|
2001
|
+
getValueRecorders() {
|
|
2002
|
+
this._valueRecorders = this._valueRecorders.filter((i) => i.getLastUpdatedOn() !== undefined);
|
|
2003
|
+
return this._valueRecorders;
|
|
2004
|
+
}
|
|
2005
|
+
getBucketHistograms() {
|
|
2006
|
+
this._bucketHistograms = this._bucketHistograms.filter((i) => i.getLastUpdatedOn() !== undefined);
|
|
2007
|
+
return this._bucketHistograms;
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2011
|
+
const DEFAULT_POLL_INTERVAL = 1000;
|
|
2012
|
+
class SenderCollector {
|
|
2013
|
+
constructor(_connector, _pollInterval) {
|
|
2014
|
+
this._connector = _connector;
|
|
2015
|
+
this._pollInterval = DEFAULT_POLL_INTERVAL;
|
|
2016
|
+
utility.requireArgument(_connector, '_connector', 'object');
|
|
2017
|
+
if (utility.requireArgumentIfDefined(_pollInterval, '_pollInterval', 'number') &&
|
|
2018
|
+
_pollInterval > 0) {
|
|
2019
|
+
this._pollInterval = _pollInterval;
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
collect(schema, data, logMeta) {
|
|
2023
|
+
const msg = {
|
|
2024
|
+
schema,
|
|
2025
|
+
data,
|
|
2026
|
+
logMeta
|
|
2027
|
+
};
|
|
2028
|
+
this._connector.sendLog(msg);
|
|
2029
|
+
}
|
|
2030
|
+
receiveMetricsExtractors(extractors) {
|
|
2031
|
+
this._metricsExtractors = extractors;
|
|
2032
|
+
this._collectAndSendMetrics();
|
|
2033
|
+
setInterval(this._collectAndSendMetrics.bind(this), this._pollInterval);
|
|
2034
|
+
}
|
|
2035
|
+
_collectAndSendMetrics() {
|
|
2036
|
+
const metrics = {
|
|
2037
|
+
upCounters: metricsUtility.getUpCounters(this._metricsExtractors.getAllUpCounters()),
|
|
2038
|
+
valueRecorders: metricsUtility.getValueRecorders(this._metricsExtractors.getAllValueRecorders()),
|
|
2039
|
+
bucketHistograms: metricsUtility.getBucketHistograms(this._metricsExtractors.getAllBucketHistograms())
|
|
2040
|
+
};
|
|
2041
|
+
if (metrics.upCounters.length ||
|
|
2042
|
+
metrics.valueRecorders.length ||
|
|
2043
|
+
metrics.bucketHistograms.length) {
|
|
2044
|
+
this._connector.sendMetrics(metrics);
|
|
2045
|
+
}
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
|
|
1851
2049
|
const maxInstrumentationLength = 80;
|
|
1852
2050
|
const truncatedText = '_CUT';
|
|
1853
2051
|
const maxInstrumentationLengthBeforeTruncated = maxInstrumentationLength - truncatedText.length;
|
|
2052
|
+
function noOpFunc() { }
|
|
1854
2053
|
class NextgenImpl {
|
|
1855
2054
|
get pagePayloadProvider() {
|
|
1856
2055
|
return this._pagePayloadProvider;
|
|
@@ -1875,6 +2074,9 @@ class NextgenImpl {
|
|
|
1875
2074
|
this._isBufferingEnabled = false;
|
|
1876
2075
|
this._buffer = [];
|
|
1877
2076
|
this._logCollectionListeners = new Set();
|
|
2077
|
+
this._opMode = 'default';
|
|
2078
|
+
this._isSender = false;
|
|
2079
|
+
this._isReceiver = false;
|
|
1878
2080
|
}
|
|
1879
2081
|
registerApp(name, options) {
|
|
1880
2082
|
var _a;
|
|
@@ -1886,10 +2088,30 @@ class NextgenImpl {
|
|
|
1886
2088
|
if (instr) {
|
|
1887
2089
|
throw new Error(`The instrumentation name ${name} is already taken`);
|
|
1888
2090
|
}
|
|
2091
|
+
this._initOpMode(options === null || options === void 0 ? void 0 : options.operationMode);
|
|
2092
|
+
this._isSender = this._opMode === 'sender';
|
|
2093
|
+
this._isReceiver = this._opMode === 'receiver';
|
|
1889
2094
|
this._clientSessionId = ((_a = options === null || options === void 0 ? void 0 : options.clientSessionId) === null || _a === void 0 ? void 0 : _a.toString()) || utility.generateUniqueId();
|
|
1890
2095
|
this._appInstr = new AppInstrumentationImpl(this, name, options === null || options === void 0 ? void 0 : options.allowMultipleRootActivities);
|
|
1891
2096
|
this._instruments.set(name, this._appInstr);
|
|
1892
|
-
this.
|
|
2097
|
+
if (this._isSender) {
|
|
2098
|
+
const senderCollector = new SenderCollector(new SenderConnector(window, options === null || options === void 0 ? void 0 : options.allowedReceiverOrigins), options === null || options === void 0 ? void 0 : options.senderMetricsPollingInterval);
|
|
2099
|
+
this.registerLogCollector(senderCollector);
|
|
2100
|
+
this.registerMetricsCollector(senderCollector);
|
|
2101
|
+
}
|
|
2102
|
+
else if (this._isReceiver) {
|
|
2103
|
+
this._metricsStore = new MetricsStore();
|
|
2104
|
+
this._receiverConnector = new ReceiverConnector((msg) => {
|
|
2105
|
+
msg.logMeta.receiverClientSessionId = this._clientSessionId;
|
|
2106
|
+
msg.logMeta.receiverRootId = this._appInstr.getSingleRootActivityId();
|
|
2107
|
+
this._multiplex(msg.schema, msg.data, msg.logMeta);
|
|
2108
|
+
}, (msg) => {
|
|
2109
|
+
this._metricsStore.add(msg);
|
|
2110
|
+
}, () => {
|
|
2111
|
+
this._appInstr.incrementCounter('o11y-error-receiver', 1, true);
|
|
2112
|
+
});
|
|
2113
|
+
}
|
|
2114
|
+
this._isBufferingEnabled = !this._isSender && (options === null || options === void 0 ? void 0 : options.enableBuffering);
|
|
1893
2115
|
const tracing = new Tracing(this.getInstrumentation('Network'), this._idleDetector);
|
|
1894
2116
|
return {
|
|
1895
2117
|
log: this._appInstr.log.bind(this._appInstr),
|
|
@@ -1904,19 +2126,28 @@ class NextgenImpl {
|
|
|
1904
2126
|
activity: this._appInstr.activity.bind(this._appInstr),
|
|
1905
2127
|
activityAsync: this._appInstr.activityAsync.bind(this._appInstr),
|
|
1906
2128
|
startRootActivity: this._appInstr.startRootActivity.bind(this._appInstr),
|
|
1907
|
-
registerLogCollector: this.registerLogCollector.bind(this),
|
|
1908
|
-
registerMetricsCollector: this.
|
|
2129
|
+
registerLogCollector: this._isSender ? noOpFunc : this.registerLogCollector.bind(this),
|
|
2130
|
+
registerMetricsCollector: this._isSender
|
|
2131
|
+
? noOpFunc
|
|
2132
|
+
: this.registerMetricsCollector.bind(this),
|
|
1909
2133
|
activateClickTracker: this.activateClickTracker.bind(this),
|
|
1910
2134
|
deactivateClickTracker: this.deactivateClickTracker.bind(this),
|
|
1911
2135
|
disableBuffering: this.disableBuffering.bind(this),
|
|
1912
2136
|
promptLogCollection: this.promptLogCollection.bind(this),
|
|
1913
|
-
getClientSessionId: this.getClientSessionId.bind(this)
|
|
2137
|
+
getClientSessionId: this.getClientSessionId.bind(this),
|
|
2138
|
+
getOperationMode: this.getOperationMode.bind(this),
|
|
2139
|
+
startReceiving: this._isReceiver
|
|
2140
|
+
? this._receiverConnector.openComms.bind(this._receiverConnector)
|
|
2141
|
+
: noOpFunc,
|
|
2142
|
+
stopReceiving: this._isReceiver
|
|
2143
|
+
? this._receiverConnector.closeComms.bind(this._receiverConnector)
|
|
2144
|
+
: noOpFunc
|
|
1914
2145
|
};
|
|
1915
2146
|
}
|
|
1916
2147
|
getInstrumentation(name) {
|
|
1917
2148
|
utility.requireArgument(name, 'name', 'string');
|
|
1918
2149
|
if (name.length > maxInstrumentationLength) {
|
|
1919
|
-
name = name.
|
|
2150
|
+
name = name.substring(0, maxInstrumentationLengthBeforeTruncated) + truncatedText;
|
|
1920
2151
|
}
|
|
1921
2152
|
let instr = this._instruments.get(name);
|
|
1922
2153
|
if (!instr) {
|
|
@@ -1939,21 +2170,29 @@ class NextgenImpl {
|
|
|
1939
2170
|
let schemaSequence = this._seqBySchema.get(schemaId) || 0;
|
|
1940
2171
|
schemaSequence += 1;
|
|
1941
2172
|
this._seqBySchema.set(schemaId, schemaSequence);
|
|
2173
|
+
if (!this._isSender) {
|
|
2174
|
+
data = utility.clone(data);
|
|
2175
|
+
}
|
|
1942
2176
|
const logMeta = {
|
|
1943
2177
|
timestamp,
|
|
1944
2178
|
rootId,
|
|
1945
2179
|
sequence: this._sequence,
|
|
1946
2180
|
schemaSequence,
|
|
1947
2181
|
loggerName,
|
|
1948
|
-
pagePayload: pagePayload
|
|
1949
|
-
appPayload: appPayload
|
|
2182
|
+
pagePayload: pagePayload || undefined,
|
|
2183
|
+
appPayload: appPayload || undefined,
|
|
1950
2184
|
loggerAppName: this.appName,
|
|
1951
2185
|
connectionType: utility.getConnectionType(),
|
|
1952
|
-
clientSessionId: this._clientSessionId
|
|
2186
|
+
clientSessionId: this._clientSessionId,
|
|
2187
|
+
age: utility.getAge(timestamp)
|
|
1953
2188
|
};
|
|
1954
2189
|
if (this._isBufferingEnabled) {
|
|
1955
|
-
this._buffer.push({ schema, data
|
|
2190
|
+
this._buffer.push({ schema, data, logMeta });
|
|
1956
2191
|
}
|
|
2192
|
+
this._multiplex(schema, data, logMeta);
|
|
2193
|
+
return this._sequence;
|
|
2194
|
+
}
|
|
2195
|
+
_multiplex(schema, data, logMeta) {
|
|
1957
2196
|
const eligibleCollectors = Array.from(this._logCollectors).filter((collector) => {
|
|
1958
2197
|
var _a;
|
|
1959
2198
|
return !this._forceDisabledLogCollectors.has(collector) &&
|
|
@@ -1961,10 +2200,9 @@ class NextgenImpl {
|
|
|
1961
2200
|
});
|
|
1962
2201
|
if (eligibleCollectors.length > 0) {
|
|
1963
2202
|
for (const collector of eligibleCollectors) {
|
|
1964
|
-
const dataClone = utility.clone(data);
|
|
1965
2203
|
let failures = this._logCollectorFailures.get(collector) || 0;
|
|
1966
2204
|
try {
|
|
1967
|
-
collector.collect(schema,
|
|
2205
|
+
collector.collect(schema, data, logMeta);
|
|
1968
2206
|
if (failures > 0) {
|
|
1969
2207
|
this._logCollectorFailures.set(collector, failures - 1);
|
|
1970
2208
|
}
|
|
@@ -1983,7 +2221,6 @@ class NextgenImpl {
|
|
|
1983
2221
|
}
|
|
1984
2222
|
}
|
|
1985
2223
|
}
|
|
1986
|
-
return this._sequence;
|
|
1987
2224
|
}
|
|
1988
2225
|
getBuffer() {
|
|
1989
2226
|
return this._buffer;
|
|
@@ -2024,8 +2261,7 @@ class NextgenImpl {
|
|
|
2024
2261
|
this._logCollectors.add(collector);
|
|
2025
2262
|
this._logCollectorFailures.set(collector, 0);
|
|
2026
2263
|
if ((!collector.getIsCollectDisabled || !collector.getIsCollectDisabled()) &&
|
|
2027
|
-
options
|
|
2028
|
-
options.retroactive) {
|
|
2264
|
+
(options === null || options === void 0 ? void 0 : options.retroactive)) {
|
|
2029
2265
|
for (const log of this._buffer) {
|
|
2030
2266
|
collector.collect(log.schema, log.data, log.logMeta);
|
|
2031
2267
|
}
|
|
@@ -2044,16 +2280,19 @@ class NextgenImpl {
|
|
|
2044
2280
|
});
|
|
2045
2281
|
}
|
|
2046
2282
|
_getAllUpCounters() {
|
|
2283
|
+
var _a;
|
|
2047
2284
|
const arrOfArrs = Array.from(this._instruments.values()).map((instr) => instr.getUpCounters());
|
|
2048
|
-
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), []);
|
|
2285
|
+
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), ((_a = this._metricsStore) === null || _a === void 0 ? void 0 : _a.getUpCounters()) || []);
|
|
2049
2286
|
}
|
|
2050
2287
|
_getAllValueRecorders() {
|
|
2288
|
+
var _a;
|
|
2051
2289
|
const arrOfArrs = Array.from(this._instruments.values()).map((instr) => instr.getValueRecorders());
|
|
2052
|
-
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), []);
|
|
2290
|
+
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), ((_a = this._metricsStore) === null || _a === void 0 ? void 0 : _a.getValueRecorders()) || []);
|
|
2053
2291
|
}
|
|
2054
2292
|
_getAllBucketHistograms() {
|
|
2293
|
+
var _a;
|
|
2055
2294
|
const arrOfArrs = Array.from(this._instruments.values()).map((instr) => instr.getBucketHistograms());
|
|
2056
|
-
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), []);
|
|
2295
|
+
return arrOfArrs.reduce((pv, cv) => pv.concat(cv), ((_a = this._metricsStore) === null || _a === void 0 ? void 0 : _a.getBucketHistograms()) || []);
|
|
2057
2296
|
}
|
|
2058
2297
|
registerForLogPrompt(listener) {
|
|
2059
2298
|
this._logCollectionListeners.add(listener);
|
|
@@ -2073,6 +2312,23 @@ class NextgenImpl {
|
|
|
2073
2312
|
getClientSessionId() {
|
|
2074
2313
|
return this._clientSessionId;
|
|
2075
2314
|
}
|
|
2315
|
+
_initOpMode(opMode) {
|
|
2316
|
+
if (typeof opMode === 'function') {
|
|
2317
|
+
opMode = opMode();
|
|
2318
|
+
}
|
|
2319
|
+
if (opMode === undefined || typeof window !== 'object') {
|
|
2320
|
+
opMode = 'default';
|
|
2321
|
+
}
|
|
2322
|
+
if (['default', 'receiver', 'sender'].indexOf(opMode) >= 0) {
|
|
2323
|
+
this._opMode = opMode;
|
|
2324
|
+
}
|
|
2325
|
+
else {
|
|
2326
|
+
throw new Error(`Invalid operation mode: ${opMode}`);
|
|
2327
|
+
}
|
|
2328
|
+
}
|
|
2329
|
+
getOperationMode() {
|
|
2330
|
+
return this._opMode;
|
|
2331
|
+
}
|
|
2076
2332
|
}
|
|
2077
2333
|
NextgenImpl._collectorFailureLimit = 5;
|
|
2078
2334
|
|
|
@@ -2142,7 +2398,7 @@ class ConsoleCollector {
|
|
|
2142
2398
|
}
|
|
2143
2399
|
}
|
|
2144
2400
|
|
|
2145
|
-
const version = '246.
|
|
2401
|
+
const version = '246.4.0';
|
|
2146
2402
|
|
|
2147
2403
|
const idleDetector = new IdleDetectorImpl({
|
|
2148
2404
|
logThreshold: 300,
|