@atlaskit/collab-provider 9.20.2 → 9.20.3
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/CHANGELOG.md +6 -0
- package/dist/cjs/channel.js +1 -12
- package/dist/cjs/feature-flags/index.js +0 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/channel.js +0 -11
- package/dist/es2019/feature-flags/index.js +0 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/channel.js +1 -12
- package/dist/esm/feature-flags/index.js +0 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/channel.d.ts +0 -1
- package/dist/types/feature-flags/types.d.ts +0 -1
- package/dist/types-ts4.5/channel.d.ts +0 -1
- package/dist/types-ts4.5/feature-flags/types.d.ts +0 -1
- package/package.json +1 -1
- package/dist/cjs/helpers/socket-message-metrics.js +0 -52
- package/dist/es2019/helpers/socket-message-metrics.js +0 -40
- package/dist/esm/helpers/socket-message-metrics.js +0 -45
- package/dist/types/helpers/socket-message-metrics.d.ts +0 -14
- package/dist/types-ts4.5/helpers/socket-message-metrics.d.ts +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/collab-provider
|
|
2
2
|
|
|
3
|
+
## 9.20.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#60651](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60651) [`20f3c9bb7b87`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/20f3c9bb7b87) - ESS-4207: cleanup unused FF
|
|
8
|
+
|
|
3
9
|
## 9.20.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/cjs/channel.js
CHANGED
|
@@ -26,8 +26,6 @@ var _network = _interopRequireDefault(require("./connectivity/network"));
|
|
|
26
26
|
var _internalErrors = require("./errors/internal-errors");
|
|
27
27
|
var _ncsErrors = require("./errors/ncs-errors");
|
|
28
28
|
var _customErrors = require("./errors/custom-errors");
|
|
29
|
-
var _socketMessageMetrics = require("./helpers/socket-message-metrics");
|
|
30
|
-
var _featureFlags = require("./feature-flags");
|
|
31
29
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
32
30
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
31
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -140,9 +138,6 @@ var Channel = exports.Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
140
138
|
});
|
|
141
139
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onConnect", function () {
|
|
142
140
|
var _this$analyticsHelper5;
|
|
143
|
-
if ((0, _featureFlags.getCollabProviderFeatureFlag)('socketMessageMetricsFF', _this.config.featureFlags) && _this.socketMessageMetrics) {
|
|
144
|
-
_this.socketMessageMetrics.setupSocketMessageMetrics();
|
|
145
|
-
}
|
|
146
141
|
_this.connected = true;
|
|
147
142
|
logger('Connected.', _this.socket.id);
|
|
148
143
|
var measure = (0, _performance.stopMeasure)(_performance.MEASURE_NAME.SOCKET_CONNECT, _this.analyticsHelper);
|
|
@@ -599,9 +594,6 @@ var Channel = exports.Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
599
594
|
};
|
|
600
595
|
}
|
|
601
596
|
this.socket = createSocket("".concat(url, "/session/").concat(documentAri), auth, this.config.productInfo);
|
|
602
|
-
if (this.socket && this.analyticsHelper) {
|
|
603
|
-
this.socketMessageMetrics = new _socketMessageMetrics.SocketMessageMetrics(this.socket, this.analyticsHelper);
|
|
604
|
-
}
|
|
605
597
|
|
|
606
598
|
// Due to https://github.com/socketio/socket.io-client/issues/1473,
|
|
607
599
|
// reconnect no longer fired on the socket.
|
|
@@ -656,9 +648,6 @@ var Channel = exports.Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
656
648
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
657
649
|
while (1) switch (_context4.prev = _context4.next) {
|
|
658
650
|
case 0:
|
|
659
|
-
if ((0, _featureFlags.getCollabProviderFeatureFlag)('socketMessageMetricsFF', _this2.config.featureFlags) && _this2.socketMessageMetrics) {
|
|
660
|
-
_this2.socketMessageMetrics.closeSocketMessageMetrics();
|
|
661
|
-
}
|
|
662
651
|
_this2.connected = false;
|
|
663
652
|
logger("disconnect reason: ".concat(reason));
|
|
664
653
|
_this2.emit('disconnect', {
|
|
@@ -680,7 +669,7 @@ var Channel = exports.Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
680
669
|
_this2.emit('error', reconnectionError);
|
|
681
670
|
}
|
|
682
671
|
}
|
|
683
|
-
case
|
|
672
|
+
case 4:
|
|
684
673
|
case "end":
|
|
685
674
|
return _context4.stop();
|
|
686
675
|
}
|
|
@@ -9,7 +9,6 @@ exports.getProductSpecificFeatureFlags = void 0;
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var defaultNCSFeatureFlags = {
|
|
11
11
|
testFF: false,
|
|
12
|
-
socketMessageMetricsFF: false,
|
|
13
12
|
sendStepsQueue: false,
|
|
14
13
|
blockViewOnly: false
|
|
15
14
|
};
|
|
@@ -20,7 +19,6 @@ var defaultNCSFeatureFlags = {
|
|
|
20
19
|
var productKeys = {
|
|
21
20
|
confluence: {
|
|
22
21
|
testFF: 'confluence.frontend.collab.provider.testFF',
|
|
23
|
-
socketMessageMetricsFF: 'confluence.frontend.collab.provider.socketMessageMetricsFF',
|
|
24
22
|
sendStepsQueue: 'confluence.frontend.ncs.send-steps-queue',
|
|
25
23
|
blockViewOnly: 'confluence.frontend.ncs.block-view-only'
|
|
26
24
|
}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.nextMajorVersion = exports.name = void 0;
|
|
7
7
|
var name = exports.name = "@atlaskit/collab-provider";
|
|
8
|
-
var version = exports.version = "9.20.
|
|
8
|
+
var version = exports.version = "9.20.3";
|
|
9
9
|
var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
|
|
10
10
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
|
11
11
|
};
|
package/dist/es2019/channel.js
CHANGED
|
@@ -11,8 +11,6 @@ import Network from './connectivity/network';
|
|
|
11
11
|
import { INTERNAL_ERROR_CODE } from './errors/internal-errors';
|
|
12
12
|
import { NCS_ERROR_CODE } from './errors/ncs-errors';
|
|
13
13
|
import { NotConnectedError, NotInitializedError } from './errors/custom-errors';
|
|
14
|
-
import { SocketMessageMetrics } from './helpers/socket-message-metrics';
|
|
15
|
-
import { getCollabProviderFeatureFlag } from './feature-flags';
|
|
16
14
|
const logger = createLogger('Channel', 'green');
|
|
17
15
|
export class Channel extends Emitter {
|
|
18
16
|
constructor(config, analyticsHelper) {
|
|
@@ -105,9 +103,6 @@ export class Channel extends Emitter {
|
|
|
105
103
|
});
|
|
106
104
|
_defineProperty(this, "onConnect", () => {
|
|
107
105
|
var _this$analyticsHelper5;
|
|
108
|
-
if (getCollabProviderFeatureFlag('socketMessageMetricsFF', this.config.featureFlags) && this.socketMessageMetrics) {
|
|
109
|
-
this.socketMessageMetrics.setupSocketMessageMetrics();
|
|
110
|
-
}
|
|
111
106
|
this.connected = true;
|
|
112
107
|
logger('Connected.', this.socket.id);
|
|
113
108
|
const measure = stopMeasure(MEASURE_NAME.SOCKET_CONNECT, this.analyticsHelper);
|
|
@@ -402,9 +397,6 @@ export class Channel extends Emitter {
|
|
|
402
397
|
};
|
|
403
398
|
}
|
|
404
399
|
this.socket = createSocket(`${url}/session/${documentAri}`, auth, this.config.productInfo);
|
|
405
|
-
if (this.socket && this.analyticsHelper) {
|
|
406
|
-
this.socketMessageMetrics = new SocketMessageMetrics(this.socket, this.analyticsHelper);
|
|
407
|
-
}
|
|
408
400
|
|
|
409
401
|
// Due to https://github.com/socketio/socket.io-client/issues/1473,
|
|
410
402
|
// reconnect no longer fired on the socket.
|
|
@@ -458,9 +450,6 @@ export class Channel extends Emitter {
|
|
|
458
450
|
this.emit('status', data);
|
|
459
451
|
});
|
|
460
452
|
this.socket.on('disconnect', async reason => {
|
|
461
|
-
if (getCollabProviderFeatureFlag('socketMessageMetricsFF', this.config.featureFlags) && this.socketMessageMetrics) {
|
|
462
|
-
this.socketMessageMetrics.closeSocketMessageMetrics();
|
|
463
|
-
}
|
|
464
453
|
this.connected = false;
|
|
465
454
|
logger(`disconnect reason: ${reason}`);
|
|
466
455
|
this.emit('disconnect', {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
const defaultNCSFeatureFlags = {
|
|
2
2
|
testFF: false,
|
|
3
|
-
socketMessageMetricsFF: false,
|
|
4
3
|
sendStepsQueue: false,
|
|
5
4
|
blockViewOnly: false
|
|
6
5
|
};
|
|
@@ -11,7 +10,6 @@ const defaultNCSFeatureFlags = {
|
|
|
11
10
|
const productKeys = {
|
|
12
11
|
confluence: {
|
|
13
12
|
testFF: 'confluence.frontend.collab.provider.testFF',
|
|
14
|
-
socketMessageMetricsFF: 'confluence.frontend.collab.provider.socketMessageMetricsFF',
|
|
15
13
|
sendStepsQueue: 'confluence.frontend.ncs.send-steps-queue',
|
|
16
14
|
blockViewOnly: 'confluence.frontend.ncs.block-view-only'
|
|
17
15
|
}
|
package/dist/esm/channel.js
CHANGED
|
@@ -26,8 +26,6 @@ import Network from './connectivity/network';
|
|
|
26
26
|
import { INTERNAL_ERROR_CODE } from './errors/internal-errors';
|
|
27
27
|
import { NCS_ERROR_CODE } from './errors/ncs-errors';
|
|
28
28
|
import { NotConnectedError, NotInitializedError } from './errors/custom-errors';
|
|
29
|
-
import { SocketMessageMetrics } from './helpers/socket-message-metrics';
|
|
30
|
-
import { getCollabProviderFeatureFlag } from './feature-flags';
|
|
31
29
|
var logger = createLogger('Channel', 'green');
|
|
32
30
|
export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
33
31
|
_inherits(Channel, _Emitter);
|
|
@@ -133,9 +131,6 @@ export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
133
131
|
});
|
|
134
132
|
_defineProperty(_assertThisInitialized(_this), "onConnect", function () {
|
|
135
133
|
var _this$analyticsHelper5;
|
|
136
|
-
if (getCollabProviderFeatureFlag('socketMessageMetricsFF', _this.config.featureFlags) && _this.socketMessageMetrics) {
|
|
137
|
-
_this.socketMessageMetrics.setupSocketMessageMetrics();
|
|
138
|
-
}
|
|
139
134
|
_this.connected = true;
|
|
140
135
|
logger('Connected.', _this.socket.id);
|
|
141
136
|
var measure = stopMeasure(MEASURE_NAME.SOCKET_CONNECT, _this.analyticsHelper);
|
|
@@ -592,9 +587,6 @@ export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
592
587
|
};
|
|
593
588
|
}
|
|
594
589
|
this.socket = createSocket("".concat(url, "/session/").concat(documentAri), auth, this.config.productInfo);
|
|
595
|
-
if (this.socket && this.analyticsHelper) {
|
|
596
|
-
this.socketMessageMetrics = new SocketMessageMetrics(this.socket, this.analyticsHelper);
|
|
597
|
-
}
|
|
598
590
|
|
|
599
591
|
// Due to https://github.com/socketio/socket.io-client/issues/1473,
|
|
600
592
|
// reconnect no longer fired on the socket.
|
|
@@ -649,9 +641,6 @@ export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
649
641
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
650
642
|
while (1) switch (_context4.prev = _context4.next) {
|
|
651
643
|
case 0:
|
|
652
|
-
if (getCollabProviderFeatureFlag('socketMessageMetricsFF', _this2.config.featureFlags) && _this2.socketMessageMetrics) {
|
|
653
|
-
_this2.socketMessageMetrics.closeSocketMessageMetrics();
|
|
654
|
-
}
|
|
655
644
|
_this2.connected = false;
|
|
656
645
|
logger("disconnect reason: ".concat(reason));
|
|
657
646
|
_this2.emit('disconnect', {
|
|
@@ -673,7 +662,7 @@ export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
673
662
|
_this2.emit('error', reconnectionError);
|
|
674
663
|
}
|
|
675
664
|
}
|
|
676
|
-
case
|
|
665
|
+
case 4:
|
|
677
666
|
case "end":
|
|
678
667
|
return _context4.stop();
|
|
679
668
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
var defaultNCSFeatureFlags = {
|
|
3
3
|
testFF: false,
|
|
4
|
-
socketMessageMetricsFF: false,
|
|
5
4
|
sendStepsQueue: false,
|
|
6
5
|
blockViewOnly: false
|
|
7
6
|
};
|
|
@@ -12,7 +11,6 @@ var defaultNCSFeatureFlags = {
|
|
|
12
11
|
var productKeys = {
|
|
13
12
|
confluence: {
|
|
14
13
|
testFF: 'confluence.frontend.collab.provider.testFF',
|
|
15
|
-
socketMessageMetricsFF: 'confluence.frontend.collab.provider.socketMessageMetricsFF',
|
|
16
14
|
sendStepsQueue: 'confluence.frontend.ncs.send-steps-queue',
|
|
17
15
|
blockViewOnly: 'confluence.frontend.ncs.block-view-only'
|
|
18
16
|
}
|
package/dist/types/channel.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export declare class Channel extends Emitter<ChannelEvent> {
|
|
|
16
16
|
private initExperience?;
|
|
17
17
|
private token?;
|
|
18
18
|
private network;
|
|
19
|
-
private socketMessageMetrics?;
|
|
20
19
|
private readonly rateLimitWindowDurationMs;
|
|
21
20
|
private rateLimitWindowStartMs;
|
|
22
21
|
private stepCounter;
|
|
@@ -16,7 +16,6 @@ export declare class Channel extends Emitter<ChannelEvent> {
|
|
|
16
16
|
private initExperience?;
|
|
17
17
|
private token?;
|
|
18
18
|
private network;
|
|
19
|
-
private socketMessageMetrics?;
|
|
20
19
|
private readonly rateLimitWindowDurationMs;
|
|
21
20
|
private rateLimitWindowStartMs;
|
|
22
21
|
private stepCounter;
|
package/package.json
CHANGED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = exports.SocketMessageMetrics = void 0;
|
|
8
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _const = require("./const");
|
|
12
|
-
var _utils = require("./utils");
|
|
13
|
-
var logger = (0, _utils.createLogger)('SocketMessageMetrics', 'green');
|
|
14
|
-
var WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = exports.WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = 60000;
|
|
15
|
-
var SocketMessageMetrics = exports.SocketMessageMetrics = /*#__PURE__*/(0, _createClass2.default)(function SocketMessageMetrics(socket, analyticsHelper) {
|
|
16
|
-
var _this = this;
|
|
17
|
-
(0, _classCallCheck2.default)(this, SocketMessageMetrics);
|
|
18
|
-
(0, _defineProperty2.default)(this, "messageCount", 0);
|
|
19
|
-
(0, _defineProperty2.default)(this, "totalMessageSize", 0);
|
|
20
|
-
(0, _defineProperty2.default)(this, "metricsIntervalID", undefined);
|
|
21
|
-
(0, _defineProperty2.default)(this, "socketMessageMetricsListener", function (event) {
|
|
22
|
-
_this.messageCount++;
|
|
23
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
24
|
-
args[_key - 1] = arguments[_key];
|
|
25
|
-
}
|
|
26
|
-
_this.totalMessageSize += Buffer.byteLength(JSON.stringify(args), 'utf8');
|
|
27
|
-
});
|
|
28
|
-
(0, _defineProperty2.default)(this, "setupSocketMessageMetrics", function () {
|
|
29
|
-
if (_this.metricsIntervalID !== undefined) {
|
|
30
|
-
logger('calling setupSocketMessageMetrics function with metricsIntervalID that is not undefined');
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
_this.socket.onAnyOutgoing(_this.socketMessageMetricsListener);
|
|
34
|
-
|
|
35
|
-
// send metrics every 60 seconds
|
|
36
|
-
_this.metricsIntervalID = window.setInterval(function () {
|
|
37
|
-
_this.analyticsHelper.sendActionEvent(_const.EVENT_ACTION.WEBSOCKET_MESSAGE_VOLUME_METRIC, _const.EVENT_STATUS.INFO, {
|
|
38
|
-
messageCount: _this.messageCount,
|
|
39
|
-
totalMessageSize: _this.totalMessageSize
|
|
40
|
-
});
|
|
41
|
-
_this.messageCount = 0;
|
|
42
|
-
_this.totalMessageSize = 0;
|
|
43
|
-
}, WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS);
|
|
44
|
-
});
|
|
45
|
-
(0, _defineProperty2.default)(this, "closeSocketMessageMetrics", function () {
|
|
46
|
-
clearInterval(_this.metricsIntervalID);
|
|
47
|
-
_this.metricsIntervalID = undefined;
|
|
48
|
-
_this.socket.offAnyOutgoing(_this.socketMessageMetricsListener);
|
|
49
|
-
});
|
|
50
|
-
this.socket = socket;
|
|
51
|
-
this.analyticsHelper = analyticsHelper;
|
|
52
|
-
});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import { EVENT_ACTION, EVENT_STATUS } from './const';
|
|
3
|
-
import { createLogger } from './utils';
|
|
4
|
-
const logger = createLogger('SocketMessageMetrics', 'green');
|
|
5
|
-
export const WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = 60000;
|
|
6
|
-
export class SocketMessageMetrics {
|
|
7
|
-
constructor(socket, analyticsHelper) {
|
|
8
|
-
_defineProperty(this, "messageCount", 0);
|
|
9
|
-
_defineProperty(this, "totalMessageSize", 0);
|
|
10
|
-
_defineProperty(this, "metricsIntervalID", undefined);
|
|
11
|
-
_defineProperty(this, "socketMessageMetricsListener", (event, ...args) => {
|
|
12
|
-
this.messageCount++;
|
|
13
|
-
this.totalMessageSize += Buffer.byteLength(JSON.stringify(args), 'utf8');
|
|
14
|
-
});
|
|
15
|
-
_defineProperty(this, "setupSocketMessageMetrics", () => {
|
|
16
|
-
if (this.metricsIntervalID !== undefined) {
|
|
17
|
-
logger('calling setupSocketMessageMetrics function with metricsIntervalID that is not undefined');
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
this.socket.onAnyOutgoing(this.socketMessageMetricsListener);
|
|
21
|
-
|
|
22
|
-
// send metrics every 60 seconds
|
|
23
|
-
this.metricsIntervalID = window.setInterval(() => {
|
|
24
|
-
this.analyticsHelper.sendActionEvent(EVENT_ACTION.WEBSOCKET_MESSAGE_VOLUME_METRIC, EVENT_STATUS.INFO, {
|
|
25
|
-
messageCount: this.messageCount,
|
|
26
|
-
totalMessageSize: this.totalMessageSize
|
|
27
|
-
});
|
|
28
|
-
this.messageCount = 0;
|
|
29
|
-
this.totalMessageSize = 0;
|
|
30
|
-
}, WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS);
|
|
31
|
-
});
|
|
32
|
-
_defineProperty(this, "closeSocketMessageMetrics", () => {
|
|
33
|
-
clearInterval(this.metricsIntervalID);
|
|
34
|
-
this.metricsIntervalID = undefined;
|
|
35
|
-
this.socket.offAnyOutgoing(this.socketMessageMetricsListener);
|
|
36
|
-
});
|
|
37
|
-
this.socket = socket;
|
|
38
|
-
this.analyticsHelper = analyticsHelper;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import { EVENT_ACTION, EVENT_STATUS } from './const';
|
|
5
|
-
import { createLogger } from './utils';
|
|
6
|
-
var logger = createLogger('SocketMessageMetrics', 'green');
|
|
7
|
-
export var WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = 60000;
|
|
8
|
-
export var SocketMessageMetrics = /*#__PURE__*/_createClass(function SocketMessageMetrics(socket, analyticsHelper) {
|
|
9
|
-
var _this = this;
|
|
10
|
-
_classCallCheck(this, SocketMessageMetrics);
|
|
11
|
-
_defineProperty(this, "messageCount", 0);
|
|
12
|
-
_defineProperty(this, "totalMessageSize", 0);
|
|
13
|
-
_defineProperty(this, "metricsIntervalID", undefined);
|
|
14
|
-
_defineProperty(this, "socketMessageMetricsListener", function (event) {
|
|
15
|
-
_this.messageCount++;
|
|
16
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
17
|
-
args[_key - 1] = arguments[_key];
|
|
18
|
-
}
|
|
19
|
-
_this.totalMessageSize += Buffer.byteLength(JSON.stringify(args), 'utf8');
|
|
20
|
-
});
|
|
21
|
-
_defineProperty(this, "setupSocketMessageMetrics", function () {
|
|
22
|
-
if (_this.metricsIntervalID !== undefined) {
|
|
23
|
-
logger('calling setupSocketMessageMetrics function with metricsIntervalID that is not undefined');
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
_this.socket.onAnyOutgoing(_this.socketMessageMetricsListener);
|
|
27
|
-
|
|
28
|
-
// send metrics every 60 seconds
|
|
29
|
-
_this.metricsIntervalID = window.setInterval(function () {
|
|
30
|
-
_this.analyticsHelper.sendActionEvent(EVENT_ACTION.WEBSOCKET_MESSAGE_VOLUME_METRIC, EVENT_STATUS.INFO, {
|
|
31
|
-
messageCount: _this.messageCount,
|
|
32
|
-
totalMessageSize: _this.totalMessageSize
|
|
33
|
-
});
|
|
34
|
-
_this.messageCount = 0;
|
|
35
|
-
_this.totalMessageSize = 0;
|
|
36
|
-
}, WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS);
|
|
37
|
-
});
|
|
38
|
-
_defineProperty(this, "closeSocketMessageMetrics", function () {
|
|
39
|
-
clearInterval(_this.metricsIntervalID);
|
|
40
|
-
_this.metricsIntervalID = undefined;
|
|
41
|
-
_this.socket.offAnyOutgoing(_this.socketMessageMetricsListener);
|
|
42
|
-
});
|
|
43
|
-
this.socket = socket;
|
|
44
|
-
this.analyticsHelper = analyticsHelper;
|
|
45
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import AnalyticsHelper from '../analytics/analytics-helper';
|
|
2
|
-
import type { Socket } from 'socket.io-client';
|
|
3
|
-
export declare const WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = 60000;
|
|
4
|
-
export declare class SocketMessageMetrics {
|
|
5
|
-
private messageCount;
|
|
6
|
-
private totalMessageSize;
|
|
7
|
-
private metricsIntervalID;
|
|
8
|
-
private socket;
|
|
9
|
-
private analyticsHelper;
|
|
10
|
-
constructor(socket: Socket, analyticsHelper: AnalyticsHelper);
|
|
11
|
-
socketMessageMetricsListener: (event: any, ...args: any[]) => void;
|
|
12
|
-
setupSocketMessageMetrics: () => void;
|
|
13
|
-
closeSocketMessageMetrics: () => void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import AnalyticsHelper from '../analytics/analytics-helper';
|
|
2
|
-
import type { Socket } from 'socket.io-client';
|
|
3
|
-
export declare const WEBSOCKET_MESSAGE_VOLUME_METRIC_SEND_INTERVAL_MS = 60000;
|
|
4
|
-
export declare class SocketMessageMetrics {
|
|
5
|
-
private messageCount;
|
|
6
|
-
private totalMessageSize;
|
|
7
|
-
private metricsIntervalID;
|
|
8
|
-
private socket;
|
|
9
|
-
private analyticsHelper;
|
|
10
|
-
constructor(socket: Socket, analyticsHelper: AnalyticsHelper);
|
|
11
|
-
socketMessageMetricsListener: (event: any, ...args: any[]) => void;
|
|
12
|
-
setupSocketMessageMetrics: () => void;
|
|
13
|
-
closeSocketMessageMetrics: () => void;
|
|
14
|
-
}
|