@microsoft/applicationinsights-channel-js 2.8.5-nightly.2206-02 → 2.8.5-nightly.2206-06
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/browser/applicationinsights-channel-js.integrity.json +9 -9
- package/browser/applicationinsights-channel-js.js +1468 -1286
- package/browser/applicationinsights-channel-js.js.map +1 -1
- package/browser/applicationinsights-channel-js.min.js +2 -2
- package/browser/applicationinsights-channel-js.min.js.map +1 -1
- package/dist/applicationinsights-channel-js.api.json +55 -23
- package/dist/applicationinsights-channel-js.d.ts +1 -1
- package/dist/applicationinsights-channel-js.js +1468 -1286
- package/dist/applicationinsights-channel-js.js.map +1 -1
- package/dist/applicationinsights-channel-js.min.js +2 -2
- package/dist/applicationinsights-channel-js.min.js.map +1 -1
- package/dist/applicationinsights-channel-js.rollup.d.ts +1 -1
- package/dist-esm/EnvelopeCreator.js +64 -63
- package/dist-esm/EnvelopeCreator.js.map +1 -1
- package/dist-esm/Interfaces.js +1 -1
- package/dist-esm/InternalConstants.js +13 -0
- package/dist-esm/InternalConstants.js.map +1 -0
- package/dist-esm/Offline.js +7 -6
- package/dist-esm/Offline.js.map +1 -1
- package/dist-esm/SendBuffer.js +61 -50
- package/dist-esm/SendBuffer.js.map +1 -1
- package/dist-esm/Sender.js +178 -172
- package/dist-esm/Sender.js.map +1 -1
- package/dist-esm/Serializer.js +16 -10
- package/dist-esm/Serializer.js.map +1 -1
- package/dist-esm/TelemetryProcessors/Sample.js +6 -5
- package/dist-esm/TelemetryProcessors/Sample.js.map +1 -1
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +4 -3
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +11 -10
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js.map +1 -1
- package/dist-esm/__DynamicConstants.js +70 -0
- package/dist-esm/__DynamicConstants.js.map +1 -0
- package/dist-esm/applicationinsights-channel-js.js +1 -1
- package/package.json +7 -4
- package/src/EnvelopeCreator.ts +19 -24
- package/src/InternalConstants.ts +11 -0
- package/src/Offline.ts +5 -3
- package/src/SendBuffer.ts +9 -6
- package/src/Sender.ts +46 -46
- package/src/Serializer.ts +7 -7
- package/src/TelemetryProcessors/Sample.ts +10 -10
- package/src/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.ts +4 -4
- package/src/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.ts +8 -8
- package/src/__DynamicConstants.ts +68 -0
- package/types/EnvelopeCreator.d.ts +1 -1
- package/types/InternalConstants.d.ts +1 -0
- package/types/Sender.d.ts +3 -3
- package/types/Serializer.d.ts +1 -1
- package/types/__DynamicConstants.d.ts +56 -0
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 2.8.5-nightly.2206-
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 2.8.5-nightly.2206-06
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -98,21 +98,310 @@
|
|
|
98
98
|
d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
101
|
+
/*!
|
|
102
|
+
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
103
|
+
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
104
|
+
*/
|
|
105
|
+
var Constructor = 'constructor';
|
|
106
|
+
var Prototype = 'prototype';
|
|
107
|
+
var strFunction = 'function';
|
|
108
|
+
var DynInstFuncTable = '_dynInstFuncs';
|
|
109
|
+
var DynProxyTag = '_isDynProxy';
|
|
110
|
+
var DynClassName = '_dynClass';
|
|
111
|
+
var DynClassNamePrefix = '_dynCls$';
|
|
112
|
+
var DynInstChkTag = '_dynInstChk';
|
|
113
|
+
var DynAllowInstChkTag = DynInstChkTag;
|
|
114
|
+
var DynProtoDefaultOptions = '_dfOpts';
|
|
115
|
+
var UnknownValue = '_unknown_';
|
|
116
|
+
var str__Proto$1 = "__proto__";
|
|
117
|
+
var DynProtoBaseProto = "_dyn" + str__Proto$1;
|
|
118
|
+
var DynProtoCurrent = "_dynInstProto";
|
|
119
|
+
var strUseBaseInst = 'useBaseInst';
|
|
120
|
+
var strSetInstFuncs = 'setInstFuncs';
|
|
121
|
+
var Obj = Object;
|
|
122
|
+
var _objGetPrototypeOf$1 = Obj["getPrototypeOf"];
|
|
123
|
+
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
124
|
+
var _dynamicNames = 0;
|
|
125
|
+
function _hasOwnProperty(obj, prop) {
|
|
126
|
+
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
127
|
+
}
|
|
128
|
+
function _isObjectOrArrayPrototype(target) {
|
|
129
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
130
|
+
}
|
|
131
|
+
function _isObjectArrayOrFunctionPrototype(target) {
|
|
132
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
133
|
+
}
|
|
134
|
+
function _getObjProto$1(target) {
|
|
135
|
+
var newProto;
|
|
136
|
+
if (target) {
|
|
137
|
+
if (_objGetPrototypeOf$1) {
|
|
138
|
+
return _objGetPrototypeOf$1(target);
|
|
139
|
+
}
|
|
140
|
+
var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
141
|
+
newProto = target[DynProtoBaseProto] || curProto;
|
|
142
|
+
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
143
|
+
delete target[DynProtoCurrent];
|
|
144
|
+
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
145
|
+
target[DynProtoCurrent] = curProto;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return newProto;
|
|
149
|
+
}
|
|
150
|
+
function _forEachProp(target, func) {
|
|
151
|
+
var props = [];
|
|
152
|
+
if (_objGetOwnProps) {
|
|
153
|
+
props = _objGetOwnProps(target);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
for (var name_1 in target) {
|
|
157
|
+
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
158
|
+
props.push(name_1);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (props && props.length > 0) {
|
|
163
|
+
for (var lp = 0; lp < props.length; lp++) {
|
|
164
|
+
func(props[lp]);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
169
|
+
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
170
|
+
}
|
|
171
|
+
function _throwTypeError(message) {
|
|
172
|
+
throw new TypeError("DynamicProto: " + message);
|
|
173
|
+
}
|
|
174
|
+
function _getInstanceFuncs(thisTarget) {
|
|
175
|
+
var instFuncs = {};
|
|
176
|
+
_forEachProp(thisTarget, function (name) {
|
|
177
|
+
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
178
|
+
instFuncs[name] = thisTarget[name];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return instFuncs;
|
|
182
|
+
}
|
|
183
|
+
function _hasVisited(values, value) {
|
|
184
|
+
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
185
|
+
if (values[lp] === value) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
192
|
+
function _instFuncProxy(target, funcHost, funcName) {
|
|
193
|
+
var theFunc = funcHost[funcName];
|
|
194
|
+
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
195
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
196
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
197
|
+
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return function () {
|
|
201
|
+
return theFunc.apply(target, arguments);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
var baseFuncs = {};
|
|
205
|
+
_forEachProp(instFuncs, function (name) {
|
|
206
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
207
|
+
});
|
|
208
|
+
var baseProto = _getObjProto$1(classProto);
|
|
209
|
+
var visited = [];
|
|
210
|
+
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
211
|
+
_forEachProp(baseProto, function (name) {
|
|
212
|
+
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf$1)) {
|
|
213
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
visited.push(baseProto);
|
|
217
|
+
baseProto = _getObjProto$1(baseProto);
|
|
218
|
+
}
|
|
219
|
+
return baseFuncs;
|
|
220
|
+
}
|
|
221
|
+
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
222
|
+
var instFunc = null;
|
|
223
|
+
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
224
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
225
|
+
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
226
|
+
if (!instFunc) {
|
|
227
|
+
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
228
|
+
}
|
|
229
|
+
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
230
|
+
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
231
|
+
var objProto = _getObjProto$1(target);
|
|
232
|
+
var visited = [];
|
|
233
|
+
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
234
|
+
var protoFunc = objProto[funcName];
|
|
235
|
+
if (protoFunc) {
|
|
236
|
+
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
visited.push(objProto);
|
|
240
|
+
objProto = _getObjProto$1(objProto);
|
|
241
|
+
}
|
|
242
|
+
try {
|
|
243
|
+
if (canAddInst) {
|
|
244
|
+
target[funcName] = instFunc;
|
|
245
|
+
}
|
|
246
|
+
instFunc[DynInstChkTag] = 1;
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
instFuncTable[DynAllowInstChkTag] = false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return instFunc;
|
|
254
|
+
}
|
|
255
|
+
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
256
|
+
var protoFunc = proto[funcName];
|
|
257
|
+
if (protoFunc === currentDynProtoProxy) {
|
|
258
|
+
protoFunc = _getObjProto$1(proto)[funcName];
|
|
259
|
+
}
|
|
260
|
+
if (typeof protoFunc !== strFunction) {
|
|
261
|
+
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
262
|
+
}
|
|
263
|
+
return protoFunc;
|
|
264
|
+
}
|
|
265
|
+
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
266
|
+
function _createDynamicPrototype(proto, funcName) {
|
|
267
|
+
var dynProtoProxy = function () {
|
|
268
|
+
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
269
|
+
return instFunc.apply(this, arguments);
|
|
270
|
+
};
|
|
271
|
+
dynProtoProxy[DynProxyTag] = 1;
|
|
272
|
+
return dynProtoProxy;
|
|
273
|
+
}
|
|
274
|
+
if (!_isObjectOrArrayPrototype(proto)) {
|
|
275
|
+
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
276
|
+
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
277
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
278
|
+
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
279
|
+
}
|
|
280
|
+
_forEachProp(target, function (name) {
|
|
281
|
+
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
282
|
+
instFuncs_1[name] = target[name];
|
|
283
|
+
delete target[name];
|
|
284
|
+
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
285
|
+
proto[name] = _createDynamicPrototype(proto, name);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function _checkPrototype(classProto, thisTarget) {
|
|
292
|
+
if (_objGetPrototypeOf$1) {
|
|
293
|
+
var visited = [];
|
|
294
|
+
var thisProto = _getObjProto$1(thisTarget);
|
|
295
|
+
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
296
|
+
if (thisProto === classProto) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
visited.push(thisProto);
|
|
300
|
+
thisProto = _getObjProto$1(thisProto);
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
function _getObjName(target, unknownValue) {
|
|
307
|
+
if (_hasOwnProperty(target, Prototype)) {
|
|
308
|
+
return target.name || unknownValue || UnknownValue;
|
|
309
|
+
}
|
|
310
|
+
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
311
|
+
}
|
|
312
|
+
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
313
|
+
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
314
|
+
_throwTypeError("theClass is an invalid class definition.");
|
|
315
|
+
}
|
|
316
|
+
var classProto = theClass[Prototype];
|
|
317
|
+
if (!_checkPrototype(classProto, target)) {
|
|
318
|
+
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
319
|
+
}
|
|
320
|
+
var className = null;
|
|
321
|
+
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
322
|
+
className = classProto[DynClassName];
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
326
|
+
_dynamicNames++;
|
|
327
|
+
classProto[DynClassName] = className;
|
|
328
|
+
}
|
|
329
|
+
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
330
|
+
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
331
|
+
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
332
|
+
useBaseInst = !!options[strUseBaseInst];
|
|
333
|
+
}
|
|
334
|
+
var instFuncs = _getInstanceFuncs(target);
|
|
335
|
+
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
336
|
+
delegateFunc(target, baseFuncs);
|
|
337
|
+
var setInstanceFunc = !!_objGetPrototypeOf$1 && !!perfOptions[strSetInstFuncs];
|
|
338
|
+
if (setInstanceFunc && options) {
|
|
339
|
+
setInstanceFunc = !!options[strSetInstFuncs];
|
|
340
|
+
}
|
|
341
|
+
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
342
|
+
}
|
|
343
|
+
var perfDefaults = {
|
|
344
|
+
setInstFuncs: true,
|
|
345
|
+
useBaseInst: true
|
|
346
|
+
};
|
|
347
|
+
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
348
|
+
|
|
349
|
+
var _DYN_INITIALIZE = "initialize";
|
|
350
|
+
var _DYN_NAME$2 = "name";
|
|
351
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
352
|
+
var _DYN_PUSH$1 = "push";
|
|
353
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
354
|
+
var _DYN_CONFIG = "config";
|
|
355
|
+
var _DYN_LOGGER = "logger";
|
|
356
|
+
var _DYN_LENGTH$2 = "length";
|
|
357
|
+
var _DYN_TIME = "time";
|
|
358
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
359
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
360
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
361
|
+
var _DYN_SPLICE = "splice";
|
|
362
|
+
var _DYN_TEARDOWN = "teardown";
|
|
363
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
364
|
+
var _DYN_MESSAGE$1 = "message";
|
|
365
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
366
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
367
|
+
var _DYN_UPDATE = "update";
|
|
368
|
+
var _DYN_GET_NEXT = "getNext";
|
|
369
|
+
var _DYN_DIAG_LOG$1 = "diagLog";
|
|
370
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
371
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
372
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
373
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
374
|
+
var _DYN_SPLIT$1 = "split";
|
|
375
|
+
var _DYN_REPLACE = "replace";
|
|
376
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
377
|
+
var _DYN_APPLY = "apply";
|
|
378
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
379
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
380
|
+
var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
|
|
381
|
+
var _DYN_CALL = "call";
|
|
382
|
+
var _DYN_TYPE = "type";
|
|
383
|
+
var _DYN_HANDLER = "handler";
|
|
384
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
385
|
+
var _DYN_GET_CTX = "getCtx";
|
|
386
|
+
var _DYN_SET_CTX = "setCtx";
|
|
387
|
+
var _DYN_COMPLETE = "complete";
|
|
388
|
+
|
|
389
|
+
var STR_EMPTY = "";
|
|
390
|
+
var STR_CORE = "core";
|
|
391
|
+
var STR_DISABLED = "disabled";
|
|
392
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
393
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
394
|
+
var STR_PRIORITY = "priority";
|
|
395
|
+
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
396
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
397
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
109
398
|
|
|
110
399
|
var strToISOString = "toISOString";
|
|
111
400
|
var strIndexOf = "indexOf";
|
|
112
401
|
var strMap = "map";
|
|
113
402
|
var cStrTrim = "trim";
|
|
114
403
|
var strToString = "toString";
|
|
115
|
-
var str__Proto
|
|
404
|
+
var str__Proto = "__proto__";
|
|
116
405
|
var strConstructor = "constructor";
|
|
117
406
|
var _objDefineProperty$1 = ObjDefineProperty;
|
|
118
407
|
var _objFreeze = ObjClass.freeze;
|
|
@@ -124,17 +413,17 @@
|
|
|
124
413
|
var _isArray = Array.isArray;
|
|
125
414
|
var _objToString = ObjProto[strToString];
|
|
126
415
|
var _fnToString = ObjHasOwnProperty[strToString];
|
|
127
|
-
var _objFunctionString = _fnToString
|
|
416
|
+
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
128
417
|
var rCamelCase = /-([a-z])/g;
|
|
129
418
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
130
419
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
131
|
-
var _objGetPrototypeOf
|
|
132
|
-
function _getObjProto
|
|
420
|
+
var _objGetPrototypeOf = Object["getPrototypeOf"];
|
|
421
|
+
function _getObjProto(target) {
|
|
133
422
|
if (target) {
|
|
134
|
-
if (_objGetPrototypeOf
|
|
135
|
-
return _objGetPrototypeOf
|
|
423
|
+
if (_objGetPrototypeOf) {
|
|
424
|
+
return _objGetPrototypeOf(target);
|
|
136
425
|
}
|
|
137
|
-
var newProto = target[str__Proto
|
|
426
|
+
var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
|
|
138
427
|
if (newProto) {
|
|
139
428
|
return newProto;
|
|
140
429
|
}
|
|
@@ -156,11 +445,11 @@
|
|
|
156
445
|
function normalizeJsName(name) {
|
|
157
446
|
var value = name;
|
|
158
447
|
if (value && isString(value)) {
|
|
159
|
-
value = value
|
|
448
|
+
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
160
449
|
return letter.toUpperCase();
|
|
161
450
|
});
|
|
162
|
-
value = value
|
|
163
|
-
value = value
|
|
451
|
+
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
452
|
+
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
164
453
|
return "_" + match;
|
|
165
454
|
});
|
|
166
455
|
}
|
|
@@ -169,24 +458,24 @@
|
|
|
169
458
|
function objForEachKey(target, callbackfn) {
|
|
170
459
|
if (target) {
|
|
171
460
|
for (var prop in target) {
|
|
172
|
-
if (ObjHasOwnProperty
|
|
173
|
-
callbackfn
|
|
461
|
+
if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
|
|
462
|
+
callbackfn[_DYN_CALL ](target, prop, target[prop]);
|
|
174
463
|
}
|
|
175
464
|
}
|
|
176
465
|
}
|
|
177
466
|
}
|
|
178
467
|
function strContains(value, search) {
|
|
179
468
|
if (value && search) {
|
|
180
|
-
return value
|
|
469
|
+
return value[_DYN_INDEX_OF$1 ](search) !== -1;
|
|
181
470
|
}
|
|
182
471
|
return false;
|
|
183
472
|
}
|
|
184
473
|
var isArray = _isArray || _isArrayPoly;
|
|
185
474
|
function _isArrayPoly(obj) {
|
|
186
|
-
return !!(obj && _objToString
|
|
475
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
187
476
|
}
|
|
188
477
|
function isError(obj) {
|
|
189
|
-
return !!(obj && _objToString
|
|
478
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
190
479
|
}
|
|
191
480
|
function isString(value) {
|
|
192
481
|
return typeof value === "string";
|
|
@@ -200,15 +489,15 @@
|
|
|
200
489
|
function isPlainObject(value) {
|
|
201
490
|
var result = false;
|
|
202
491
|
if (value && typeof value === "object") {
|
|
203
|
-
var proto = _objGetPrototypeOf
|
|
492
|
+
var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);
|
|
204
493
|
if (!proto) {
|
|
205
494
|
result = true;
|
|
206
495
|
}
|
|
207
496
|
else {
|
|
208
|
-
if (proto[strConstructor] && ObjHasOwnProperty
|
|
497
|
+
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
209
498
|
proto = proto[strConstructor];
|
|
210
499
|
}
|
|
211
|
-
result = typeof proto === strShimFunction && _fnToString
|
|
500
|
+
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
212
501
|
}
|
|
213
502
|
}
|
|
214
503
|
return result;
|
|
@@ -222,7 +511,7 @@
|
|
|
222
511
|
if (date && date.getUTCFullYear) {
|
|
223
512
|
var pad = function (num) {
|
|
224
513
|
var r = String(num);
|
|
225
|
-
if (r
|
|
514
|
+
if (r[_DYN_LENGTH$2 ] === 1) {
|
|
226
515
|
r = "0" + r;
|
|
227
516
|
}
|
|
228
517
|
return r;
|
|
@@ -238,11 +527,11 @@
|
|
|
238
527
|
}
|
|
239
528
|
}
|
|
240
529
|
function arrForEach(arr, callbackfn, thisArg) {
|
|
241
|
-
var len = arr
|
|
530
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
242
531
|
try {
|
|
243
532
|
for (var idx = 0; idx < len; idx++) {
|
|
244
533
|
if (idx in arr) {
|
|
245
|
-
if (callbackfn
|
|
534
|
+
if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
246
535
|
break;
|
|
247
536
|
}
|
|
248
537
|
}
|
|
@@ -256,7 +545,7 @@
|
|
|
256
545
|
if (arr[strIndexOf]) {
|
|
257
546
|
return arr[strIndexOf](searchElement, fromIndex);
|
|
258
547
|
}
|
|
259
|
-
var len = arr
|
|
548
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
260
549
|
var from = fromIndex || 0;
|
|
261
550
|
try {
|
|
262
551
|
for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
|
|
@@ -276,13 +565,13 @@
|
|
|
276
565
|
if (arr[strMap]) {
|
|
277
566
|
return arr[strMap](callbackfn, thisArg);
|
|
278
567
|
}
|
|
279
|
-
var len = arr
|
|
568
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
280
569
|
var _this = thisArg || arr;
|
|
281
570
|
results = new Array(len);
|
|
282
571
|
try {
|
|
283
572
|
for (var lp = 0; lp < len; lp++) {
|
|
284
573
|
if (lp in arr) {
|
|
285
|
-
results[lp] = callbackfn
|
|
574
|
+
results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
|
|
286
575
|
}
|
|
287
576
|
}
|
|
288
577
|
}
|
|
@@ -293,7 +582,7 @@
|
|
|
293
582
|
}
|
|
294
583
|
function strTrim(str) {
|
|
295
584
|
if (str) {
|
|
296
|
-
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str
|
|
585
|
+
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY) : str);
|
|
297
586
|
}
|
|
298
587
|
return str;
|
|
299
588
|
}
|
|
@@ -317,15 +606,15 @@
|
|
|
317
606
|
}
|
|
318
607
|
var result = [];
|
|
319
608
|
for (var prop in obj) {
|
|
320
|
-
if (obj && ObjHasOwnProperty
|
|
321
|
-
result
|
|
609
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
|
|
610
|
+
result[_DYN_PUSH$1 ](prop);
|
|
322
611
|
}
|
|
323
612
|
}
|
|
324
613
|
if (_objKeysHasDontEnumBug) {
|
|
325
|
-
var dontEnumsLength = _objKeysDontEnums
|
|
614
|
+
var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH$2 ];
|
|
326
615
|
for (var lp = 0; lp < dontEnumsLength; lp++) {
|
|
327
|
-
if (obj && ObjHasOwnProperty
|
|
328
|
-
result
|
|
616
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
|
|
617
|
+
result[_DYN_PUSH$1 ](_objKeysDontEnums[lp]);
|
|
329
618
|
}
|
|
330
619
|
}
|
|
331
620
|
}
|
|
@@ -372,9 +661,9 @@
|
|
|
372
661
|
}
|
|
373
662
|
function getExceptionName(object) {
|
|
374
663
|
if (isError(object)) {
|
|
375
|
-
return object
|
|
664
|
+
return object[_DYN_NAME$2 ];
|
|
376
665
|
}
|
|
377
|
-
return
|
|
666
|
+
return STR_EMPTY;
|
|
378
667
|
}
|
|
379
668
|
function setValue(target, field, value, valChk, srcChk) {
|
|
380
669
|
var theValue = value;
|
|
@@ -387,6 +676,9 @@
|
|
|
387
676
|
}
|
|
388
677
|
return theValue;
|
|
389
678
|
}
|
|
679
|
+
function getCfgValue(theValue, defaultValue) {
|
|
680
|
+
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
681
|
+
}
|
|
390
682
|
function isTruthy(value) {
|
|
391
683
|
return !!value;
|
|
392
684
|
}
|
|
@@ -405,7 +697,7 @@
|
|
|
405
697
|
src = srcFunc();
|
|
406
698
|
}
|
|
407
699
|
if (src) {
|
|
408
|
-
return src[funcName]
|
|
700
|
+
return src[funcName][_DYN_APPLY ](src, originalArguments);
|
|
409
701
|
}
|
|
410
702
|
};
|
|
411
703
|
}
|
|
@@ -438,7 +730,7 @@
|
|
|
438
730
|
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
439
731
|
var theArgs = arguments;
|
|
440
732
|
var extended = theArgs[0] || {};
|
|
441
|
-
var argLen = theArgs
|
|
733
|
+
var argLen = theArgs[_DYN_LENGTH$2 ];
|
|
442
734
|
var deep = false;
|
|
443
735
|
var idx = 1;
|
|
444
736
|
if (argLen > 0 && isBoolean(extended)) {
|
|
@@ -454,7 +746,7 @@
|
|
|
454
746
|
var isArgArray = isArray(arg);
|
|
455
747
|
var isArgObj = isObject(arg);
|
|
456
748
|
for (var prop in arg) {
|
|
457
|
-
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty
|
|
749
|
+
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
|
|
458
750
|
if (!propOk) {
|
|
459
751
|
continue;
|
|
460
752
|
}
|
|
@@ -497,254 +789,6 @@
|
|
|
497
789
|
return deepFreeze(mapClass);
|
|
498
790
|
}
|
|
499
791
|
|
|
500
|
-
/*!
|
|
501
|
-
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
502
|
-
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
503
|
-
*/
|
|
504
|
-
var Constructor = 'constructor';
|
|
505
|
-
var Prototype = 'prototype';
|
|
506
|
-
var strFunction = 'function';
|
|
507
|
-
var DynInstFuncTable = '_dynInstFuncs';
|
|
508
|
-
var DynProxyTag = '_isDynProxy';
|
|
509
|
-
var DynClassName = '_dynClass';
|
|
510
|
-
var DynClassNamePrefix = '_dynCls$';
|
|
511
|
-
var DynInstChkTag = '_dynInstChk';
|
|
512
|
-
var DynAllowInstChkTag = DynInstChkTag;
|
|
513
|
-
var DynProtoDefaultOptions = '_dfOpts';
|
|
514
|
-
var UnknownValue = '_unknown_';
|
|
515
|
-
var str__Proto = "__proto__";
|
|
516
|
-
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
517
|
-
var DynProtoCurrent = "_dynInstProto";
|
|
518
|
-
var strUseBaseInst = 'useBaseInst';
|
|
519
|
-
var strSetInstFuncs = 'setInstFuncs';
|
|
520
|
-
var Obj = Object;
|
|
521
|
-
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
522
|
-
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
523
|
-
var _dynamicNames = 0;
|
|
524
|
-
function _hasOwnProperty(obj, prop) {
|
|
525
|
-
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
526
|
-
}
|
|
527
|
-
function _isObjectOrArrayPrototype(target) {
|
|
528
|
-
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
529
|
-
}
|
|
530
|
-
function _isObjectArrayOrFunctionPrototype(target) {
|
|
531
|
-
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
532
|
-
}
|
|
533
|
-
function _getObjProto(target) {
|
|
534
|
-
var newProto;
|
|
535
|
-
if (target) {
|
|
536
|
-
if (_objGetPrototypeOf) {
|
|
537
|
-
return _objGetPrototypeOf(target);
|
|
538
|
-
}
|
|
539
|
-
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
540
|
-
newProto = target[DynProtoBaseProto] || curProto;
|
|
541
|
-
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
542
|
-
delete target[DynProtoCurrent];
|
|
543
|
-
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
544
|
-
target[DynProtoCurrent] = curProto;
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
return newProto;
|
|
548
|
-
}
|
|
549
|
-
function _forEachProp(target, func) {
|
|
550
|
-
var props = [];
|
|
551
|
-
if (_objGetOwnProps) {
|
|
552
|
-
props = _objGetOwnProps(target);
|
|
553
|
-
}
|
|
554
|
-
else {
|
|
555
|
-
for (var name_1 in target) {
|
|
556
|
-
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
557
|
-
props.push(name_1);
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
if (props && props.length > 0) {
|
|
562
|
-
for (var lp = 0; lp < props.length; lp++) {
|
|
563
|
-
func(props[lp]);
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
568
|
-
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
569
|
-
}
|
|
570
|
-
function _throwTypeError(message) {
|
|
571
|
-
throw new TypeError("DynamicProto: " + message);
|
|
572
|
-
}
|
|
573
|
-
function _getInstanceFuncs(thisTarget) {
|
|
574
|
-
var instFuncs = {};
|
|
575
|
-
_forEachProp(thisTarget, function (name) {
|
|
576
|
-
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
577
|
-
instFuncs[name] = thisTarget[name];
|
|
578
|
-
}
|
|
579
|
-
});
|
|
580
|
-
return instFuncs;
|
|
581
|
-
}
|
|
582
|
-
function _hasVisited(values, value) {
|
|
583
|
-
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
584
|
-
if (values[lp] === value) {
|
|
585
|
-
return true;
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
return false;
|
|
589
|
-
}
|
|
590
|
-
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
591
|
-
function _instFuncProxy(target, funcHost, funcName) {
|
|
592
|
-
var theFunc = funcHost[funcName];
|
|
593
|
-
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
594
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
595
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
596
|
-
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
return function () {
|
|
600
|
-
return theFunc.apply(target, arguments);
|
|
601
|
-
};
|
|
602
|
-
}
|
|
603
|
-
var baseFuncs = {};
|
|
604
|
-
_forEachProp(instFuncs, function (name) {
|
|
605
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
606
|
-
});
|
|
607
|
-
var baseProto = _getObjProto(classProto);
|
|
608
|
-
var visited = [];
|
|
609
|
-
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
610
|
-
_forEachProp(baseProto, function (name) {
|
|
611
|
-
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
|
|
612
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
visited.push(baseProto);
|
|
616
|
-
baseProto = _getObjProto(baseProto);
|
|
617
|
-
}
|
|
618
|
-
return baseFuncs;
|
|
619
|
-
}
|
|
620
|
-
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
621
|
-
var instFunc = null;
|
|
622
|
-
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
623
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
624
|
-
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
625
|
-
if (!instFunc) {
|
|
626
|
-
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
627
|
-
}
|
|
628
|
-
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
629
|
-
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
630
|
-
var objProto = _getObjProto(target);
|
|
631
|
-
var visited = [];
|
|
632
|
-
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
633
|
-
var protoFunc = objProto[funcName];
|
|
634
|
-
if (protoFunc) {
|
|
635
|
-
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
636
|
-
break;
|
|
637
|
-
}
|
|
638
|
-
visited.push(objProto);
|
|
639
|
-
objProto = _getObjProto(objProto);
|
|
640
|
-
}
|
|
641
|
-
try {
|
|
642
|
-
if (canAddInst) {
|
|
643
|
-
target[funcName] = instFunc;
|
|
644
|
-
}
|
|
645
|
-
instFunc[DynInstChkTag] = 1;
|
|
646
|
-
}
|
|
647
|
-
catch (e) {
|
|
648
|
-
instFuncTable[DynAllowInstChkTag] = false;
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
return instFunc;
|
|
653
|
-
}
|
|
654
|
-
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
655
|
-
var protoFunc = proto[funcName];
|
|
656
|
-
if (protoFunc === currentDynProtoProxy) {
|
|
657
|
-
protoFunc = _getObjProto(proto)[funcName];
|
|
658
|
-
}
|
|
659
|
-
if (typeof protoFunc !== strFunction) {
|
|
660
|
-
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
661
|
-
}
|
|
662
|
-
return protoFunc;
|
|
663
|
-
}
|
|
664
|
-
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
665
|
-
function _createDynamicPrototype(proto, funcName) {
|
|
666
|
-
var dynProtoProxy = function () {
|
|
667
|
-
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
668
|
-
return instFunc.apply(this, arguments);
|
|
669
|
-
};
|
|
670
|
-
dynProtoProxy[DynProxyTag] = 1;
|
|
671
|
-
return dynProtoProxy;
|
|
672
|
-
}
|
|
673
|
-
if (!_isObjectOrArrayPrototype(proto)) {
|
|
674
|
-
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
675
|
-
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
676
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
677
|
-
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
678
|
-
}
|
|
679
|
-
_forEachProp(target, function (name) {
|
|
680
|
-
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
681
|
-
instFuncs_1[name] = target[name];
|
|
682
|
-
delete target[name];
|
|
683
|
-
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
684
|
-
proto[name] = _createDynamicPrototype(proto, name);
|
|
685
|
-
}
|
|
686
|
-
}
|
|
687
|
-
});
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
function _checkPrototype(classProto, thisTarget) {
|
|
691
|
-
if (_objGetPrototypeOf) {
|
|
692
|
-
var visited = [];
|
|
693
|
-
var thisProto = _getObjProto(thisTarget);
|
|
694
|
-
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
695
|
-
if (thisProto === classProto) {
|
|
696
|
-
return true;
|
|
697
|
-
}
|
|
698
|
-
visited.push(thisProto);
|
|
699
|
-
thisProto = _getObjProto(thisProto);
|
|
700
|
-
}
|
|
701
|
-
return false;
|
|
702
|
-
}
|
|
703
|
-
return true;
|
|
704
|
-
}
|
|
705
|
-
function _getObjName(target, unknownValue) {
|
|
706
|
-
if (_hasOwnProperty(target, Prototype)) {
|
|
707
|
-
return target.name || unknownValue || UnknownValue;
|
|
708
|
-
}
|
|
709
|
-
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
710
|
-
}
|
|
711
|
-
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
712
|
-
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
713
|
-
_throwTypeError("theClass is an invalid class definition.");
|
|
714
|
-
}
|
|
715
|
-
var classProto = theClass[Prototype];
|
|
716
|
-
if (!_checkPrototype(classProto, target)) {
|
|
717
|
-
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
718
|
-
}
|
|
719
|
-
var className = null;
|
|
720
|
-
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
721
|
-
className = classProto[DynClassName];
|
|
722
|
-
}
|
|
723
|
-
else {
|
|
724
|
-
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
725
|
-
_dynamicNames++;
|
|
726
|
-
classProto[DynClassName] = className;
|
|
727
|
-
}
|
|
728
|
-
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
729
|
-
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
730
|
-
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
731
|
-
useBaseInst = !!options[strUseBaseInst];
|
|
732
|
-
}
|
|
733
|
-
var instFuncs = _getInstanceFuncs(target);
|
|
734
|
-
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
735
|
-
delegateFunc(target, baseFuncs);
|
|
736
|
-
var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
|
|
737
|
-
if (setInstanceFunc && options) {
|
|
738
|
-
setInstanceFunc = !!options[strSetInstFuncs];
|
|
739
|
-
}
|
|
740
|
-
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
741
|
-
}
|
|
742
|
-
var perfDefaults = {
|
|
743
|
-
setInstFuncs: true,
|
|
744
|
-
useBaseInst: true
|
|
745
|
-
};
|
|
746
|
-
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
747
|
-
|
|
748
792
|
var strWindow = "window";
|
|
749
793
|
var strDocument = "document";
|
|
750
794
|
var strDocumentMode = "documentMode";
|
|
@@ -845,9 +889,9 @@
|
|
|
845
889
|
}
|
|
846
890
|
function isIE() {
|
|
847
891
|
var nav = getNavigator();
|
|
848
|
-
if (nav && (nav
|
|
849
|
-
_navUserAgentCheck = nav
|
|
850
|
-
var userAgent = (_navUserAgentCheck ||
|
|
892
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
893
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
894
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
851
895
|
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
852
896
|
}
|
|
853
897
|
return _isTrident;
|
|
@@ -856,15 +900,15 @@
|
|
|
856
900
|
if (userAgentStr === void 0) { userAgentStr = null; }
|
|
857
901
|
if (!userAgentStr) {
|
|
858
902
|
var navigator_1 = getNavigator() || {};
|
|
859
|
-
userAgentStr = navigator_1 ? (navigator_1
|
|
903
|
+
userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
|
|
860
904
|
}
|
|
861
|
-
var ua = (userAgentStr ||
|
|
905
|
+
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
862
906
|
if (strContains(ua, strMsie)) {
|
|
863
907
|
var doc = getDocument() || {};
|
|
864
|
-
return Math.max(parseInt(ua
|
|
908
|
+
return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
865
909
|
}
|
|
866
910
|
else if (strContains(ua, strTrident)) {
|
|
867
|
-
var tridentVer = parseInt(ua
|
|
911
|
+
var tridentVer = parseInt(ua[_DYN_SPLIT$1 ](strTrident)[1]);
|
|
868
912
|
if (tridentVer) {
|
|
869
913
|
return tridentVer + 4;
|
|
870
914
|
}
|
|
@@ -872,10 +916,10 @@
|
|
|
872
916
|
return null;
|
|
873
917
|
}
|
|
874
918
|
function dumpObj(object) {
|
|
875
|
-
var objectTypeDump = Object[strShimPrototype].toString
|
|
876
|
-
var propertyValueDump =
|
|
919
|
+
var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
|
|
920
|
+
var propertyValueDump = STR_EMPTY;
|
|
877
921
|
if (objectTypeDump === "[object Error]") {
|
|
878
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object
|
|
922
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME$2 ] + "'";
|
|
879
923
|
}
|
|
880
924
|
else if (hasJSON()) {
|
|
881
925
|
propertyValueDump = getJSON().stringify(object);
|
|
@@ -940,13 +984,11 @@
|
|
|
940
984
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
941
985
|
var AiUserActionablePrefix = "AI: ";
|
|
942
986
|
var AIInternalMessagePrefix = "AITR_";
|
|
943
|
-
var strErrorToConsole = "errorToConsole";
|
|
944
|
-
var strWarnToConsole = "warnToConsole";
|
|
945
987
|
function _sanitizeDiagnosticText(text) {
|
|
946
988
|
if (text) {
|
|
947
|
-
return "\"" + text
|
|
989
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
948
990
|
}
|
|
949
|
-
return
|
|
991
|
+
return STR_EMPTY;
|
|
950
992
|
}
|
|
951
993
|
function _logToConsole(func, message) {
|
|
952
994
|
var theConsole = getConsole();
|
|
@@ -964,23 +1006,23 @@
|
|
|
964
1006
|
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
965
1007
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
966
1008
|
var _self = this;
|
|
967
|
-
_self
|
|
968
|
-
_self
|
|
1009
|
+
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
1010
|
+
_self[_DYN_MESSAGE$1 ] =
|
|
969
1011
|
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
970
1012
|
msgId;
|
|
971
|
-
var strProps =
|
|
1013
|
+
var strProps = STR_EMPTY;
|
|
972
1014
|
if (hasJSON()) {
|
|
973
1015
|
strProps = getJSON().stringify(properties);
|
|
974
1016
|
}
|
|
975
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) :
|
|
976
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) :
|
|
977
|
-
_self
|
|
1017
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
1018
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
1019
|
+
_self[_DYN_MESSAGE$1 ] += diagnosticText;
|
|
978
1020
|
}
|
|
979
1021
|
_InternalLogMessage.dataType = "MessageData";
|
|
980
1022
|
return _InternalLogMessage;
|
|
981
1023
|
}());
|
|
982
1024
|
function safeGetLogger(core, config) {
|
|
983
|
-
return (core || {})
|
|
1025
|
+
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
984
1026
|
}
|
|
985
1027
|
var DiagnosticLogger = /** @class */ (function () {
|
|
986
1028
|
function DiagnosticLogger(config) {
|
|
@@ -988,48 +1030,49 @@
|
|
|
988
1030
|
this.queue = [];
|
|
989
1031
|
var _messageCount = 0;
|
|
990
1032
|
var _messageLogged = {};
|
|
1033
|
+
var _loggingLevelConsole;
|
|
1034
|
+
var _loggingLevelTelemetry;
|
|
1035
|
+
var _maxInternalMessageLimit;
|
|
1036
|
+
var _enableDebugExceptions;
|
|
991
1037
|
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
}
|
|
995
|
-
_self.
|
|
996
|
-
_self
|
|
997
|
-
_self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
|
|
998
|
-
_self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
|
|
1038
|
+
_setDefaultsFromConfig(config || {});
|
|
1039
|
+
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
1040
|
+
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
1041
|
+
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
1042
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
999
1043
|
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
1000
1044
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1001
1045
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
1002
|
-
if (
|
|
1046
|
+
if (_enableDebugExceptions) {
|
|
1003
1047
|
throw dumpObj(message);
|
|
1004
1048
|
}
|
|
1005
1049
|
else {
|
|
1006
|
-
var logFunc = severity === 1 ?
|
|
1007
|
-
if (!isUndefined(message
|
|
1008
|
-
var logLevel = _self.consoleLoggingLevel();
|
|
1050
|
+
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
1051
|
+
if (!isUndefined(message[_DYN_MESSAGE$1 ])) {
|
|
1009
1052
|
if (isUserAct) {
|
|
1010
|
-
var messageKey = +message
|
|
1011
|
-
if (!_messageLogged[messageKey] &&
|
|
1012
|
-
_self[logFunc](message
|
|
1053
|
+
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
1054
|
+
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
1055
|
+
_self[logFunc](message[_DYN_MESSAGE$1 ]);
|
|
1013
1056
|
_messageLogged[messageKey] = true;
|
|
1014
1057
|
}
|
|
1015
1058
|
}
|
|
1016
1059
|
else {
|
|
1017
|
-
if (
|
|
1018
|
-
_self[logFunc](message
|
|
1060
|
+
if (_loggingLevelConsole >= severity) {
|
|
1061
|
+
_self[logFunc](message[_DYN_MESSAGE$1 ]);
|
|
1019
1062
|
}
|
|
1020
1063
|
}
|
|
1021
|
-
|
|
1064
|
+
_logInternalMessage(severity, message);
|
|
1022
1065
|
}
|
|
1023
1066
|
else {
|
|
1024
1067
|
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
1025
1068
|
}
|
|
1026
1069
|
}
|
|
1027
1070
|
};
|
|
1028
|
-
_self
|
|
1071
|
+
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
1029
1072
|
_logToConsole("warn", message);
|
|
1030
1073
|
_debugExtMsg("warning", message);
|
|
1031
1074
|
};
|
|
1032
|
-
_self
|
|
1075
|
+
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
1033
1076
|
_logToConsole("error", message);
|
|
1034
1077
|
_debugExtMsg("error", message);
|
|
1035
1078
|
};
|
|
@@ -1037,12 +1080,13 @@
|
|
|
1037
1080
|
_messageCount = 0;
|
|
1038
1081
|
_messageLogged = {};
|
|
1039
1082
|
};
|
|
1040
|
-
_self
|
|
1083
|
+
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
1084
|
+
function _logInternalMessage(severity, message) {
|
|
1041
1085
|
if (_areInternalMessagesThrottled()) {
|
|
1042
1086
|
return;
|
|
1043
1087
|
}
|
|
1044
1088
|
var logMessage = true;
|
|
1045
|
-
var messageKey = AIInternalMessagePrefix + message
|
|
1089
|
+
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
1046
1090
|
if (_messageLogged[messageKey]) {
|
|
1047
1091
|
logMessage = false;
|
|
1048
1092
|
}
|
|
@@ -1050,42 +1094,42 @@
|
|
|
1050
1094
|
_messageLogged[messageKey] = true;
|
|
1051
1095
|
}
|
|
1052
1096
|
if (logMessage) {
|
|
1053
|
-
if (severity <=
|
|
1054
|
-
_self.queue
|
|
1097
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
1098
|
+
_self.queue[_DYN_PUSH$1 ](message);
|
|
1055
1099
|
_messageCount++;
|
|
1056
1100
|
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
1057
1101
|
}
|
|
1058
|
-
if (_messageCount ===
|
|
1102
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
1059
1103
|
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
1060
1104
|
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
1061
|
-
_self.queue
|
|
1105
|
+
_self.queue[_DYN_PUSH$1 ](throttleMessage);
|
|
1062
1106
|
if (severity === 1 ) {
|
|
1063
|
-
_self
|
|
1107
|
+
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
1064
1108
|
}
|
|
1065
1109
|
else {
|
|
1066
|
-
_self
|
|
1110
|
+
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
1067
1111
|
}
|
|
1068
1112
|
}
|
|
1069
1113
|
}
|
|
1070
|
-
}
|
|
1071
|
-
function
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
return defValue;
|
|
1114
|
+
}
|
|
1115
|
+
function _setDefaultsFromConfig(config) {
|
|
1116
|
+
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
1117
|
+
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
1118
|
+
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
1119
|
+
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
1077
1120
|
}
|
|
1078
1121
|
function _areInternalMessagesThrottled() {
|
|
1079
|
-
return _messageCount >=
|
|
1122
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
1080
1123
|
}
|
|
1081
1124
|
function _debugExtMsg(name, data) {
|
|
1082
|
-
var dbgExt = getDebugExt(config);
|
|
1083
|
-
if (dbgExt && dbgExt
|
|
1084
|
-
dbgExt
|
|
1125
|
+
var dbgExt = getDebugExt(config || {});
|
|
1126
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG$1 ]) {
|
|
1127
|
+
dbgExt[_DYN_DIAG_LOG$1 ](name, data);
|
|
1085
1128
|
}
|
|
1086
1129
|
}
|
|
1087
1130
|
});
|
|
1088
1131
|
}
|
|
1132
|
+
DiagnosticLogger.__ieDyn=1;
|
|
1089
1133
|
return DiagnosticLogger;
|
|
1090
1134
|
}());
|
|
1091
1135
|
function _getLogger(logger) {
|
|
@@ -1093,21 +1137,23 @@
|
|
|
1093
1137
|
}
|
|
1094
1138
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1095
1139
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1096
|
-
(logger
|
|
1140
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
1097
1141
|
}
|
|
1098
1142
|
function _warnToConsole(logger, message) {
|
|
1099
|
-
_getLogger(logger)
|
|
1143
|
+
_getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
|
|
1100
1144
|
}
|
|
1101
1145
|
|
|
1102
1146
|
var strExecutionContextKey = "ctx";
|
|
1147
|
+
var strParentContextKey = "ParentContextKey";
|
|
1148
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
1103
1149
|
var PerfEvent = /** @class */ (function () {
|
|
1104
1150
|
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1105
1151
|
var _self = this;
|
|
1106
1152
|
var accessorDefined = false;
|
|
1107
1153
|
_self.start = dateNow();
|
|
1108
|
-
_self
|
|
1109
|
-
_self
|
|
1110
|
-
_self
|
|
1154
|
+
_self[_DYN_NAME$2 ] = name;
|
|
1155
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1156
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1111
1157
|
if (isFunction(payloadDetails)) {
|
|
1112
1158
|
var theDetails_1;
|
|
1113
1159
|
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
@@ -1118,24 +1164,24 @@
|
|
|
1118
1164
|
return theDetails_1;
|
|
1119
1165
|
});
|
|
1120
1166
|
}
|
|
1121
|
-
_self
|
|
1167
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
1122
1168
|
if (key) {
|
|
1123
|
-
if (key === PerfEvent
|
|
1169
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1124
1170
|
return _self[key];
|
|
1125
1171
|
}
|
|
1126
1172
|
return (_self[strExecutionContextKey] || {})[key];
|
|
1127
1173
|
}
|
|
1128
1174
|
return null;
|
|
1129
1175
|
};
|
|
1130
|
-
_self
|
|
1176
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1131
1177
|
if (key) {
|
|
1132
|
-
if (key === PerfEvent
|
|
1178
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
1133
1179
|
if (!_self[key]) {
|
|
1134
|
-
_self
|
|
1180
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1135
1181
|
}
|
|
1136
1182
|
_self[key] = value;
|
|
1137
1183
|
}
|
|
1138
|
-
else if (key === PerfEvent
|
|
1184
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1139
1185
|
_self[key] = value;
|
|
1140
1186
|
}
|
|
1141
1187
|
else {
|
|
@@ -1144,20 +1190,20 @@
|
|
|
1144
1190
|
}
|
|
1145
1191
|
}
|
|
1146
1192
|
};
|
|
1147
|
-
_self
|
|
1193
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
1148
1194
|
var childTime = 0;
|
|
1149
|
-
var childEvts = _self
|
|
1195
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1150
1196
|
if (isArray(childEvts)) {
|
|
1151
|
-
for (var lp = 0; lp < childEvts
|
|
1197
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH$2 ]; lp++) {
|
|
1152
1198
|
var childEvt = childEvts[lp];
|
|
1153
1199
|
if (childEvt) {
|
|
1154
|
-
childTime += childEvt
|
|
1200
|
+
childTime += childEvt[_DYN_TIME ];
|
|
1155
1201
|
}
|
|
1156
1202
|
}
|
|
1157
1203
|
}
|
|
1158
|
-
_self
|
|
1159
|
-
_self.exTime = _self
|
|
1160
|
-
_self
|
|
1204
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1205
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1206
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
1161
1207
|
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
1162
1208
|
_self.payload = payloadDetails();
|
|
1163
1209
|
}
|
|
@@ -1171,40 +1217,40 @@
|
|
|
1171
1217
|
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1172
1218
|
if (mgrSource) {
|
|
1173
1219
|
var perfMgr = mgrSource;
|
|
1174
|
-
if (
|
|
1175
|
-
perfMgr = perfMgr[
|
|
1220
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1221
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1176
1222
|
}
|
|
1177
1223
|
if (perfMgr) {
|
|
1178
1224
|
var perfEvt = void 0;
|
|
1179
|
-
var currentActive = perfMgr
|
|
1225
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1180
1226
|
try {
|
|
1181
1227
|
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1182
1228
|
if (perfEvt) {
|
|
1183
|
-
if (currentActive && perfEvt
|
|
1184
|
-
perfEvt
|
|
1185
|
-
if (currentActive
|
|
1186
|
-
var children = currentActive
|
|
1229
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1230
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1231
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1232
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1187
1233
|
if (!children) {
|
|
1188
1234
|
children = [];
|
|
1189
|
-
currentActive
|
|
1235
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1190
1236
|
}
|
|
1191
|
-
children
|
|
1237
|
+
children[_DYN_PUSH$1 ](perfEvt);
|
|
1192
1238
|
}
|
|
1193
1239
|
}
|
|
1194
|
-
perfMgr
|
|
1240
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1195
1241
|
return func(perfEvt);
|
|
1196
1242
|
}
|
|
1197
1243
|
}
|
|
1198
1244
|
catch (ex) {
|
|
1199
|
-
if (perfEvt && perfEvt
|
|
1200
|
-
perfEvt
|
|
1245
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1246
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1201
1247
|
}
|
|
1202
1248
|
}
|
|
1203
1249
|
finally {
|
|
1204
1250
|
if (perfEvt) {
|
|
1205
1251
|
perfMgr.fire(perfEvt);
|
|
1206
1252
|
}
|
|
1207
|
-
perfMgr
|
|
1253
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1208
1254
|
}
|
|
1209
1255
|
}
|
|
1210
1256
|
}
|
|
@@ -1266,8 +1312,8 @@
|
|
|
1266
1312
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1267
1313
|
var number = random32() >>> 0;
|
|
1268
1314
|
var chars = 0;
|
|
1269
|
-
var result =
|
|
1270
|
-
while (result
|
|
1315
|
+
var result = STR_EMPTY;
|
|
1316
|
+
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1271
1317
|
chars++;
|
|
1272
1318
|
result += base64chars.charAt(number & 0x3F);
|
|
1273
1319
|
number >>>= 6;
|
|
@@ -1280,7 +1326,7 @@
|
|
|
1280
1326
|
}
|
|
1281
1327
|
|
|
1282
1328
|
var _objDefineProperty = ObjDefineProperty;
|
|
1283
|
-
var version = "2.8.5-nightly.2206-
|
|
1329
|
+
var version = "2.8.5-nightly.2206-06";
|
|
1284
1330
|
var instanceName = "." + newId(6);
|
|
1285
1331
|
var _dataUid = 0;
|
|
1286
1332
|
function _createAccessor(target, prop, value) {
|
|
@@ -1299,7 +1345,7 @@
|
|
|
1299
1345
|
return false;
|
|
1300
1346
|
}
|
|
1301
1347
|
function _canAcceptData(target) {
|
|
1302
|
-
return target
|
|
1348
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1303
1349
|
}
|
|
1304
1350
|
function _getCache(data, target) {
|
|
1305
1351
|
var theCache = target[data.id];
|
|
@@ -1319,11 +1365,11 @@
|
|
|
1319
1365
|
}
|
|
1320
1366
|
function createUniqueNamespace(name, includeVersion) {
|
|
1321
1367
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1322
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version :
|
|
1368
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1323
1369
|
}
|
|
1324
1370
|
function createElmNodeData(name) {
|
|
1325
1371
|
var data = {
|
|
1326
|
-
id: createUniqueNamespace("_aiData-" + (name ||
|
|
1372
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1327
1373
|
accept: function (target) {
|
|
1328
1374
|
return _canAcceptData(target);
|
|
1329
1375
|
},
|
|
@@ -1365,16 +1411,17 @@
|
|
|
1365
1411
|
var elmNodeData = createElmNodeData("events");
|
|
1366
1412
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1367
1413
|
function _normalizeNamespace(name) {
|
|
1368
|
-
if (name && name
|
|
1369
|
-
return name.replace(/^\s*\.*|\.*\s*$/g,
|
|
1414
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
1415
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
1370
1416
|
}
|
|
1371
1417
|
return name;
|
|
1372
1418
|
}
|
|
1373
1419
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1420
|
+
var _a;
|
|
1374
1421
|
if (evtNamespace) {
|
|
1375
|
-
var theNamespace_1 =
|
|
1422
|
+
var theNamespace_1 = STR_EMPTY;
|
|
1376
1423
|
if (isArray(evtNamespace)) {
|
|
1377
|
-
theNamespace_1 =
|
|
1424
|
+
theNamespace_1 = STR_EMPTY;
|
|
1378
1425
|
arrForEach(evtNamespace, function (name) {
|
|
1379
1426
|
name = _normalizeNamespace(name);
|
|
1380
1427
|
if (name) {
|
|
@@ -1392,14 +1439,14 @@
|
|
|
1392
1439
|
if (theNamespace_1[0] !== ".") {
|
|
1393
1440
|
theNamespace_1 = "." + theNamespace_1;
|
|
1394
1441
|
}
|
|
1395
|
-
eventName = (eventName ||
|
|
1442
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
1396
1443
|
}
|
|
1397
1444
|
}
|
|
1398
|
-
var parsedEvent = (eventNamespace.exec(eventName ||
|
|
1399
|
-
return {
|
|
1400
|
-
|
|
1401
|
-
ns
|
|
1402
|
-
|
|
1445
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
1446
|
+
return _a = {},
|
|
1447
|
+
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
1448
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
|
|
1449
|
+
_a;
|
|
1403
1450
|
}
|
|
1404
1451
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1405
1452
|
if (addDefault === void 0) { addDefault = true; }
|
|
@@ -1411,53 +1458,53 @@
|
|
|
1411
1458
|
return registeredEvents;
|
|
1412
1459
|
}
|
|
1413
1460
|
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
1414
|
-
if (obj && evtName && evtName
|
|
1461
|
+
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
1415
1462
|
if (obj[strRemoveEventListener]) {
|
|
1416
|
-
obj[strRemoveEventListener](evtName
|
|
1463
|
+
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1417
1464
|
}
|
|
1418
1465
|
else if (obj[strDetachEvent]) {
|
|
1419
|
-
obj[strDetachEvent](strOnPrefix + evtName
|
|
1466
|
+
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1420
1467
|
}
|
|
1421
1468
|
}
|
|
1422
1469
|
}
|
|
1423
1470
|
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1424
1471
|
var result = false;
|
|
1425
|
-
if (obj && evtName && evtName
|
|
1472
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
1426
1473
|
if (obj[strAddEventHelper]) {
|
|
1427
|
-
obj[strAddEventHelper](evtName
|
|
1474
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1428
1475
|
result = true;
|
|
1429
1476
|
}
|
|
1430
1477
|
else if (obj[strAttachEvent]) {
|
|
1431
|
-
obj[strAttachEvent](strOnPrefix + evtName
|
|
1478
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1432
1479
|
result = true;
|
|
1433
1480
|
}
|
|
1434
1481
|
}
|
|
1435
1482
|
return result;
|
|
1436
1483
|
}
|
|
1437
1484
|
function _doUnregister(target, events, evtName, unRegFn) {
|
|
1438
|
-
var idx = events
|
|
1485
|
+
var idx = events[_DYN_LENGTH$2 ];
|
|
1439
1486
|
while (idx--) {
|
|
1440
1487
|
var theEvent = events[idx];
|
|
1441
1488
|
if (theEvent) {
|
|
1442
1489
|
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
1443
1490
|
if (!unRegFn || unRegFn(theEvent)) {
|
|
1444
|
-
_doDetach(target, theEvent.evtName, theEvent
|
|
1445
|
-
events
|
|
1491
|
+
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
1492
|
+
events[_DYN_SPLICE ](idx, 1);
|
|
1446
1493
|
}
|
|
1447
1494
|
}
|
|
1448
1495
|
}
|
|
1449
1496
|
}
|
|
1450
1497
|
}
|
|
1451
1498
|
function _unregisterEvents(target, evtName, unRegFn) {
|
|
1452
|
-
if (evtName
|
|
1453
|
-
_doUnregister(target, _getRegisteredEvents(target, evtName
|
|
1499
|
+
if (evtName[_DYN_TYPE ]) {
|
|
1500
|
+
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
1454
1501
|
}
|
|
1455
1502
|
else {
|
|
1456
1503
|
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
1457
1504
|
objForEachKey(eventCache, function (evtType, events) {
|
|
1458
1505
|
_doUnregister(target, events, evtName, unRegFn);
|
|
1459
1506
|
});
|
|
1460
|
-
if (objKeys(eventCache)
|
|
1507
|
+
if (objKeys(eventCache)[_DYN_LENGTH$2 ] === 0) {
|
|
1461
1508
|
elmNodeData.kill(target, strEvents);
|
|
1462
1509
|
}
|
|
1463
1510
|
}
|
|
@@ -1471,7 +1518,7 @@
|
|
|
1471
1518
|
else {
|
|
1472
1519
|
newNamespaces = [theNamespace, namespaces];
|
|
1473
1520
|
}
|
|
1474
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)
|
|
1521
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
|
|
1475
1522
|
}
|
|
1476
1523
|
else {
|
|
1477
1524
|
newNamespaces = theNamespace;
|
|
@@ -1479,6 +1526,7 @@
|
|
|
1479
1526
|
return newNamespaces;
|
|
1480
1527
|
}
|
|
1481
1528
|
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1529
|
+
var _a;
|
|
1482
1530
|
if (useCapture === void 0) { useCapture = false; }
|
|
1483
1531
|
var result = false;
|
|
1484
1532
|
if (target) {
|
|
@@ -1486,13 +1534,14 @@
|
|
|
1486
1534
|
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1487
1535
|
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1488
1536
|
if (result && elmNodeData.accept(target)) {
|
|
1489
|
-
var registeredEvent = {
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1537
|
+
var registeredEvent = (_a = {
|
|
1538
|
+
guid: _guid++,
|
|
1539
|
+
evtName: evtName
|
|
1540
|
+
},
|
|
1541
|
+
_a[_DYN_HANDLER ] = handlerRef,
|
|
1542
|
+
_a.capture = useCapture,
|
|
1543
|
+
_a);
|
|
1544
|
+
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH$1 ](registeredEvent);
|
|
1496
1545
|
}
|
|
1497
1546
|
}
|
|
1498
1547
|
catch (e) {
|
|
@@ -1507,7 +1556,7 @@
|
|
|
1507
1556
|
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
1508
1557
|
var found_1 = false;
|
|
1509
1558
|
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
1510
|
-
if ((evtName_1.ns && !handlerRef) || regEvent
|
|
1559
|
+
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
1511
1560
|
found_1 = true;
|
|
1512
1561
|
return true;
|
|
1513
1562
|
}
|
|
@@ -1533,12 +1582,12 @@
|
|
|
1533
1582
|
var _chainId = 0;
|
|
1534
1583
|
function _getNextProxyStart(proxy, core, startAt) {
|
|
1535
1584
|
while (proxy) {
|
|
1536
|
-
if (proxy
|
|
1585
|
+
if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
|
|
1537
1586
|
return proxy;
|
|
1538
1587
|
}
|
|
1539
|
-
proxy = proxy
|
|
1588
|
+
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1540
1589
|
}
|
|
1541
|
-
return createTelemetryProxyChain([startAt], core
|
|
1590
|
+
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1542
1591
|
}
|
|
1543
1592
|
function _createInternalContext(telemetryChain, config, core, startAt) {
|
|
1544
1593
|
var _nextProxy = null;
|
|
@@ -1579,7 +1628,7 @@
|
|
|
1579
1628
|
args[_i - 2] = arguments[_i];
|
|
1580
1629
|
}
|
|
1581
1630
|
if (onComplete) {
|
|
1582
|
-
_onComplete
|
|
1631
|
+
_onComplete[_DYN_PUSH$1 ]({
|
|
1583
1632
|
func: onComplete,
|
|
1584
1633
|
self: !isUndefined(that) ? that : context.ctx,
|
|
1585
1634
|
args: args
|
|
@@ -1588,16 +1637,16 @@
|
|
|
1588
1637
|
}
|
|
1589
1638
|
function _moveNext() {
|
|
1590
1639
|
var nextProxy = _nextProxy;
|
|
1591
|
-
_nextProxy = nextProxy ? nextProxy
|
|
1640
|
+
_nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
|
|
1592
1641
|
if (!nextProxy) {
|
|
1593
1642
|
var onComplete = _onComplete;
|
|
1594
|
-
if (onComplete && onComplete
|
|
1643
|
+
if (onComplete && onComplete[_DYN_LENGTH$2 ] > 0) {
|
|
1595
1644
|
arrForEach(onComplete, function (completeDetails) {
|
|
1596
1645
|
try {
|
|
1597
|
-
completeDetails.func
|
|
1646
|
+
completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
|
|
1598
1647
|
}
|
|
1599
1648
|
catch (e) {
|
|
1600
|
-
_throwInternal(core
|
|
1649
|
+
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
1601
1650
|
}
|
|
1602
1651
|
});
|
|
1603
1652
|
_onComplete = [];
|
|
@@ -1610,7 +1659,7 @@
|
|
|
1610
1659
|
if (mergeDefault === void 0) { mergeDefault = 0 ; }
|
|
1611
1660
|
var theConfig;
|
|
1612
1661
|
if (config) {
|
|
1613
|
-
var extConfig = config
|
|
1662
|
+
var extConfig = config[STR_EXTENSION_CONFIG ];
|
|
1614
1663
|
if (extConfig && identifier) {
|
|
1615
1664
|
theConfig = extConfig[identifier];
|
|
1616
1665
|
}
|
|
@@ -1651,7 +1700,7 @@
|
|
|
1651
1700
|
function _iterateChain(cb) {
|
|
1652
1701
|
var nextPlugin;
|
|
1653
1702
|
while (!!(nextPlugin = context._next())) {
|
|
1654
|
-
var plugin = nextPlugin
|
|
1703
|
+
var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
|
|
1655
1704
|
if (plugin) {
|
|
1656
1705
|
cb(plugin);
|
|
1657
1706
|
}
|
|
@@ -1664,7 +1713,7 @@
|
|
|
1664
1713
|
var context = internalContext.ctx;
|
|
1665
1714
|
function _processNext(env) {
|
|
1666
1715
|
var nextPlugin = internalContext._next();
|
|
1667
|
-
nextPlugin && nextPlugin
|
|
1716
|
+
nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
1668
1717
|
return !nextPlugin;
|
|
1669
1718
|
}
|
|
1670
1719
|
function _createNew(plugins, startAt) {
|
|
@@ -1672,14 +1721,14 @@
|
|
|
1672
1721
|
if (isArray(plugins)) {
|
|
1673
1722
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1674
1723
|
}
|
|
1675
|
-
return createProcessTelemetryContext(plugins || context
|
|
1724
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
1676
1725
|
}
|
|
1677
|
-
context
|
|
1678
|
-
context
|
|
1726
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1727
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1679
1728
|
return context;
|
|
1680
1729
|
}
|
|
1681
1730
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1682
|
-
var config = core
|
|
1731
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1683
1732
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1684
1733
|
var context = internalContext.ctx;
|
|
1685
1734
|
function _processNext(unloadState) {
|
|
@@ -1692,20 +1741,20 @@
|
|
|
1692
1741
|
if (isArray(plugins)) {
|
|
1693
1742
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1694
1743
|
}
|
|
1695
|
-
return createProcessTelemetryUnloadContext(plugins || context
|
|
1744
|
+
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1696
1745
|
}
|
|
1697
|
-
context
|
|
1698
|
-
context
|
|
1746
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1747
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1699
1748
|
return context;
|
|
1700
1749
|
}
|
|
1701
1750
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1702
|
-
var config = core
|
|
1751
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1703
1752
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1704
1753
|
var context = internalContext.ctx;
|
|
1705
1754
|
function _processNext(updateState) {
|
|
1706
1755
|
return context.iterate(function (plugin) {
|
|
1707
|
-
if (isFunction(plugin
|
|
1708
|
-
plugin
|
|
1756
|
+
if (isFunction(plugin[_DYN_UPDATE ])) {
|
|
1757
|
+
plugin[_DYN_UPDATE ](context, updateState);
|
|
1709
1758
|
}
|
|
1710
1759
|
});
|
|
1711
1760
|
}
|
|
@@ -1714,22 +1763,22 @@
|
|
|
1714
1763
|
if (isArray(plugins)) {
|
|
1715
1764
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1716
1765
|
}
|
|
1717
|
-
return createProcessTelemetryUpdateContext(plugins || context
|
|
1766
|
+
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1718
1767
|
}
|
|
1719
|
-
context
|
|
1720
|
-
context
|
|
1768
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1769
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1721
1770
|
return context;
|
|
1722
1771
|
}
|
|
1723
1772
|
function createTelemetryProxyChain(plugins, config, core, startAt) {
|
|
1724
1773
|
var firstProxy = null;
|
|
1725
1774
|
var add = startAt ? false : true;
|
|
1726
|
-
if (isArray(plugins) && plugins
|
|
1775
|
+
if (isArray(plugins) && plugins[_DYN_LENGTH$2 ] > 0) {
|
|
1727
1776
|
var lastProxy_1 = null;
|
|
1728
1777
|
arrForEach(plugins, function (thePlugin) {
|
|
1729
1778
|
if (!add && startAt === thePlugin) {
|
|
1730
1779
|
add = true;
|
|
1731
1780
|
}
|
|
1732
|
-
if (add && thePlugin && isFunction(thePlugin
|
|
1781
|
+
if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1733
1782
|
var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
|
|
1734
1783
|
if (!firstProxy) {
|
|
1735
1784
|
firstProxy = newProxy;
|
|
@@ -1748,11 +1797,11 @@
|
|
|
1748
1797
|
}
|
|
1749
1798
|
function createTelemetryPluginProxy(plugin, config, core) {
|
|
1750
1799
|
var nextProxy = null;
|
|
1751
|
-
var hasProcessTelemetry = isFunction(plugin
|
|
1752
|
-
var hasSetNext = isFunction(plugin
|
|
1800
|
+
var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
|
|
1801
|
+
var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
|
|
1753
1802
|
var chainId;
|
|
1754
1803
|
if (plugin) {
|
|
1755
|
-
chainId = plugin
|
|
1804
|
+
chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
|
|
1756
1805
|
}
|
|
1757
1806
|
else {
|
|
1758
1807
|
chainId = "Unknown-0-" + _chainId++;
|
|
@@ -1784,17 +1833,17 @@
|
|
|
1784
1833
|
}
|
|
1785
1834
|
function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
|
|
1786
1835
|
var hasRun = false;
|
|
1787
|
-
var identifier = plugin ? plugin
|
|
1836
|
+
var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
|
|
1788
1837
|
var hasRunContext = itemCtx[strHasRunFlags];
|
|
1789
1838
|
if (!hasRunContext) {
|
|
1790
1839
|
hasRunContext = itemCtx[strHasRunFlags] = {};
|
|
1791
1840
|
}
|
|
1792
1841
|
itemCtx.setNext(nextProxy);
|
|
1793
1842
|
if (plugin) {
|
|
1794
|
-
doPerf(itemCtx[
|
|
1843
|
+
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
1795
1844
|
hasRunContext[chainId] = true;
|
|
1796
1845
|
try {
|
|
1797
|
-
var nextId = nextProxy ? nextProxy._id :
|
|
1846
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
1798
1847
|
if (nextId) {
|
|
1799
1848
|
hasRunContext[nextId] = false;
|
|
1800
1849
|
}
|
|
@@ -1806,7 +1855,7 @@
|
|
|
1806
1855
|
hasRun = true;
|
|
1807
1856
|
}
|
|
1808
1857
|
if (!nextProxy || !hasNextRun) {
|
|
1809
|
-
_throwInternal(itemCtx
|
|
1858
|
+
_throwInternal(itemCtx[_DYN_DIAG_LOG$1 ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
|
|
1810
1859
|
}
|
|
1811
1860
|
}
|
|
1812
1861
|
}, details, isAsync);
|
|
@@ -1820,17 +1869,17 @@
|
|
|
1820
1869
|
return false;
|
|
1821
1870
|
}
|
|
1822
1871
|
var pluginState = _getPluginState(plugin);
|
|
1823
|
-
if (pluginState
|
|
1872
|
+
if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
|
|
1824
1873
|
return false;
|
|
1825
1874
|
}
|
|
1826
1875
|
if (hasSetNext) {
|
|
1827
|
-
plugin
|
|
1876
|
+
plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
|
|
1828
1877
|
}
|
|
1829
|
-
plugin
|
|
1878
|
+
plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
|
|
1830
1879
|
return true;
|
|
1831
1880
|
}
|
|
1832
1881
|
if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
|
|
1833
|
-
itemCtx
|
|
1882
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1834
1883
|
}
|
|
1835
1884
|
}
|
|
1836
1885
|
function _unloadPlugin(unloadCtx, unloadState) {
|
|
@@ -1838,20 +1887,20 @@
|
|
|
1838
1887
|
var hasRun = false;
|
|
1839
1888
|
if (plugin) {
|
|
1840
1889
|
var pluginState = _getPluginState(plugin);
|
|
1841
|
-
var pluginCore = plugin[
|
|
1842
|
-
if (plugin && (!pluginCore || pluginCore === unloadCtx
|
|
1843
|
-
pluginState[
|
|
1844
|
-
pluginState[
|
|
1845
|
-
pluginState[
|
|
1846
|
-
if (plugin[
|
|
1890
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1891
|
+
if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1892
|
+
pluginState[STR_CORE ] = null;
|
|
1893
|
+
pluginState[_DYN_TEARDOWN ] = true;
|
|
1894
|
+
pluginState[_DYN_IS_INITIALIZED ] = false;
|
|
1895
|
+
if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
|
|
1847
1896
|
hasRun = true;
|
|
1848
1897
|
}
|
|
1849
1898
|
}
|
|
1850
1899
|
}
|
|
1851
1900
|
return hasRun;
|
|
1852
1901
|
}
|
|
1853
|
-
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState
|
|
1854
|
-
unloadCtx
|
|
1902
|
+
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
|
|
1903
|
+
unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
|
|
1855
1904
|
}
|
|
1856
1905
|
}
|
|
1857
1906
|
function _updatePlugin(updateCtx, updateState) {
|
|
@@ -1859,9 +1908,9 @@
|
|
|
1859
1908
|
var hasRun = false;
|
|
1860
1909
|
if (plugin) {
|
|
1861
1910
|
var pluginState = _getPluginState(plugin);
|
|
1862
|
-
var pluginCore = plugin[
|
|
1863
|
-
if (plugin && (!pluginCore || pluginCore === updateCtx
|
|
1864
|
-
if (plugin[
|
|
1911
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1912
|
+
if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1913
|
+
if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
|
|
1865
1914
|
hasRun = true;
|
|
1866
1915
|
}
|
|
1867
1916
|
}
|
|
@@ -1869,19 +1918,17 @@
|
|
|
1869
1918
|
return hasRun;
|
|
1870
1919
|
}
|
|
1871
1920
|
if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
|
|
1872
|
-
updateCtx
|
|
1921
|
+
updateCtx[_DYN_PROCESS_NEXT ](updateState);
|
|
1873
1922
|
}
|
|
1874
1923
|
}
|
|
1875
1924
|
return objFreeze(proxyChain);
|
|
1876
1925
|
}
|
|
1877
1926
|
|
|
1878
|
-
var strExtensionConfig = "extensionConfig";
|
|
1879
|
-
|
|
1880
1927
|
function createUnloadHandlerContainer() {
|
|
1881
1928
|
var handlers = [];
|
|
1882
1929
|
function _addHandler(handler) {
|
|
1883
1930
|
if (handler) {
|
|
1884
|
-
handlers
|
|
1931
|
+
handlers[_DYN_PUSH$1 ](handler);
|
|
1885
1932
|
}
|
|
1886
1933
|
}
|
|
1887
1934
|
function _runHandlers(unloadCtx, unloadState) {
|
|
@@ -1890,7 +1937,7 @@
|
|
|
1890
1937
|
handler(unloadCtx, unloadState);
|
|
1891
1938
|
}
|
|
1892
1939
|
catch (e) {
|
|
1893
|
-
_throwInternal(unloadCtx
|
|
1940
|
+
_throwInternal(unloadCtx[_DYN_DIAG_LOG$1 ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
|
|
1894
1941
|
}
|
|
1895
1942
|
});
|
|
1896
1943
|
handlers = [];
|
|
@@ -1912,37 +1959,40 @@
|
|
|
1912
1959
|
var _hooks;
|
|
1913
1960
|
_initDefaults();
|
|
1914
1961
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
1915
|
-
_self
|
|
1962
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
1916
1963
|
_setDefaults(config, core, pluginChain);
|
|
1917
1964
|
_isinitialized = true;
|
|
1918
1965
|
};
|
|
1919
|
-
_self
|
|
1920
|
-
var
|
|
1921
|
-
|
|
1966
|
+
_self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
|
|
1967
|
+
var _a;
|
|
1968
|
+
var core = _self[STR_CORE ];
|
|
1969
|
+
if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
|
|
1922
1970
|
return;
|
|
1923
1971
|
}
|
|
1924
1972
|
var result;
|
|
1925
1973
|
var unloadDone = false;
|
|
1926
1974
|
var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
|
|
1927
|
-
var theUnloadState = unloadState || {
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1975
|
+
var theUnloadState = unloadState || (_a = {
|
|
1976
|
+
reason: 0
|
|
1977
|
+
},
|
|
1978
|
+
_a[_DYN_IS_ASYNC ] = false,
|
|
1979
|
+
_a);
|
|
1931
1980
|
function _unloadCallback() {
|
|
1932
1981
|
if (!unloadDone) {
|
|
1933
1982
|
unloadDone = true;
|
|
1934
1983
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
1935
|
-
|
|
1984
|
+
var oldHooks = _hooks;
|
|
1985
|
+
_hooks = [];
|
|
1986
|
+
arrForEach(oldHooks, function (fn) {
|
|
1936
1987
|
fn.rm();
|
|
1937
1988
|
});
|
|
1938
|
-
_hooks = [];
|
|
1939
1989
|
if (result === true) {
|
|
1940
|
-
theUnloadCtx
|
|
1990
|
+
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
1941
1991
|
}
|
|
1942
1992
|
_initDefaults();
|
|
1943
1993
|
}
|
|
1944
1994
|
}
|
|
1945
|
-
if (!_self[
|
|
1995
|
+
if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
|
|
1946
1996
|
_unloadCallback();
|
|
1947
1997
|
}
|
|
1948
1998
|
else {
|
|
@@ -1950,9 +2000,9 @@
|
|
|
1950
2000
|
}
|
|
1951
2001
|
return result;
|
|
1952
2002
|
};
|
|
1953
|
-
_self
|
|
1954
|
-
var core = _self
|
|
1955
|
-
if (!core || (updateCtx && core !== updateCtx
|
|
2003
|
+
_self[_DYN_UPDATE ] = function (updateCtx, updateState) {
|
|
2004
|
+
var core = _self[STR_CORE ];
|
|
2005
|
+
if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
|
|
1956
2006
|
return;
|
|
1957
2007
|
}
|
|
1958
2008
|
var result;
|
|
@@ -1964,7 +2014,7 @@
|
|
|
1964
2014
|
function _updateCallback() {
|
|
1965
2015
|
if (!updateDone) {
|
|
1966
2016
|
updateDone = true;
|
|
1967
|
-
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx
|
|
2017
|
+
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
|
|
1968
2018
|
}
|
|
1969
2019
|
}
|
|
1970
2020
|
if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
|
|
@@ -1981,30 +2031,30 @@
|
|
|
1981
2031
|
_hooks = _hooks.concat(hooks);
|
|
1982
2032
|
}
|
|
1983
2033
|
else {
|
|
1984
|
-
_hooks
|
|
2034
|
+
_hooks[_DYN_PUSH$1 ](hooks);
|
|
1985
2035
|
}
|
|
1986
2036
|
}
|
|
1987
2037
|
};
|
|
1988
2038
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
1989
2039
|
});
|
|
1990
|
-
_self
|
|
1991
|
-
return _getTelCtx(itemCtx)
|
|
2040
|
+
_self[_DYN_DIAG_LOG$1 ] = function (itemCtx) {
|
|
2041
|
+
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG$1 ]();
|
|
1992
2042
|
};
|
|
1993
|
-
_self[
|
|
2043
|
+
_self[_DYN_IS_INITIALIZED ] = function () {
|
|
1994
2044
|
return _isinitialized;
|
|
1995
2045
|
};
|
|
1996
2046
|
_self.setInitialized = function (isInitialized) {
|
|
1997
2047
|
_isinitialized = isInitialized;
|
|
1998
2048
|
};
|
|
1999
|
-
_self[
|
|
2049
|
+
_self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
|
|
2000
2050
|
_nextPlugin = next;
|
|
2001
2051
|
};
|
|
2002
|
-
_self
|
|
2052
|
+
_self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
|
|
2003
2053
|
if (itemCtx) {
|
|
2004
|
-
itemCtx
|
|
2054
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
2005
2055
|
}
|
|
2006
|
-
else if (_nextPlugin && isFunction(_nextPlugin
|
|
2007
|
-
_nextPlugin
|
|
2056
|
+
else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
|
|
2057
|
+
_nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
|
|
2008
2058
|
}
|
|
2009
2059
|
};
|
|
2010
2060
|
_self._getTelCtx = _getTelCtx;
|
|
@@ -2012,63 +2062,194 @@
|
|
|
2012
2062
|
if (currentCtx === void 0) { currentCtx = null; }
|
|
2013
2063
|
var itemCtx = currentCtx;
|
|
2014
2064
|
if (!itemCtx) {
|
|
2015
|
-
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self
|
|
2065
|
+
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
|
|
2016
2066
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
2017
|
-
itemCtx = rootCtx
|
|
2067
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
|
|
2018
2068
|
}
|
|
2019
2069
|
else {
|
|
2020
|
-
itemCtx = rootCtx
|
|
2070
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
|
|
2021
2071
|
}
|
|
2022
2072
|
}
|
|
2023
2073
|
return itemCtx;
|
|
2024
2074
|
}
|
|
2025
2075
|
function _setDefaults(config, core, pluginChain) {
|
|
2026
2076
|
if (config) {
|
|
2027
|
-
setValue(config,
|
|
2077
|
+
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
2028
2078
|
}
|
|
2029
2079
|
if (!pluginChain && core) {
|
|
2030
|
-
pluginChain = core
|
|
2080
|
+
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
2031
2081
|
}
|
|
2032
2082
|
var nextPlugin = _nextPlugin;
|
|
2033
2083
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
2034
2084
|
nextPlugin = _nextPlugin[strGetPlugin]();
|
|
2035
2085
|
}
|
|
2036
|
-
_self
|
|
2086
|
+
_self[STR_CORE ] = core;
|
|
2037
2087
|
_rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
|
|
2038
2088
|
}
|
|
2039
2089
|
function _initDefaults() {
|
|
2040
2090
|
_isinitialized = false;
|
|
2041
|
-
_self
|
|
2091
|
+
_self[STR_CORE ] = null;
|
|
2042
2092
|
_rootCtx = null;
|
|
2043
2093
|
_nextPlugin = null;
|
|
2044
2094
|
_hooks = [];
|
|
2045
2095
|
_unloadHandlerContainer = createUnloadHandlerContainer();
|
|
2046
2096
|
}
|
|
2047
2097
|
}
|
|
2098
|
+
BaseTelemetryPlugin.__ieDyn=1;
|
|
2048
2099
|
return BaseTelemetryPlugin;
|
|
2049
2100
|
}());
|
|
2050
2101
|
|
|
2051
|
-
var
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2102
|
+
var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
|
|
2103
|
+
var SampleRate = "sampleRate";
|
|
2104
|
+
var ProcessLegacy = "ProcessLegacy";
|
|
2105
|
+
var HttpMethod = "http.method";
|
|
2106
|
+
var DEFAULT_BREEZE_ENDPOINT = "https://dc.services.visualstudio.com";
|
|
2107
|
+
var DEFAULT_BREEZE_PATH = "/v2/track";
|
|
2108
|
+
var strNotSpecified = "not_specified";
|
|
2109
|
+
|
|
2110
|
+
var _DYN_SPLIT = "split";
|
|
2111
|
+
var _DYN_LENGTH$1 = "length";
|
|
2112
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
2113
|
+
var _DYN_TO_STRING$1 = "toString";
|
|
2114
|
+
var _DYN_REMOVE_ITEM = "removeItem";
|
|
2115
|
+
var _DYN_NAME$1 = "name";
|
|
2116
|
+
var _DYN_PATHNAME = "pathname";
|
|
2117
|
+
var _DYN_INDEX_OF = "indexOf";
|
|
2118
|
+
var _DYN_EXCEPTIONS = "exceptions";
|
|
2119
|
+
var _DYN_PARSED_STACK = "parsedStack";
|
|
2120
|
+
var _DYN_PROPERTIES = "properties";
|
|
2121
|
+
var _DYN_MEASUREMENTS$1 = "measurements";
|
|
2122
|
+
var _DYN_STRINGIFY$1 = "stringify";
|
|
2123
|
+
var _DYN_MESSAGE = "message";
|
|
2124
|
+
var _DYN_SIZE_IN_BYTES = "sizeInBytes";
|
|
2125
|
+
var _DYN_TYPE_NAME = "typeName";
|
|
2126
|
+
var _DYN_SEVERITY_LEVEL = "severityLevel";
|
|
2127
|
+
var _DYN_PROBLEM_GROUP = "problemGroup";
|
|
2128
|
+
var _DYN_IS_MANUAL = "isManual";
|
|
2129
|
+
var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
|
|
2130
|
+
var _DYN_HAS_FULL_STACK = "hasFullStack";
|
|
2131
|
+
var _DYN_LEVEL = "level";
|
|
2132
|
+
var _DYN_METHOD = "method";
|
|
2133
|
+
var _DYN_ASSEMBLY = "assembly";
|
|
2134
|
+
var _DYN_FILE_NAME = "fileName";
|
|
2135
|
+
var _DYN_LINE = "line";
|
|
2136
|
+
var _DYN_DURATION = "duration";
|
|
2137
|
+
var _DYN_RECEIVED_RESPONSE = "receivedResponse";
|
|
2138
|
+
var _DYN_SUBSTRING = "substring";
|
|
2139
|
+
var _DYN_SANITIZE_KEY_AND_ADD2 = "sanitizeKeyAndAddUniqueness";
|
|
2140
|
+
var _DYN_SANITIZE_EXCEPTION = "sanitizeException";
|
|
2141
|
+
var _DYN_SANITIZE_PROPERTIES = "sanitizeProperties";
|
|
2142
|
+
var _DYN_SANITIZE_MEASUREMENT3 = "sanitizeMeasurements";
|
|
2143
|
+
|
|
2144
|
+
var strEmpty = "";
|
|
2145
|
+
function msToTimeSpan(totalms) {
|
|
2146
|
+
if (isNaN(totalms) || totalms < 0) {
|
|
2147
|
+
totalms = 0;
|
|
2148
|
+
}
|
|
2149
|
+
totalms = Math.round(totalms);
|
|
2150
|
+
var ms = strEmpty + totalms % 1000;
|
|
2151
|
+
var sec = strEmpty + Math.floor(totalms / 1000) % 60;
|
|
2152
|
+
var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;
|
|
2153
|
+
var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;
|
|
2154
|
+
var days = Math.floor(totalms / (1000 * 60 * 60 * 24));
|
|
2155
|
+
ms = ms[_DYN_LENGTH$1 ] === 1 ? "00" + ms : ms[_DYN_LENGTH$1 ] === 2 ? "0" + ms : ms;
|
|
2156
|
+
sec = sec[_DYN_LENGTH$1 ] < 2 ? "0" + sec : sec;
|
|
2157
|
+
min = min[_DYN_LENGTH$1 ] < 2 ? "0" + min : min;
|
|
2158
|
+
hour = hour[_DYN_LENGTH$1 ] < 2 ? "0" + hour : hour;
|
|
2159
|
+
return (days > 0 ? days + "." : strEmpty) + hour + ":" + min + ":" + sec + "." + ms;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
var RequestHeaders = createValueMap({
|
|
2163
|
+
requestContextHeader: [0 , "Request-Context"],
|
|
2164
|
+
requestContextTargetKey: [1 , "appId"],
|
|
2165
|
+
requestContextAppIdFormat: [2 , "appId=cid-v1:"],
|
|
2166
|
+
requestIdHeader: [3 , "Request-Id"],
|
|
2167
|
+
traceParentHeader: [4 , "traceparent"],
|
|
2168
|
+
traceStateHeader: [5 , "tracestate"],
|
|
2169
|
+
sdkContextHeader: [6 , "Sdk-Context"],
|
|
2170
|
+
sdkContextHeaderAppIdRequest: [7 , "appId"],
|
|
2171
|
+
requestContextHeaderLowerCase: [8 , "request-context"]
|
|
2172
|
+
});
|
|
2173
|
+
|
|
2174
|
+
var StorageType = createEnumStyle({
|
|
2175
|
+
LocalStorage: 0 ,
|
|
2176
|
+
SessionStorage: 1
|
|
2177
|
+
});
|
|
2178
|
+
createEnumStyle({
|
|
2179
|
+
AI: 0 ,
|
|
2180
|
+
AI_AND_W3C: 1 ,
|
|
2181
|
+
W3C: 2
|
|
2182
|
+
});
|
|
2183
|
+
|
|
2184
|
+
var _canUseSessionStorage = undefined;
|
|
2185
|
+
function _getVerifiedStorageObject(storageType) {
|
|
2186
|
+
try {
|
|
2187
|
+
if (isNullOrUndefined(getGlobal())) {
|
|
2188
|
+
return null;
|
|
2189
|
+
}
|
|
2190
|
+
var uid = (new Date)[_DYN_TO_STRING$1 ]();
|
|
2191
|
+
var storage = getGlobalInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
|
|
2192
|
+
storage.setItem(uid, uid);
|
|
2193
|
+
var fail = storage.getItem(uid) !== uid;
|
|
2194
|
+
storage[_DYN_REMOVE_ITEM ](uid);
|
|
2195
|
+
if (!fail) {
|
|
2196
|
+
return storage;
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
catch (exception) {
|
|
2200
|
+
}
|
|
2201
|
+
return null;
|
|
2202
|
+
}
|
|
2203
|
+
function _getSessionStorageObject() {
|
|
2204
|
+
if (utlCanUseSessionStorage()) {
|
|
2205
|
+
return _getVerifiedStorageObject(StorageType.SessionStorage);
|
|
2206
|
+
}
|
|
2207
|
+
return null;
|
|
2208
|
+
}
|
|
2209
|
+
function utlCanUseSessionStorage(reset) {
|
|
2210
|
+
if (reset || _canUseSessionStorage === undefined) {
|
|
2211
|
+
_canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);
|
|
2212
|
+
}
|
|
2213
|
+
return _canUseSessionStorage;
|
|
2214
|
+
}
|
|
2215
|
+
function utlGetSessionStorage(logger, name) {
|
|
2216
|
+
var storage = _getSessionStorageObject();
|
|
2217
|
+
if (storage !== null) {
|
|
2218
|
+
try {
|
|
2219
|
+
return storage.getItem(name);
|
|
2220
|
+
}
|
|
2221
|
+
catch (e) {
|
|
2222
|
+
_canUseSessionStorage = false;
|
|
2223
|
+
_throwInternal(logger, 2 , 2 , "Browser failed read of session storage. " + getExceptionName(e), { exception: dumpObj(e) });
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
return null;
|
|
2227
|
+
}
|
|
2228
|
+
function utlSetSessionStorage(logger, name, data) {
|
|
2229
|
+
var storage = _getSessionStorageObject();
|
|
2230
|
+
if (storage !== null) {
|
|
2231
|
+
try {
|
|
2232
|
+
storage.setItem(name, data);
|
|
2233
|
+
return true;
|
|
2234
|
+
}
|
|
2235
|
+
catch (e) {
|
|
2236
|
+
_canUseSessionStorage = false;
|
|
2237
|
+
_throwInternal(logger, 2 , 4 , "Browser failed write to session storage. " + getExceptionName(e), { exception: dumpObj(e) });
|
|
2238
|
+
}
|
|
2239
|
+
}
|
|
2240
|
+
return false;
|
|
2241
|
+
}
|
|
2242
|
+
|
|
2243
|
+
var _a$1;
|
|
2244
|
+
function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
|
|
2245
|
+
var origLength = key[_DYN_LENGTH$1 ];
|
|
2246
|
+
var field = dataSanitizeKey(logger, key);
|
|
2247
|
+
if (field[_DYN_LENGTH$1 ] !== origLength) {
|
|
2067
2248
|
var i = 0;
|
|
2068
2249
|
var uniqueField = field;
|
|
2069
2250
|
while (map[uniqueField] !== undefined) {
|
|
2070
2251
|
i++;
|
|
2071
|
-
uniqueField = field
|
|
2252
|
+
uniqueField = field[_DYN_SUBSTRING ](0, 150 - 3) + dsPadNumber(i);
|
|
2072
2253
|
}
|
|
2073
2254
|
field = uniqueField;
|
|
2074
2255
|
}
|
|
@@ -2077,9 +2258,9 @@
|
|
|
2077
2258
|
function dataSanitizeKey(logger, name) {
|
|
2078
2259
|
var nameTrunc;
|
|
2079
2260
|
if (name) {
|
|
2080
|
-
name = strTrim(name
|
|
2081
|
-
if (name
|
|
2082
|
-
nameTrunc = name
|
|
2261
|
+
name = strTrim(name[_DYN_TO_STRING$1 ]());
|
|
2262
|
+
if (name[_DYN_LENGTH$1 ] > 150 ) {
|
|
2263
|
+
nameTrunc = name[_DYN_SUBSTRING ](0, 150 );
|
|
2083
2264
|
_throwInternal(logger, 2 , 57 , "name is too long. It has been truncated to " + 150 + " characters.", { name: name }, true);
|
|
2084
2265
|
}
|
|
2085
2266
|
}
|
|
@@ -2091,8 +2272,8 @@
|
|
|
2091
2272
|
if (value) {
|
|
2092
2273
|
maxLength = maxLength ? maxLength : 1024 ;
|
|
2093
2274
|
value = strTrim(value);
|
|
2094
|
-
if (value.toString()
|
|
2095
|
-
valueTrunc = value
|
|
2275
|
+
if (value.toString()[_DYN_LENGTH$1 ] > maxLength) {
|
|
2276
|
+
valueTrunc = value[_DYN_TO_STRING$1 ]()[_DYN_SUBSTRING ](0, maxLength);
|
|
2096
2277
|
_throwInternal(logger, 2 , 61 , "string value is too long. It has been truncated to " + maxLength + " characters.", { value: value }, true);
|
|
2097
2278
|
}
|
|
2098
2279
|
}
|
|
@@ -2104,8 +2285,8 @@
|
|
|
2104
2285
|
function dataSanitizeMessage(logger, message) {
|
|
2105
2286
|
var messageTrunc;
|
|
2106
2287
|
if (message) {
|
|
2107
|
-
if (message
|
|
2108
|
-
messageTrunc = message
|
|
2288
|
+
if (message[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2289
|
+
messageTrunc = message[_DYN_SUBSTRING ](0, 32768 );
|
|
2109
2290
|
_throwInternal(logger, 2 , 56 , "message is too long, it has been truncated to " + 32768 + " characters.", { message: message }, true);
|
|
2110
2291
|
}
|
|
2111
2292
|
}
|
|
@@ -2115,8 +2296,8 @@
|
|
|
2115
2296
|
var exceptionTrunc;
|
|
2116
2297
|
if (exception) {
|
|
2117
2298
|
var value = "" + exception;
|
|
2118
|
-
if (value
|
|
2119
|
-
exceptionTrunc = value
|
|
2299
|
+
if (value[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2300
|
+
exceptionTrunc = value[_DYN_SUBSTRING ](0, 32768 );
|
|
2120
2301
|
_throwInternal(logger, 2 , 52 , "exception is too long, it has been truncated to " + 32768 + " characters.", { exception: exception }, true);
|
|
2121
2302
|
}
|
|
2122
2303
|
}
|
|
@@ -2128,7 +2309,7 @@
|
|
|
2128
2309
|
objForEachKey(properties, function (prop, value) {
|
|
2129
2310
|
if (isObject(value) && hasJSON()) {
|
|
2130
2311
|
try {
|
|
2131
|
-
value = getJSON()
|
|
2312
|
+
value = getJSON()[_DYN_STRINGIFY$1 ](value);
|
|
2132
2313
|
}
|
|
2133
2314
|
catch (e) {
|
|
2134
2315
|
_throwInternal(logger, 2 , 49 , "custom property is not valid", { exception: e }, true);
|
|
@@ -2154,14 +2335,14 @@
|
|
|
2154
2335
|
return measurements;
|
|
2155
2336
|
}
|
|
2156
2337
|
function dataSanitizeId(logger, id) {
|
|
2157
|
-
return id ? dataSanitizeInput(logger, id, 128 , 69 )
|
|
2338
|
+
return id ? dataSanitizeInput(logger, id, 128 , 69 )[_DYN_TO_STRING$1 ]() : id;
|
|
2158
2339
|
}
|
|
2159
2340
|
function dataSanitizeInput(logger, input, maxLength, _msgId) {
|
|
2160
2341
|
var inputTrunc;
|
|
2161
2342
|
if (input) {
|
|
2162
2343
|
input = strTrim(input);
|
|
2163
|
-
if (input
|
|
2164
|
-
inputTrunc = input
|
|
2344
|
+
if (input[_DYN_LENGTH$1 ] > maxLength) {
|
|
2345
|
+
inputTrunc = input[_DYN_SUBSTRING ](0, maxLength);
|
|
2165
2346
|
_throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
|
|
2166
2347
|
}
|
|
2167
2348
|
}
|
|
@@ -2169,101 +2350,30 @@
|
|
|
2169
2350
|
}
|
|
2170
2351
|
function dsPadNumber(num) {
|
|
2171
2352
|
var s = "00" + num;
|
|
2172
|
-
return s.substr(s
|
|
2173
|
-
}
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
var HttpMethod = "http.method";
|
|
2197
|
-
var strNotSpecified = "not_specified";
|
|
2198
|
-
|
|
2199
|
-
var StorageType = createEnumStyle({
|
|
2200
|
-
LocalStorage: 0 ,
|
|
2201
|
-
SessionStorage: 1
|
|
2202
|
-
});
|
|
2203
|
-
createEnumStyle({
|
|
2204
|
-
AI: 0 ,
|
|
2205
|
-
AI_AND_W3C: 1 ,
|
|
2206
|
-
W3C: 2
|
|
2207
|
-
});
|
|
2208
|
-
|
|
2209
|
-
var _canUseSessionStorage = undefined;
|
|
2210
|
-
function _getVerifiedStorageObject(storageType) {
|
|
2211
|
-
try {
|
|
2212
|
-
if (isNullOrUndefined(getGlobal())) {
|
|
2213
|
-
return null;
|
|
2214
|
-
}
|
|
2215
|
-
var uid = (new Date).toString();
|
|
2216
|
-
var storage = getGlobalInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
|
|
2217
|
-
storage.setItem(uid, uid);
|
|
2218
|
-
var fail = storage.getItem(uid) !== uid;
|
|
2219
|
-
storage.removeItem(uid);
|
|
2220
|
-
if (!fail) {
|
|
2221
|
-
return storage;
|
|
2222
|
-
}
|
|
2223
|
-
}
|
|
2224
|
-
catch (exception) {
|
|
2225
|
-
}
|
|
2226
|
-
return null;
|
|
2227
|
-
}
|
|
2228
|
-
function _getSessionStorageObject() {
|
|
2229
|
-
if (utlCanUseSessionStorage()) {
|
|
2230
|
-
return _getVerifiedStorageObject(StorageType.SessionStorage);
|
|
2231
|
-
}
|
|
2232
|
-
return null;
|
|
2233
|
-
}
|
|
2234
|
-
function utlCanUseSessionStorage(reset) {
|
|
2235
|
-
if (reset || _canUseSessionStorage === undefined) {
|
|
2236
|
-
_canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);
|
|
2237
|
-
}
|
|
2238
|
-
return _canUseSessionStorage;
|
|
2239
|
-
}
|
|
2240
|
-
function utlGetSessionStorage(logger, name) {
|
|
2241
|
-
var storage = _getSessionStorageObject();
|
|
2242
|
-
if (storage !== null) {
|
|
2243
|
-
try {
|
|
2244
|
-
return storage.getItem(name);
|
|
2245
|
-
}
|
|
2246
|
-
catch (e) {
|
|
2247
|
-
_canUseSessionStorage = false;
|
|
2248
|
-
_throwInternal(logger, 2 , 2 , "Browser failed read of session storage. " + getExceptionName(e), { exception: dumpObj(e) });
|
|
2249
|
-
}
|
|
2250
|
-
}
|
|
2251
|
-
return null;
|
|
2252
|
-
}
|
|
2253
|
-
function utlSetSessionStorage(logger, name, data) {
|
|
2254
|
-
var storage = _getSessionStorageObject();
|
|
2255
|
-
if (storage !== null) {
|
|
2256
|
-
try {
|
|
2257
|
-
storage.setItem(name, data);
|
|
2258
|
-
return true;
|
|
2259
|
-
}
|
|
2260
|
-
catch (e) {
|
|
2261
|
-
_canUseSessionStorage = false;
|
|
2262
|
-
_throwInternal(logger, 2 , 4 , "Browser failed write to session storage. " + getExceptionName(e), { exception: dumpObj(e) });
|
|
2263
|
-
}
|
|
2264
|
-
}
|
|
2265
|
-
return false;
|
|
2266
|
-
}
|
|
2353
|
+
return s.substr(s[_DYN_LENGTH$1 ] - 3);
|
|
2354
|
+
}
|
|
2355
|
+
(_a$1 = {
|
|
2356
|
+
MAX_NAME_LENGTH: 150 ,
|
|
2357
|
+
MAX_ID_LENGTH: 128 ,
|
|
2358
|
+
MAX_PROPERTY_LENGTH: 8192 ,
|
|
2359
|
+
MAX_STRING_LENGTH: 1024 ,
|
|
2360
|
+
MAX_URL_LENGTH: 2048 ,
|
|
2361
|
+
MAX_MESSAGE_LENGTH: 32768 ,
|
|
2362
|
+
MAX_EXCEPTION_LENGTH: 32768
|
|
2363
|
+
},
|
|
2364
|
+
_a$1[_DYN_SANITIZE_KEY_AND_ADD2 ] = dataSanitizeKeyAndAddUniqueness,
|
|
2365
|
+
_a$1.sanitizeKey = dataSanitizeKey,
|
|
2366
|
+
_a$1.sanitizeString = dataSanitizeString,
|
|
2367
|
+
_a$1.sanitizeUrl = dataSanitizeUrl,
|
|
2368
|
+
_a$1.sanitizeMessage = dataSanitizeMessage,
|
|
2369
|
+
_a$1[_DYN_SANITIZE_EXCEPTION ] = dataSanitizeException,
|
|
2370
|
+
_a$1[_DYN_SANITIZE_PROPERTIES ] = dataSanitizeProperties,
|
|
2371
|
+
_a$1[_DYN_SANITIZE_MEASUREMENT3 ] = dataSanitizeMeasurements,
|
|
2372
|
+
_a$1.sanitizeId = dataSanitizeId,
|
|
2373
|
+
_a$1.sanitizeInput = dataSanitizeInput,
|
|
2374
|
+
_a$1.padNumber = dsPadNumber,
|
|
2375
|
+
_a$1.trim = strTrim,
|
|
2376
|
+
_a$1);
|
|
2267
2377
|
|
|
2268
2378
|
var _document = getDocument() || {};
|
|
2269
2379
|
var _htmlAnchorIdx = 0;
|
|
@@ -2280,7 +2390,7 @@
|
|
|
2280
2390
|
}
|
|
2281
2391
|
tempAnchor.href = url;
|
|
2282
2392
|
anchorIdx++;
|
|
2283
|
-
if (anchorIdx >= anchorCache
|
|
2393
|
+
if (anchorIdx >= anchorCache[_DYN_LENGTH$1 ]) {
|
|
2284
2394
|
anchorIdx = 0;
|
|
2285
2395
|
}
|
|
2286
2396
|
_htmlAnchorIdx = anchorIdx;
|
|
@@ -2290,7 +2400,7 @@
|
|
|
2290
2400
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2291
2401
|
if (fullHost) {
|
|
2292
2402
|
var match = fullHost.match(/(www[0-9]?\.)?(.[^/:]+)(\:[\d]+)?/i);
|
|
2293
|
-
if (match != null && match
|
|
2403
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2294
2404
|
return match[2] + (match[3] || "");
|
|
2295
2405
|
}
|
|
2296
2406
|
}
|
|
@@ -2300,10 +2410,10 @@
|
|
|
2300
2410
|
var result = null;
|
|
2301
2411
|
if (url) {
|
|
2302
2412
|
var match = url.match(/(\w*):\/\/(.[^/:]+)(\:[\d]+)?/i);
|
|
2303
|
-
if (match != null && match
|
|
2413
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2304
2414
|
result = match[2] || "";
|
|
2305
|
-
if (inclPort && match
|
|
2306
|
-
var protocol = (match[1] || "")
|
|
2415
|
+
if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
|
|
2416
|
+
var protocol = (match[1] || "")[_DYN_TO_LOWER_CASE ]();
|
|
2307
2417
|
var port = match[3] || "";
|
|
2308
2418
|
if (protocol === "http" && port === ":80") {
|
|
2309
2419
|
port = "";
|
|
@@ -2319,25 +2429,25 @@
|
|
|
2319
2429
|
}
|
|
2320
2430
|
|
|
2321
2431
|
var _internalEndpoints = [
|
|
2322
|
-
|
|
2323
|
-
"https://breeze.aimon.applicationinsights.io
|
|
2324
|
-
"https://dc-int.services.visualstudio.com
|
|
2432
|
+
DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,
|
|
2433
|
+
"https://breeze.aimon.applicationinsights.io" + DEFAULT_BREEZE_PATH,
|
|
2434
|
+
"https://dc-int.services.visualstudio.com" + DEFAULT_BREEZE_PATH
|
|
2325
2435
|
];
|
|
2326
2436
|
function isInternalApplicationInsightsEndpoint(endpointUrl) {
|
|
2327
|
-
return arrIndexOf(_internalEndpoints, endpointUrl
|
|
2437
|
+
return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE ]()) !== -1;
|
|
2328
2438
|
}
|
|
2329
2439
|
function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {
|
|
2330
2440
|
var target, name = commandName, data = commandName;
|
|
2331
|
-
if (absoluteUrl && absoluteUrl
|
|
2441
|
+
if (absoluteUrl && absoluteUrl[_DYN_LENGTH$1 ] > 0) {
|
|
2332
2442
|
var parsedUrl = urlParseUrl(absoluteUrl);
|
|
2333
2443
|
target = parsedUrl.host;
|
|
2334
2444
|
if (!name) {
|
|
2335
|
-
if (parsedUrl
|
|
2336
|
-
var pathName = (parsedUrl.pathname
|
|
2445
|
+
if (parsedUrl[_DYN_PATHNAME ] != null) {
|
|
2446
|
+
var pathName = (parsedUrl.pathname[_DYN_LENGTH$1 ] === 0) ? "/" : parsedUrl[_DYN_PATHNAME ];
|
|
2337
2447
|
if (pathName.charAt(0) !== "/") {
|
|
2338
2448
|
pathName = "/" + pathName;
|
|
2339
2449
|
}
|
|
2340
|
-
data = parsedUrl
|
|
2450
|
+
data = parsedUrl[_DYN_PATHNAME ];
|
|
2341
2451
|
name = dataSanitizeString(logger, method ? method + " " + pathName : pathName);
|
|
2342
2452
|
}
|
|
2343
2453
|
else {
|
|
@@ -2363,7 +2473,7 @@
|
|
|
2363
2473
|
_self.ver = 1;
|
|
2364
2474
|
_self.sampleRate = 100.0;
|
|
2365
2475
|
_self.tags = {};
|
|
2366
|
-
_self
|
|
2476
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
2367
2477
|
_self.data = data;
|
|
2368
2478
|
_self.time = toISOString(new Date());
|
|
2369
2479
|
_self.aiDataContract = {
|
|
@@ -2390,9 +2500,9 @@
|
|
|
2390
2500
|
};
|
|
2391
2501
|
var _self = this;
|
|
2392
2502
|
_self.ver = 2;
|
|
2393
|
-
_self
|
|
2394
|
-
_self
|
|
2395
|
-
_self
|
|
2503
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
2504
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
2505
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2396
2506
|
}
|
|
2397
2507
|
Event.envelopeType = "Microsoft.ApplicationInsights.{0}.Event";
|
|
2398
2508
|
Event.dataType = "EventData";
|
|
@@ -2409,11 +2519,11 @@
|
|
|
2409
2519
|
function _stringify(value, convertToString) {
|
|
2410
2520
|
var result = value;
|
|
2411
2521
|
if (result && !isString(result)) {
|
|
2412
|
-
if (JSON && JSON
|
|
2413
|
-
result = JSON
|
|
2522
|
+
if (JSON && JSON[_DYN_STRINGIFY$1 ]) {
|
|
2523
|
+
result = JSON[_DYN_STRINGIFY$1 ](value);
|
|
2414
2524
|
if (convertToString && (!result || result === "{}")) {
|
|
2415
|
-
if (isFunction(value
|
|
2416
|
-
result = value
|
|
2525
|
+
if (isFunction(value[_DYN_TO_STRING$1 ])) {
|
|
2526
|
+
result = value[_DYN_TO_STRING$1 ]();
|
|
2417
2527
|
}
|
|
2418
2528
|
else {
|
|
2419
2529
|
result = "" + value;
|
|
@@ -2439,7 +2549,7 @@
|
|
|
2439
2549
|
evtMessage = evtMessage + " @" + (theEvent["filename"] || "") + ":" + (theEvent["lineno"] || "?") + ":" + (theEvent["colno"] || "?");
|
|
2440
2550
|
}
|
|
2441
2551
|
}
|
|
2442
|
-
if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "")
|
|
2552
|
+
if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "")[_DYN_INDEX_OF ](errorType) === -1) {
|
|
2443
2553
|
evtMessage = errorType + ": " + evtMessage;
|
|
2444
2554
|
}
|
|
2445
2555
|
return evtMessage || "";
|
|
@@ -2477,7 +2587,7 @@
|
|
|
2477
2587
|
src = "" + src;
|
|
2478
2588
|
}
|
|
2479
2589
|
}
|
|
2480
|
-
var items = src
|
|
2590
|
+
var items = src[_DYN_SPLIT ]("\n");
|
|
2481
2591
|
return {
|
|
2482
2592
|
src: src,
|
|
2483
2593
|
obj: items
|
|
@@ -2485,8 +2595,8 @@
|
|
|
2485
2595
|
}
|
|
2486
2596
|
function _getOperaStack(errorMessage) {
|
|
2487
2597
|
var stack = [];
|
|
2488
|
-
var lines = errorMessage
|
|
2489
|
-
for (var lp = 0; lp < lines
|
|
2598
|
+
var lines = errorMessage[_DYN_SPLIT ]("\n");
|
|
2599
|
+
for (var lp = 0; lp < lines[_DYN_LENGTH$1 ]; lp++) {
|
|
2490
2600
|
var entry = lines[lp];
|
|
2491
2601
|
if (lines[lp + 1]) {
|
|
2492
2602
|
entry += "@" + lines[lp + 1];
|
|
@@ -2519,7 +2629,7 @@
|
|
|
2519
2629
|
details = errorObj[strStackDetails];
|
|
2520
2630
|
}
|
|
2521
2631
|
else if (window && window["opera"] && errorObj[strMessage]) {
|
|
2522
|
-
details = _getOperaStack(errorObj
|
|
2632
|
+
details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
|
|
2523
2633
|
}
|
|
2524
2634
|
else if (isString(errorObj)) {
|
|
2525
2635
|
details = _convertStackObj(errorObj);
|
|
@@ -2563,28 +2673,28 @@
|
|
|
2563
2673
|
function _parseStack(stack) {
|
|
2564
2674
|
var parsedStack;
|
|
2565
2675
|
var frames = stack.obj;
|
|
2566
|
-
if (frames && frames
|
|
2676
|
+
if (frames && frames[_DYN_LENGTH$1 ] > 0) {
|
|
2567
2677
|
parsedStack = [];
|
|
2568
2678
|
var level_1 = 0;
|
|
2569
2679
|
var totalSizeInBytes_1 = 0;
|
|
2570
2680
|
arrForEach(frames, function (frame) {
|
|
2571
|
-
var theFrame = frame
|
|
2681
|
+
var theFrame = frame[_DYN_TO_STRING$1 ]();
|
|
2572
2682
|
if (_StackFrame.regex.test(theFrame)) {
|
|
2573
2683
|
var parsedFrame = new _StackFrame(theFrame, level_1++);
|
|
2574
|
-
totalSizeInBytes_1 += parsedFrame
|
|
2684
|
+
totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
|
|
2575
2685
|
parsedStack.push(parsedFrame);
|
|
2576
2686
|
}
|
|
2577
2687
|
});
|
|
2578
2688
|
var exceptionParsedStackThreshold = 32 * 1024;
|
|
2579
2689
|
if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {
|
|
2580
2690
|
var left = 0;
|
|
2581
|
-
var right = parsedStack
|
|
2691
|
+
var right = parsedStack[_DYN_LENGTH$1 ] - 1;
|
|
2582
2692
|
var size = 0;
|
|
2583
2693
|
var acceptedLeft = left;
|
|
2584
2694
|
var acceptedRight = right;
|
|
2585
2695
|
while (left < right) {
|
|
2586
|
-
var lSize = parsedStack[left]
|
|
2587
|
-
var rSize = parsedStack[right]
|
|
2696
|
+
var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES ];
|
|
2697
|
+
var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES ];
|
|
2588
2698
|
size += lSize + rSize;
|
|
2589
2699
|
if (size > exceptionParsedStackThreshold) {
|
|
2590
2700
|
var howMany = acceptedRight - acceptedLeft + 1;
|
|
@@ -2603,12 +2713,12 @@
|
|
|
2603
2713
|
function _getErrorType(errorType) {
|
|
2604
2714
|
var typeName = "";
|
|
2605
2715
|
if (errorType) {
|
|
2606
|
-
typeName = errorType.typeName || errorType
|
|
2716
|
+
typeName = errorType.typeName || errorType[_DYN_NAME$1 ] || "";
|
|
2607
2717
|
if (!typeName) {
|
|
2608
2718
|
try {
|
|
2609
2719
|
var funcNameRegex = /function (.{1,200})\(/;
|
|
2610
|
-
var results = (funcNameRegex).exec((errorType).constructor
|
|
2611
|
-
typeName = (results && results
|
|
2720
|
+
var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING$1 ]());
|
|
2721
|
+
typeName = (results && results[_DYN_LENGTH$1 ] > 1) ? results[1] : "";
|
|
2612
2722
|
}
|
|
2613
2723
|
catch (e) {
|
|
2614
2724
|
}
|
|
@@ -2629,7 +2739,7 @@
|
|
|
2629
2739
|
}
|
|
2630
2740
|
result = _stringify(errorObj, true);
|
|
2631
2741
|
}
|
|
2632
|
-
if (result
|
|
2742
|
+
if (result[_DYN_INDEX_OF ](errorType) !== 0 && errorType !== "String") {
|
|
2633
2743
|
return errorType + ":" + result;
|
|
2634
2744
|
}
|
|
2635
2745
|
return result;
|
|
@@ -2655,79 +2765,83 @@
|
|
|
2655
2765
|
if (!properties) {
|
|
2656
2766
|
properties = {};
|
|
2657
2767
|
}
|
|
2658
|
-
_self
|
|
2659
|
-
_self
|
|
2660
|
-
_self
|
|
2768
|
+
_self[_DYN_EXCEPTIONS ] = [new _ExceptionDetails(logger, exception, properties)];
|
|
2769
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
2770
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2661
2771
|
if (severityLevel) {
|
|
2662
|
-
_self
|
|
2772
|
+
_self[_DYN_SEVERITY_LEVEL ] = severityLevel;
|
|
2663
2773
|
}
|
|
2664
2774
|
if (id) {
|
|
2665
2775
|
_self.id = id;
|
|
2666
2776
|
}
|
|
2667
2777
|
}
|
|
2668
2778
|
else {
|
|
2669
|
-
_self
|
|
2670
|
-
_self
|
|
2671
|
-
_self
|
|
2672
|
-
if (exception
|
|
2673
|
-
_self
|
|
2779
|
+
_self[_DYN_EXCEPTIONS ] = exception[_DYN_EXCEPTIONS ] || [];
|
|
2780
|
+
_self[_DYN_PROPERTIES ] = exception[_DYN_PROPERTIES ];
|
|
2781
|
+
_self[_DYN_MEASUREMENTS$1 ] = exception[_DYN_MEASUREMENTS$1 ];
|
|
2782
|
+
if (exception[_DYN_SEVERITY_LEVEL ]) {
|
|
2783
|
+
_self[_DYN_SEVERITY_LEVEL ] = exception[_DYN_SEVERITY_LEVEL ];
|
|
2674
2784
|
}
|
|
2675
2785
|
if (exception.id) {
|
|
2676
2786
|
_self.id = exception.id;
|
|
2677
2787
|
}
|
|
2678
|
-
if (exception
|
|
2679
|
-
_self
|
|
2788
|
+
if (exception[_DYN_PROBLEM_GROUP ]) {
|
|
2789
|
+
_self[_DYN_PROBLEM_GROUP ] = exception[_DYN_PROBLEM_GROUP ];
|
|
2680
2790
|
}
|
|
2681
|
-
if (!isNullOrUndefined(exception
|
|
2682
|
-
_self
|
|
2791
|
+
if (!isNullOrUndefined(exception[_DYN_IS_MANUAL ])) {
|
|
2792
|
+
_self[_DYN_IS_MANUAL ] = exception[_DYN_IS_MANUAL ];
|
|
2683
2793
|
}
|
|
2684
2794
|
}
|
|
2685
2795
|
}
|
|
2686
2796
|
Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {
|
|
2797
|
+
var _a;
|
|
2687
2798
|
var errorType = _getErrorType(error || evt || message);
|
|
2688
|
-
return {
|
|
2689
|
-
|
|
2690
|
-
url
|
|
2691
|
-
lineNumber
|
|
2692
|
-
columnNumber
|
|
2693
|
-
error
|
|
2694
|
-
evt
|
|
2695
|
-
|
|
2696
|
-
stackDetails
|
|
2697
|
-
errorSrc
|
|
2698
|
-
|
|
2799
|
+
return _a = {},
|
|
2800
|
+
_a[_DYN_MESSAGE ] = _formatMessage(message, errorType),
|
|
2801
|
+
_a.url = url,
|
|
2802
|
+
_a.lineNumber = lineNumber,
|
|
2803
|
+
_a.columnNumber = columnNumber,
|
|
2804
|
+
_a.error = _formatErrorCode(error || evt || message),
|
|
2805
|
+
_a.evt = _formatErrorCode(evt || message),
|
|
2806
|
+
_a[_DYN_TYPE_NAME ] = errorType,
|
|
2807
|
+
_a.stackDetails = _getStackFromErrorObj(stack || error || evt),
|
|
2808
|
+
_a.errorSrc = errorSrc,
|
|
2809
|
+
_a;
|
|
2699
2810
|
};
|
|
2700
2811
|
Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
|
|
2701
|
-
var exceptions = exception
|
|
2702
|
-
&& arrMap(exception
|
|
2812
|
+
var exceptions = exception[_DYN_EXCEPTIONS ]
|
|
2813
|
+
&& arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 ](logger, ex); });
|
|
2703
2814
|
var exceptionData = new Exception(logger, __assignFn(__assignFn({}, exception), { exceptions: exceptions }), properties, measurements);
|
|
2704
2815
|
return exceptionData;
|
|
2705
2816
|
};
|
|
2706
2817
|
Exception.prototype.toInterface = function () {
|
|
2707
|
-
var _a
|
|
2818
|
+
var _a;
|
|
2819
|
+
var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;
|
|
2708
2820
|
var exceptionDetailsInterface = exceptions instanceof Array
|
|
2709
2821
|
&& arrMap(exceptions, function (exception) { return exception.toInterface(); })
|
|
2710
2822
|
|| undefined;
|
|
2711
|
-
return {
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2823
|
+
return _a = {
|
|
2824
|
+
ver: "4.0"
|
|
2825
|
+
},
|
|
2826
|
+
_a[_DYN_EXCEPTIONS ] = exceptionDetailsInterface,
|
|
2827
|
+
_a.severityLevel = severityLevel,
|
|
2828
|
+
_a.properties = properties,
|
|
2829
|
+
_a.measurements = measurements,
|
|
2830
|
+
_a.problemGroup = problemGroup,
|
|
2831
|
+
_a.id = id,
|
|
2832
|
+
_a.isManual = isManual,
|
|
2833
|
+
_a;
|
|
2721
2834
|
};
|
|
2722
2835
|
Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {
|
|
2836
|
+
var _a;
|
|
2723
2837
|
return {
|
|
2724
2838
|
exceptions: [
|
|
2725
|
-
{
|
|
2726
|
-
|
|
2727
|
-
message
|
|
2728
|
-
stack
|
|
2729
|
-
typeName
|
|
2730
|
-
|
|
2839
|
+
(_a = {},
|
|
2840
|
+
_a[_DYN_HAS_FULL_STACK ] = true,
|
|
2841
|
+
_a.message = message,
|
|
2842
|
+
_a.stack = details,
|
|
2843
|
+
_a.typeName = typeName,
|
|
2844
|
+
_a)
|
|
2731
2845
|
]
|
|
2732
2846
|
};
|
|
2733
2847
|
};
|
|
@@ -2754,43 +2868,45 @@
|
|
|
2754
2868
|
if (!isError(error)) {
|
|
2755
2869
|
error = error[strError] || evt || error;
|
|
2756
2870
|
}
|
|
2757
|
-
_self
|
|
2758
|
-
_self
|
|
2871
|
+
_self[_DYN_TYPE_NAME ] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
|
|
2872
|
+
_self[_DYN_MESSAGE ] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME ])) || strNotSpecified;
|
|
2759
2873
|
var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
|
|
2760
|
-
_self
|
|
2874
|
+
_self[_DYN_PARSED_STACK ] = _parseStack(stack);
|
|
2761
2875
|
_self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));
|
|
2762
|
-
_self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack
|
|
2876
|
+
_self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH$1 ] > 0;
|
|
2763
2877
|
if (properties) {
|
|
2764
|
-
properties
|
|
2878
|
+
properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || _self[_DYN_TYPE_NAME ];
|
|
2765
2879
|
}
|
|
2766
2880
|
}
|
|
2767
2881
|
else {
|
|
2768
|
-
_self
|
|
2769
|
-
_self
|
|
2882
|
+
_self[_DYN_TYPE_NAME ] = exception[_DYN_TYPE_NAME ];
|
|
2883
|
+
_self[_DYN_MESSAGE ] = exception[_DYN_MESSAGE ];
|
|
2770
2884
|
_self[strStack] = exception[strStack];
|
|
2771
|
-
_self
|
|
2772
|
-
_self
|
|
2885
|
+
_self[_DYN_PARSED_STACK ] = exception[_DYN_PARSED_STACK ] || [];
|
|
2886
|
+
_self[_DYN_HAS_FULL_STACK ] = exception[_DYN_HAS_FULL_STACK ];
|
|
2773
2887
|
}
|
|
2774
2888
|
}
|
|
2775
2889
|
_ExceptionDetails.prototype.toInterface = function () {
|
|
2890
|
+
var _a;
|
|
2776
2891
|
var _self = this;
|
|
2777
|
-
var parsedStack = _self
|
|
2778
|
-
&& arrMap(_self
|
|
2779
|
-
var exceptionDetailsInterface = {
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2892
|
+
var parsedStack = _self[_DYN_PARSED_STACK ] instanceof Array
|
|
2893
|
+
&& arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return frame.toInterface(); });
|
|
2894
|
+
var exceptionDetailsInterface = (_a = {
|
|
2895
|
+
id: _self.id,
|
|
2896
|
+
outerId: _self.outerId,
|
|
2897
|
+
typeName: _self[_DYN_TYPE_NAME ],
|
|
2898
|
+
message: _self[_DYN_MESSAGE ],
|
|
2899
|
+
hasFullStack: _self[_DYN_HAS_FULL_STACK ],
|
|
2900
|
+
stack: _self[strStack]
|
|
2901
|
+
},
|
|
2902
|
+
_a[_DYN_PARSED_STACK ] = parsedStack || undefined,
|
|
2903
|
+
_a);
|
|
2788
2904
|
return exceptionDetailsInterface;
|
|
2789
2905
|
};
|
|
2790
2906
|
_ExceptionDetails.CreateFromInterface = function (logger, exception) {
|
|
2791
|
-
var parsedStack = (exception
|
|
2792
|
-
&& arrMap(exception
|
|
2793
|
-
|| exception
|
|
2907
|
+
var parsedStack = (exception[_DYN_PARSED_STACK ] instanceof Array
|
|
2908
|
+
&& arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 ](frame); }))
|
|
2909
|
+
|| exception[_DYN_PARSED_STACK ];
|
|
2794
2910
|
var exceptionDetails = new _ExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
|
|
2795
2911
|
return exceptionDetails;
|
|
2796
2912
|
};
|
|
@@ -2806,35 +2922,35 @@
|
|
|
2806
2922
|
line: 0
|
|
2807
2923
|
};
|
|
2808
2924
|
var _self = this;
|
|
2809
|
-
_self
|
|
2925
|
+
_self[_DYN_SIZE_IN_BYTES ] = 0;
|
|
2810
2926
|
if (typeof sourceFrame === "string") {
|
|
2811
2927
|
var frame = sourceFrame;
|
|
2812
|
-
_self
|
|
2813
|
-
_self
|
|
2814
|
-
_self
|
|
2815
|
-
_self
|
|
2816
|
-
_self
|
|
2928
|
+
_self[_DYN_LEVEL ] = level;
|
|
2929
|
+
_self[_DYN_METHOD ] = NoMethod;
|
|
2930
|
+
_self[_DYN_ASSEMBLY ] = strTrim(frame);
|
|
2931
|
+
_self[_DYN_FILE_NAME ] = "";
|
|
2932
|
+
_self[_DYN_LINE ] = 0;
|
|
2817
2933
|
var matches = frame.match(_StackFrame.regex);
|
|
2818
|
-
if (matches && matches
|
|
2819
|
-
_self
|
|
2820
|
-
_self
|
|
2821
|
-
_self
|
|
2934
|
+
if (matches && matches[_DYN_LENGTH$1 ] >= 5) {
|
|
2935
|
+
_self[_DYN_METHOD ] = strTrim(matches[2]) || _self[_DYN_METHOD ];
|
|
2936
|
+
_self[_DYN_FILE_NAME ] = strTrim(matches[4]);
|
|
2937
|
+
_self[_DYN_LINE ] = parseInt(matches[5]) || 0;
|
|
2822
2938
|
}
|
|
2823
2939
|
}
|
|
2824
2940
|
else {
|
|
2825
|
-
_self
|
|
2826
|
-
_self
|
|
2827
|
-
_self
|
|
2828
|
-
_self
|
|
2829
|
-
_self
|
|
2830
|
-
_self
|
|
2831
|
-
}
|
|
2832
|
-
_self.sizeInBytes += _self.method
|
|
2833
|
-
_self.sizeInBytes += _self.fileName
|
|
2834
|
-
_self.sizeInBytes += _self.assembly
|
|
2835
|
-
_self
|
|
2836
|
-
_self.sizeInBytes += _self.level.toString()
|
|
2837
|
-
_self.sizeInBytes += _self.line.toString()
|
|
2941
|
+
_self[_DYN_LEVEL ] = sourceFrame[_DYN_LEVEL ];
|
|
2942
|
+
_self[_DYN_METHOD ] = sourceFrame[_DYN_METHOD ];
|
|
2943
|
+
_self[_DYN_ASSEMBLY ] = sourceFrame[_DYN_ASSEMBLY ];
|
|
2944
|
+
_self[_DYN_FILE_NAME ] = sourceFrame[_DYN_FILE_NAME ];
|
|
2945
|
+
_self[_DYN_LINE ] = sourceFrame[_DYN_LINE ];
|
|
2946
|
+
_self[_DYN_SIZE_IN_BYTES ] = 0;
|
|
2947
|
+
}
|
|
2948
|
+
_self.sizeInBytes += _self.method[_DYN_LENGTH$1 ];
|
|
2949
|
+
_self.sizeInBytes += _self.fileName[_DYN_LENGTH$1 ];
|
|
2950
|
+
_self.sizeInBytes += _self.assembly[_DYN_LENGTH$1 ];
|
|
2951
|
+
_self[_DYN_SIZE_IN_BYTES ] += _StackFrame.baseSize;
|
|
2952
|
+
_self.sizeInBytes += _self.level.toString()[_DYN_LENGTH$1 ];
|
|
2953
|
+
_self.sizeInBytes += _self.line.toString()[_DYN_LENGTH$1 ];
|
|
2838
2954
|
}
|
|
2839
2955
|
_StackFrame.CreateFromInterface = function (frame) {
|
|
2840
2956
|
return new _StackFrame(frame, null );
|
|
@@ -2842,11 +2958,11 @@
|
|
|
2842
2958
|
_StackFrame.prototype.toInterface = function () {
|
|
2843
2959
|
var _self = this;
|
|
2844
2960
|
return {
|
|
2845
|
-
level: _self
|
|
2846
|
-
method: _self
|
|
2847
|
-
assembly: _self
|
|
2848
|
-
fileName: _self
|
|
2849
|
-
line: _self
|
|
2961
|
+
level: _self[_DYN_LEVEL ],
|
|
2962
|
+
method: _self[_DYN_METHOD ],
|
|
2963
|
+
assembly: _self[_DYN_ASSEMBLY ],
|
|
2964
|
+
fileName: _self[_DYN_FILE_NAME ],
|
|
2965
|
+
line: _self[_DYN_LINE ]
|
|
2850
2966
|
};
|
|
2851
2967
|
};
|
|
2852
2968
|
_StackFrame.regex = /^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/;
|
|
@@ -2883,12 +2999,12 @@
|
|
|
2883
2999
|
dataPoint.count = count > 0 ? count : undefined;
|
|
2884
3000
|
dataPoint.max = isNaN(max) || max === null ? undefined : max;
|
|
2885
3001
|
dataPoint.min = isNaN(min) || min === null ? undefined : min;
|
|
2886
|
-
dataPoint
|
|
3002
|
+
dataPoint[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
2887
3003
|
dataPoint.value = value;
|
|
2888
3004
|
dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;
|
|
2889
3005
|
_self.metrics = [dataPoint];
|
|
2890
|
-
_self
|
|
2891
|
-
_self
|
|
3006
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3007
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2892
3008
|
}
|
|
2893
3009
|
Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric";
|
|
2894
3010
|
Metric.dataType = "MetricData";
|
|
@@ -2910,12 +3026,12 @@
|
|
|
2910
3026
|
_self.ver = 2;
|
|
2911
3027
|
_self.id = dataSanitizeId(logger, id);
|
|
2912
3028
|
_self.url = dataSanitizeUrl(logger, url);
|
|
2913
|
-
_self
|
|
3029
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
2914
3030
|
if (!isNaN(durationMs)) {
|
|
2915
|
-
_self
|
|
3031
|
+
_self[_DYN_DURATION ] = msToTimeSpan(durationMs);
|
|
2916
3032
|
}
|
|
2917
|
-
_self
|
|
2918
|
-
_self
|
|
3033
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3034
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2919
3035
|
}
|
|
2920
3036
|
PageView.envelopeType = "Microsoft.ApplicationInsights.{0}.Pageview";
|
|
2921
3037
|
PageView.dataType = "PageviewData";
|
|
@@ -2951,7 +3067,7 @@
|
|
|
2951
3067
|
var _self = this;
|
|
2952
3068
|
_self.ver = 2;
|
|
2953
3069
|
_self.id = id;
|
|
2954
|
-
_self
|
|
3070
|
+
_self[_DYN_DURATION ] = msToTimeSpan(value);
|
|
2955
3071
|
_self.success = success;
|
|
2956
3072
|
_self.resultCode = resultCode + "";
|
|
2957
3073
|
_self.type = dataSanitizeString(logger, requestAPI);
|
|
@@ -2961,9 +3077,9 @@
|
|
|
2961
3077
|
if (correlationContext) {
|
|
2962
3078
|
_self.target = "".concat(_self.target, " | ").concat(correlationContext);
|
|
2963
3079
|
}
|
|
2964
|
-
_self
|
|
2965
|
-
_self
|
|
2966
|
-
_self
|
|
3080
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, dependencyFields[_DYN_NAME$1 ]);
|
|
3081
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3082
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2967
3083
|
}
|
|
2968
3084
|
RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency";
|
|
2969
3085
|
RemoteDependencyData.dataType = "RemoteDependencyData";
|
|
@@ -2981,11 +3097,11 @@
|
|
|
2981
3097
|
var _self = this;
|
|
2982
3098
|
_self.ver = 2;
|
|
2983
3099
|
message = message || strNotSpecified;
|
|
2984
|
-
_self
|
|
2985
|
-
_self
|
|
2986
|
-
_self
|
|
3100
|
+
_self[_DYN_MESSAGE ] = dataSanitizeMessage(logger, message);
|
|
3101
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3102
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
2987
3103
|
if (severityLevel) {
|
|
2988
|
-
_self
|
|
3104
|
+
_self[_DYN_SEVERITY_LEVEL ] = severityLevel;
|
|
2989
3105
|
}
|
|
2990
3106
|
}
|
|
2991
3107
|
Trace.envelopeType = "Microsoft.ApplicationInsights.{0}.Message";
|
|
@@ -3011,15 +3127,15 @@
|
|
|
3011
3127
|
var _self = this;
|
|
3012
3128
|
_self.ver = 2;
|
|
3013
3129
|
_self.url = dataSanitizeUrl(logger, url);
|
|
3014
|
-
_self
|
|
3015
|
-
_self
|
|
3016
|
-
_self
|
|
3130
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3131
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3132
|
+
_self[_DYN_MEASUREMENTS$1 ] = dataSanitizeMeasurements(logger, measurements);
|
|
3017
3133
|
if (cs4BaseData) {
|
|
3018
3134
|
_self.domProcessing = cs4BaseData.domProcessing;
|
|
3019
|
-
_self
|
|
3135
|
+
_self[_DYN_DURATION ] = cs4BaseData[_DYN_DURATION ];
|
|
3020
3136
|
_self.networkConnect = cs4BaseData.networkConnect;
|
|
3021
3137
|
_self.perfTotal = cs4BaseData.perfTotal;
|
|
3022
|
-
_self
|
|
3138
|
+
_self[_DYN_RECEIVED_RESPONSE ] = cs4BaseData[_DYN_RECEIVED_RESPONSE ];
|
|
3023
3139
|
_self.sentRequest = cs4BaseData.sentRequest;
|
|
3024
3140
|
}
|
|
3025
3141
|
}
|
|
@@ -3124,189 +3240,80 @@
|
|
|
3124
3240
|
|
|
3125
3241
|
var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
|
|
3126
3242
|
|
|
3127
|
-
var
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
var
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
}
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
var _bufferFullMessageSent = false;
|
|
3202
|
-
dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
|
|
3203
|
-
var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);
|
|
3204
|
-
var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);
|
|
3205
|
-
var buffer = _self._set(bufferItems.concat(notDeliveredItems));
|
|
3206
|
-
if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
3207
|
-
buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;
|
|
3208
|
-
}
|
|
3209
|
-
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);
|
|
3210
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);
|
|
3211
|
-
_self.enqueue = function (payload) {
|
|
3212
|
-
if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
3213
|
-
if (!_bufferFullMessageSent) {
|
|
3214
|
-
_throwInternal(logger, 2 , 67 , "Maximum buffer size reached: " + _self.count(), true);
|
|
3215
|
-
_bufferFullMessageSent = true;
|
|
3216
|
-
}
|
|
3217
|
-
return;
|
|
3218
|
-
}
|
|
3219
|
-
_base.enqueue(payload);
|
|
3220
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());
|
|
3221
|
-
};
|
|
3222
|
-
_self.clear = function () {
|
|
3223
|
-
_base.clear();
|
|
3224
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());
|
|
3225
|
-
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);
|
|
3226
|
-
_bufferFullMessageSent = false;
|
|
3227
|
-
};
|
|
3228
|
-
_self.markAsSent = function (payload) {
|
|
3229
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));
|
|
3230
|
-
var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);
|
|
3231
|
-
if (sentElements instanceof Array && payload instanceof Array) {
|
|
3232
|
-
sentElements = sentElements.concat(payload);
|
|
3233
|
-
if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
3234
|
-
_throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements.length, true);
|
|
3235
|
-
sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;
|
|
3236
|
-
}
|
|
3237
|
-
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);
|
|
3238
|
-
}
|
|
3239
|
-
};
|
|
3240
|
-
_self.clearSent = function (payload) {
|
|
3241
|
-
var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);
|
|
3242
|
-
sentElements = _removePayloadsFromBuffer(payload, sentElements);
|
|
3243
|
-
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);
|
|
3244
|
-
};
|
|
3245
|
-
function _removePayloadsFromBuffer(payloads, buffer) {
|
|
3246
|
-
var remaining = [];
|
|
3247
|
-
arrForEach(buffer, function (value) {
|
|
3248
|
-
if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
|
|
3249
|
-
remaining.push(value);
|
|
3250
|
-
}
|
|
3251
|
-
});
|
|
3252
|
-
return remaining;
|
|
3253
|
-
}
|
|
3254
|
-
function _getBuffer(key) {
|
|
3255
|
-
var prefixedKey = key;
|
|
3256
|
-
try {
|
|
3257
|
-
prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + "_" + prefixedKey : prefixedKey;
|
|
3258
|
-
var bufferJson = utlGetSessionStorage(logger, prefixedKey);
|
|
3259
|
-
if (bufferJson) {
|
|
3260
|
-
var buffer_1 = getJSON().parse(bufferJson);
|
|
3261
|
-
if (isString(buffer_1)) {
|
|
3262
|
-
buffer_1 = getJSON().parse(buffer_1);
|
|
3263
|
-
}
|
|
3264
|
-
if (buffer_1 && isArray(buffer_1)) {
|
|
3265
|
-
return buffer_1;
|
|
3266
|
-
}
|
|
3267
|
-
}
|
|
3268
|
-
}
|
|
3269
|
-
catch (e) {
|
|
3270
|
-
_throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3271
|
-
}
|
|
3272
|
-
return [];
|
|
3273
|
-
}
|
|
3274
|
-
function _setBuffer(key, buffer) {
|
|
3275
|
-
var prefixedKey = key;
|
|
3276
|
-
try {
|
|
3277
|
-
prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + "_" + prefixedKey : prefixedKey;
|
|
3278
|
-
var bufferJson = JSON.stringify(buffer);
|
|
3279
|
-
utlSetSessionStorage(logger, prefixedKey, bufferJson);
|
|
3280
|
-
}
|
|
3281
|
-
catch (e) {
|
|
3282
|
-
utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));
|
|
3283
|
-
_throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
|
|
3284
|
-
}
|
|
3285
|
-
}
|
|
3286
|
-
});
|
|
3287
|
-
return _this;
|
|
3288
|
-
}
|
|
3289
|
-
SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
|
|
3290
|
-
SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
|
|
3291
|
-
SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
|
|
3292
|
-
return SessionStorageSendBuffer;
|
|
3293
|
-
}(BaseSendBuffer));
|
|
3294
|
-
|
|
3295
|
-
var strBaseType = "baseType";
|
|
3296
|
-
var strBaseData = "baseData";
|
|
3297
|
-
var strProperties = "properties";
|
|
3298
|
-
var strTrue = "true";
|
|
3299
|
-
function _setValueIf(target, field, value) {
|
|
3300
|
-
return setValue(target, field, value, isTruthy);
|
|
3301
|
-
}
|
|
3302
|
-
function _extractPartAExtensions(logger, item, env) {
|
|
3303
|
-
var envTags = env.tags = env.tags || {};
|
|
3304
|
-
var itmExt = item.ext = item.ext || {};
|
|
3305
|
-
var itmTags = item.tags = item.tags || [];
|
|
3306
|
-
var extUser = itmExt.user;
|
|
3307
|
-
if (extUser) {
|
|
3308
|
-
_setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);
|
|
3309
|
-
_setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);
|
|
3243
|
+
var STR_DURATION = "duration";
|
|
3244
|
+
|
|
3245
|
+
var _DYN_TAGS = "tags";
|
|
3246
|
+
var _DYN_DEVICE_TYPE = "deviceType";
|
|
3247
|
+
var _DYN_DATA = "data";
|
|
3248
|
+
var _DYN_NAME = "name";
|
|
3249
|
+
var _DYN_TRACE_ID = "traceID";
|
|
3250
|
+
var _DYN_LENGTH = "length";
|
|
3251
|
+
var _DYN_STRINGIFY = "stringify";
|
|
3252
|
+
var _DYN_MEASUREMENTS = "measurements";
|
|
3253
|
+
var _DYN_DATA_TYPE = "dataType";
|
|
3254
|
+
var _DYN_ENVELOPE_TYPE = "envelopeType";
|
|
3255
|
+
var _DYN_TO_STRING = "toString";
|
|
3256
|
+
var _DYN_ON_LINE = "onLine";
|
|
3257
|
+
var _DYN_ENQUEUE = "enqueue";
|
|
3258
|
+
var _DYN_COUNT = "count";
|
|
3259
|
+
var _DYN_PUSH = "push";
|
|
3260
|
+
var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
|
|
3261
|
+
var _DYN_CLEAR = "clear";
|
|
3262
|
+
var _DYN_BATCH_PAYLOADS = "batchPayloads";
|
|
3263
|
+
var _DYN_MARK_AS_SENT = "markAsSent";
|
|
3264
|
+
var _DYN_CLEAR_SENT = "clearSent";
|
|
3265
|
+
var _DYN__BUFFER__KEY = "BUFFER_KEY";
|
|
3266
|
+
var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
|
|
3267
|
+
var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
|
|
3268
|
+
var _DYN_NAME_PREFIX = "namePrefix";
|
|
3269
|
+
var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
|
|
3270
|
+
var _DYN_TRIGGER_SEND = "triggerSend";
|
|
3271
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
3272
|
+
var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
|
|
3273
|
+
var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
|
|
3274
|
+
var _DYN__SENDER = "_sender";
|
|
3275
|
+
var _DYN__SENDER_CONFIG = "_senderConfig";
|
|
3276
|
+
var _DYN__BUFFER = "_buffer";
|
|
3277
|
+
var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
|
|
3278
|
+
var _DYN_SAMPLING_PERCENTAGE = "samplingPercentage";
|
|
3279
|
+
var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
|
|
3280
|
+
var _DYN_ENDPOINT_URL = "endpointUrl";
|
|
3281
|
+
var _DYN_CUSTOM_HEADERS = "customHeaders";
|
|
3282
|
+
var _DYN_DISABLE_XHR = "disableXhr";
|
|
3283
|
+
var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
|
|
3284
|
+
var _DYN_DISABLE_TELEMETRY = "disableTelemetry";
|
|
3285
|
+
var _DYN_BASE_TYPE = "baseType";
|
|
3286
|
+
var _DYN_SAMPLE_RATE = "sampleRate";
|
|
3287
|
+
var _DYN_CONVERT_UNDEFINED = "convertUndefined";
|
|
3288
|
+
var _DYN__XHR_READY_STATE_CHA6 = "_xhrReadyStateChange";
|
|
3289
|
+
var _DYN__ON_ERROR = "_onError";
|
|
3290
|
+
var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
|
|
3291
|
+
var _DYN__ON_SUCCESS = "_onSuccess";
|
|
3292
|
+
var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
|
|
3293
|
+
var _DYN_ITEMS_RECEIVED = "itemsReceived";
|
|
3294
|
+
var _DYN_IS_RETRY_DISABLED = "isRetryDisabled";
|
|
3295
|
+
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
3296
|
+
var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
|
|
3297
|
+
var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
3298
|
+
var _DYN_DISABLE_INSTRUMENTAT7 = "disableInstrumentationKeyValidation";
|
|
3299
|
+
var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
|
|
3300
|
+
var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
|
|
3301
|
+
|
|
3302
|
+
var strBaseType = "baseType";
|
|
3303
|
+
var strBaseData = "baseData";
|
|
3304
|
+
var strProperties = "properties";
|
|
3305
|
+
var strTrue = "true";
|
|
3306
|
+
function _setValueIf(target, field, value) {
|
|
3307
|
+
return setValue(target, field, value, isTruthy);
|
|
3308
|
+
}
|
|
3309
|
+
function _extractPartAExtensions(logger, item, env) {
|
|
3310
|
+
var envTags = env[_DYN_TAGS ] = env[_DYN_TAGS ] || {};
|
|
3311
|
+
var itmExt = item.ext = item.ext || {};
|
|
3312
|
+
var itmTags = item[_DYN_TAGS ] = item[_DYN_TAGS ] || [];
|
|
3313
|
+
var extUser = itmExt.user;
|
|
3314
|
+
if (extUser) {
|
|
3315
|
+
_setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);
|
|
3316
|
+
_setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);
|
|
3310
3317
|
}
|
|
3311
3318
|
var extApp = itmExt.app;
|
|
3312
3319
|
if (extApp) {
|
|
@@ -3315,17 +3322,17 @@
|
|
|
3315
3322
|
var extDevice = itmExt.device;
|
|
3316
3323
|
if (extDevice) {
|
|
3317
3324
|
_setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);
|
|
3318
|
-
_setValueIf(envTags, CtxTagKeys
|
|
3325
|
+
_setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE ], extDevice.deviceClass);
|
|
3319
3326
|
_setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);
|
|
3320
3327
|
_setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);
|
|
3321
|
-
_setValueIf(envTags, CtxTagKeys
|
|
3328
|
+
_setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE ], extDevice[_DYN_DEVICE_TYPE ]);
|
|
3322
3329
|
}
|
|
3323
3330
|
var web = item.ext.web;
|
|
3324
3331
|
if (web) {
|
|
3325
3332
|
_setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);
|
|
3326
3333
|
_setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);
|
|
3327
3334
|
_setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);
|
|
3328
|
-
var envData = env
|
|
3335
|
+
var envData = env[_DYN_DATA ] = env[_DYN_DATA ] || {};
|
|
3329
3336
|
var envBaseData = envData[strBaseData] = envData[strBaseData] || {};
|
|
3330
3337
|
var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};
|
|
3331
3338
|
_setValueIf(envProps, "domain", web.domain);
|
|
@@ -3335,16 +3342,16 @@
|
|
|
3335
3342
|
}
|
|
3336
3343
|
var extOs = itmExt.os;
|
|
3337
3344
|
if (extOs) {
|
|
3338
|
-
_setValueIf(envTags, CtxTagKeys.deviceOS, extOs
|
|
3345
|
+
_setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
|
|
3339
3346
|
}
|
|
3340
3347
|
var extTrace = itmExt.trace;
|
|
3341
3348
|
if (extTrace) {
|
|
3342
3349
|
_setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);
|
|
3343
|
-
_setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace
|
|
3344
|
-
_setValueIf(envTags, CtxTagKeys.operationId, extTrace
|
|
3350
|
+
_setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME ]));
|
|
3351
|
+
_setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID ]);
|
|
3345
3352
|
}
|
|
3346
3353
|
var tgs = {};
|
|
3347
|
-
for (var i = itmTags
|
|
3354
|
+
for (var i = itmTags[_DYN_LENGTH ] - 1; i >= 0; i--) {
|
|
3348
3355
|
var tg = itmTags[i];
|
|
3349
3356
|
objForEachKey(tg, function (key, value) {
|
|
3350
3357
|
tgs[key] = value;
|
|
@@ -3358,7 +3365,7 @@
|
|
|
3358
3365
|
if (!theTags[CtxTagKeys.internalSdkVersion]) {
|
|
3359
3366
|
theTags[CtxTagKeys.internalSdkVersion] = "javascript:".concat(EnvelopeCreator.Version);
|
|
3360
3367
|
}
|
|
3361
|
-
env
|
|
3368
|
+
env[_DYN_TAGS ] = optimizeObject(theTags);
|
|
3362
3369
|
}
|
|
3363
3370
|
function _extractPropsAndMeasurements(data, properties, measurements) {
|
|
3364
3371
|
if (!isNullOrUndefined(data)) {
|
|
@@ -3370,7 +3377,7 @@
|
|
|
3370
3377
|
properties[key] = value;
|
|
3371
3378
|
}
|
|
3372
3379
|
else if (hasJSON()) {
|
|
3373
|
-
properties[key] = getJSON()
|
|
3380
|
+
properties[key] = getJSON()[_DYN_STRINGIFY ](value);
|
|
3374
3381
|
}
|
|
3375
3382
|
});
|
|
3376
3383
|
}
|
|
@@ -3390,9 +3397,9 @@
|
|
|
3390
3397
|
}
|
|
3391
3398
|
envelope.iKey = telemetryItem.iKey;
|
|
3392
3399
|
var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, "");
|
|
3393
|
-
envelope
|
|
3400
|
+
envelope[_DYN_NAME ] = envelope[_DYN_NAME ].replace("{0}", iKeyNoDashes);
|
|
3394
3401
|
_extractPartAExtensions(logger, telemetryItem, envelope);
|
|
3395
|
-
telemetryItem
|
|
3402
|
+
telemetryItem[_DYN_TAGS ] = telemetryItem[_DYN_TAGS ] || [];
|
|
3396
3403
|
return optimizeObject(envelope);
|
|
3397
3404
|
}
|
|
3398
3405
|
function EnvelopeCreatorInit(logger, telemetryItem) {
|
|
@@ -3401,13 +3408,13 @@
|
|
|
3401
3408
|
}
|
|
3402
3409
|
}
|
|
3403
3410
|
var EnvelopeCreator = {
|
|
3404
|
-
Version: "2.8.5-nightly.2206-
|
|
3411
|
+
Version: "2.8.5-nightly.2206-06"
|
|
3405
3412
|
};
|
|
3406
3413
|
function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3407
3414
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3408
|
-
var customMeasurements = telemetryItem[strBaseData]
|
|
3415
|
+
var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
|
|
3409
3416
|
var customProperties = telemetryItem[strBaseData][strProperties] || {};
|
|
3410
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3417
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], customProperties, customMeasurements);
|
|
3411
3418
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3412
3419
|
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
3413
3420
|
}
|
|
@@ -3417,87 +3424,86 @@
|
|
|
3417
3424
|
return null;
|
|
3418
3425
|
}
|
|
3419
3426
|
var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : "GET";
|
|
3420
|
-
var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd
|
|
3421
|
-
var data = new Data(RemoteDependencyData
|
|
3422
|
-
return _createEnvelope(logger, RemoteDependencyData
|
|
3427
|
+
var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME ], bd[STR_DURATION ], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);
|
|
3428
|
+
var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE ], remoteDepData);
|
|
3429
|
+
return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3423
3430
|
}
|
|
3424
3431
|
function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3425
3432
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3426
3433
|
var customProperties = {};
|
|
3427
3434
|
var customMeasurements = {};
|
|
3428
|
-
if (telemetryItem[strBaseType] !== Event
|
|
3435
|
+
if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE ]) {
|
|
3429
3436
|
customProperties["baseTypeSource"] = telemetryItem[strBaseType];
|
|
3430
3437
|
}
|
|
3431
|
-
if (telemetryItem[strBaseType] === Event
|
|
3438
|
+
if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE ]) {
|
|
3432
3439
|
customProperties = telemetryItem[strBaseData][strProperties] || {};
|
|
3433
|
-
customMeasurements = telemetryItem[strBaseData]
|
|
3440
|
+
customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
|
|
3434
3441
|
}
|
|
3435
3442
|
else {
|
|
3436
3443
|
if (telemetryItem[strBaseData]) {
|
|
3437
3444
|
_extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);
|
|
3438
3445
|
}
|
|
3439
3446
|
}
|
|
3440
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3447
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], customProperties, customMeasurements);
|
|
3441
3448
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3442
3449
|
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
3443
3450
|
}
|
|
3444
|
-
var eventName = telemetryItem[strBaseData]
|
|
3451
|
+
var eventName = telemetryItem[strBaseData][_DYN_NAME ];
|
|
3445
3452
|
var eventData = new Event(logger, eventName, customProperties, customMeasurements);
|
|
3446
|
-
var data = new Data(Event
|
|
3447
|
-
return _createEnvelope(logger, Event
|
|
3453
|
+
var data = new Data(Event[_DYN_DATA_TYPE ], eventData);
|
|
3454
|
+
return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3448
3455
|
}
|
|
3449
3456
|
function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3450
3457
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3451
|
-
var customMeasurements = telemetryItem[strBaseData]
|
|
3458
|
+
var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
|
|
3452
3459
|
var customProperties = telemetryItem[strBaseData][strProperties] || {};
|
|
3453
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3460
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], customProperties, customMeasurements);
|
|
3454
3461
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3455
3462
|
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
3456
3463
|
}
|
|
3457
3464
|
var bd = telemetryItem[strBaseData];
|
|
3458
3465
|
var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);
|
|
3459
|
-
var data = new Data(Exception
|
|
3460
|
-
return _createEnvelope(logger, Exception
|
|
3466
|
+
var data = new Data(Exception[_DYN_DATA_TYPE ], exData);
|
|
3467
|
+
return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3461
3468
|
}
|
|
3462
3469
|
function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3463
3470
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3464
3471
|
var baseData = telemetryItem[strBaseData];
|
|
3465
3472
|
var props = baseData[strProperties] || {};
|
|
3466
|
-
var measurements = baseData
|
|
3467
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3473
|
+
var measurements = baseData[_DYN_MEASUREMENTS ] || {};
|
|
3474
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], props, measurements);
|
|
3468
3475
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3469
3476
|
_convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);
|
|
3470
3477
|
}
|
|
3471
|
-
var baseMetricData = new Metric(logger, baseData
|
|
3472
|
-
var data = new Data(Metric
|
|
3473
|
-
return _createEnvelope(logger, Metric
|
|
3478
|
+
var baseMetricData = new Metric(logger, baseData[_DYN_NAME ], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);
|
|
3479
|
+
var data = new Data(Metric[_DYN_DATA_TYPE ], baseMetricData);
|
|
3480
|
+
return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3474
3481
|
}
|
|
3475
3482
|
function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3476
3483
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3477
|
-
var strDuration = "duration";
|
|
3478
3484
|
var duration;
|
|
3479
3485
|
var baseData = telemetryItem[strBaseData];
|
|
3480
3486
|
if (!isNullOrUndefined(baseData) &&
|
|
3481
3487
|
!isNullOrUndefined(baseData[strProperties]) &&
|
|
3482
|
-
!isNullOrUndefined(baseData[strProperties][
|
|
3483
|
-
duration = baseData[strProperties][
|
|
3484
|
-
delete baseData[strProperties][
|
|
3488
|
+
!isNullOrUndefined(baseData[strProperties][STR_DURATION])) {
|
|
3489
|
+
duration = baseData[strProperties][STR_DURATION];
|
|
3490
|
+
delete baseData[strProperties][STR_DURATION];
|
|
3485
3491
|
}
|
|
3486
|
-
else if (!isNullOrUndefined(telemetryItem
|
|
3487
|
-
!isNullOrUndefined(telemetryItem
|
|
3488
|
-
duration = telemetryItem
|
|
3489
|
-
delete telemetryItem
|
|
3492
|
+
else if (!isNullOrUndefined(telemetryItem[_DYN_DATA ]) &&
|
|
3493
|
+
!isNullOrUndefined(telemetryItem[_DYN_DATA ][STR_DURATION])) {
|
|
3494
|
+
duration = telemetryItem[_DYN_DATA ][STR_DURATION];
|
|
3495
|
+
delete telemetryItem[_DYN_DATA ][STR_DURATION];
|
|
3490
3496
|
}
|
|
3491
3497
|
var bd = telemetryItem[strBaseData];
|
|
3492
3498
|
var currentContextId;
|
|
3493
|
-
if (((telemetryItem.ext || {}).trace || {})
|
|
3494
|
-
currentContextId = telemetryItem.ext.trace
|
|
3499
|
+
if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID ]) {
|
|
3500
|
+
currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID ];
|
|
3495
3501
|
}
|
|
3496
3502
|
var id = bd.id || currentContextId;
|
|
3497
|
-
var name = bd
|
|
3503
|
+
var name = bd[_DYN_NAME ];
|
|
3498
3504
|
var url = bd.uri;
|
|
3499
3505
|
var properties = bd[strProperties] || {};
|
|
3500
|
-
var measurements = bd
|
|
3506
|
+
var measurements = bd[_DYN_MEASUREMENTS ] || {};
|
|
3501
3507
|
if (!isNullOrUndefined(bd.refUri)) {
|
|
3502
3508
|
properties["refUri"] = bd.refUri;
|
|
3503
3509
|
}
|
|
@@ -3505,7 +3511,7 @@
|
|
|
3505
3511
|
properties["pageType"] = bd.pageType;
|
|
3506
3512
|
}
|
|
3507
3513
|
if (!isNullOrUndefined(bd.isLoggedIn)) {
|
|
3508
|
-
properties["isLoggedIn"] = bd.isLoggedIn
|
|
3514
|
+
properties["isLoggedIn"] = bd.isLoggedIn[_DYN_TO_STRING ]();
|
|
3509
3515
|
}
|
|
3510
3516
|
if (!isNullOrUndefined(bd[strProperties])) {
|
|
3511
3517
|
var pageTags = bd[strProperties];
|
|
@@ -3513,54 +3519,300 @@
|
|
|
3513
3519
|
properties[key] = value;
|
|
3514
3520
|
});
|
|
3515
3521
|
}
|
|
3516
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3522
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], properties, measurements);
|
|
3517
3523
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3518
3524
|
_convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);
|
|
3519
3525
|
}
|
|
3520
3526
|
var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);
|
|
3521
|
-
var data = new Data(PageView
|
|
3522
|
-
return _createEnvelope(logger, PageView
|
|
3527
|
+
var data = new Data(PageView[_DYN_DATA_TYPE ], pageViewData);
|
|
3528
|
+
return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3523
3529
|
}
|
|
3524
3530
|
function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3525
3531
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3526
3532
|
var bd = telemetryItem[strBaseData];
|
|
3527
|
-
var name = bd
|
|
3533
|
+
var name = bd[_DYN_NAME ];
|
|
3528
3534
|
var url = bd.uri || bd.url;
|
|
3529
3535
|
var properties = bd[strProperties] || {};
|
|
3530
|
-
var measurements = bd
|
|
3531
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3536
|
+
var measurements = bd[_DYN_MEASUREMENTS ] || {};
|
|
3537
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], properties, measurements);
|
|
3532
3538
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3533
3539
|
_convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);
|
|
3534
3540
|
}
|
|
3535
3541
|
var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);
|
|
3536
|
-
var data = new Data(PageViewPerformance
|
|
3537
|
-
return _createEnvelope(logger, PageViewPerformance
|
|
3542
|
+
var data = new Data(PageViewPerformance[_DYN_DATA_TYPE ], baseData);
|
|
3543
|
+
return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3538
3544
|
}
|
|
3539
3545
|
function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
3540
3546
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
3541
3547
|
var message = telemetryItem[strBaseData].message;
|
|
3542
3548
|
var severityLevel = telemetryItem[strBaseData].severityLevel;
|
|
3543
3549
|
var props = telemetryItem[strBaseData][strProperties] || {};
|
|
3544
|
-
var measurements = telemetryItem[strBaseData]
|
|
3545
|
-
_extractPropsAndMeasurements(telemetryItem
|
|
3550
|
+
var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
|
|
3551
|
+
_extractPropsAndMeasurements(telemetryItem[_DYN_DATA ], props, measurements);
|
|
3546
3552
|
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
3547
3553
|
_convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);
|
|
3548
3554
|
}
|
|
3549
3555
|
var baseData = new Trace(logger, message, severityLevel, props, measurements);
|
|
3550
|
-
var data = new Data(Trace
|
|
3551
|
-
return _createEnvelope(logger, Trace
|
|
3556
|
+
var data = new Data(Trace[_DYN_DATA_TYPE ], baseData);
|
|
3557
|
+
return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
|
|
3558
|
+
}
|
|
3559
|
+
|
|
3560
|
+
function _disableEvents(target, evtNamespace) {
|
|
3561
|
+
eventOff(target, null, null, evtNamespace);
|
|
3562
|
+
}
|
|
3563
|
+
function createOfflineListener(parentEvtNamespace) {
|
|
3564
|
+
var _document = getDocument();
|
|
3565
|
+
var _navigator = getNavigator();
|
|
3566
|
+
var _isListening = false;
|
|
3567
|
+
var _onlineStatus = true;
|
|
3568
|
+
var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
|
|
3569
|
+
try {
|
|
3570
|
+
if (_enableEvents(getWindow())) {
|
|
3571
|
+
_isListening = true;
|
|
3572
|
+
}
|
|
3573
|
+
if (_document) {
|
|
3574
|
+
var target = _document.body || _document;
|
|
3575
|
+
if (target.ononline) {
|
|
3576
|
+
if (_enableEvents(target)) {
|
|
3577
|
+
_isListening = true;
|
|
3578
|
+
}
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
if (_isListening) {
|
|
3582
|
+
if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
|
|
3583
|
+
_onlineStatus = _navigator[_DYN_ON_LINE ];
|
|
3584
|
+
}
|
|
3585
|
+
}
|
|
3586
|
+
}
|
|
3587
|
+
catch (e) {
|
|
3588
|
+
_isListening = false;
|
|
3589
|
+
}
|
|
3590
|
+
function _enableEvents(target) {
|
|
3591
|
+
var enabled = false;
|
|
3592
|
+
if (target) {
|
|
3593
|
+
enabled = eventOn(target, "online", _setOnline, _evtNamespace);
|
|
3594
|
+
if (enabled) {
|
|
3595
|
+
eventOn(target, "offline", _setOffline, _evtNamespace);
|
|
3596
|
+
}
|
|
3597
|
+
}
|
|
3598
|
+
return enabled;
|
|
3599
|
+
}
|
|
3600
|
+
function _setOnline() {
|
|
3601
|
+
_onlineStatus = true;
|
|
3602
|
+
}
|
|
3603
|
+
function _setOffline() {
|
|
3604
|
+
_onlineStatus = false;
|
|
3605
|
+
}
|
|
3606
|
+
function _isOnline() {
|
|
3607
|
+
var result = true;
|
|
3608
|
+
if (_isListening) {
|
|
3609
|
+
result = _onlineStatus;
|
|
3610
|
+
}
|
|
3611
|
+
else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
|
|
3612
|
+
result = _navigator[_DYN_ON_LINE ];
|
|
3613
|
+
}
|
|
3614
|
+
return result;
|
|
3615
|
+
}
|
|
3616
|
+
function _unload() {
|
|
3617
|
+
var win = getWindow();
|
|
3618
|
+
if (win && _isListening) {
|
|
3619
|
+
_disableEvents(win, _evtNamespace);
|
|
3620
|
+
if (_document) {
|
|
3621
|
+
var target = _document.body || _document;
|
|
3622
|
+
if (!isUndefined(target.ononline)) {
|
|
3623
|
+
_disableEvents(target, _evtNamespace);
|
|
3624
|
+
}
|
|
3625
|
+
}
|
|
3626
|
+
_isListening = false;
|
|
3627
|
+
}
|
|
3628
|
+
}
|
|
3629
|
+
return {
|
|
3630
|
+
isOnline: _isOnline,
|
|
3631
|
+
isListening: function () { return _isListening; },
|
|
3632
|
+
unload: _unload
|
|
3633
|
+
};
|
|
3552
3634
|
}
|
|
3553
3635
|
|
|
3636
|
+
var BaseSendBuffer = /** @class */ (function () {
|
|
3637
|
+
function BaseSendBuffer(logger, config) {
|
|
3638
|
+
var _buffer = [];
|
|
3639
|
+
var _bufferFullMessageSent = false;
|
|
3640
|
+
this._get = function () {
|
|
3641
|
+
return _buffer;
|
|
3642
|
+
};
|
|
3643
|
+
this._set = function (buffer) {
|
|
3644
|
+
_buffer = buffer;
|
|
3645
|
+
return _buffer;
|
|
3646
|
+
};
|
|
3647
|
+
dynamicProto(BaseSendBuffer, this, function (_self) {
|
|
3648
|
+
_self[_DYN_ENQUEUE ] = function (payload) {
|
|
3649
|
+
if (_self[_DYN_COUNT ]() >= config.eventsLimitInMem()) {
|
|
3650
|
+
if (!_bufferFullMessageSent) {
|
|
3651
|
+
_throwInternal(logger, 2 , 105 , "Maximum in-memory buffer size reached: " + _self[_DYN_COUNT ](), true);
|
|
3652
|
+
_bufferFullMessageSent = true;
|
|
3653
|
+
}
|
|
3654
|
+
return;
|
|
3655
|
+
}
|
|
3656
|
+
_buffer[_DYN_PUSH ](payload);
|
|
3657
|
+
};
|
|
3658
|
+
_self[_DYN_COUNT ] = function () {
|
|
3659
|
+
return _buffer[_DYN_LENGTH ];
|
|
3660
|
+
};
|
|
3661
|
+
_self.size = function () {
|
|
3662
|
+
var size = _buffer[_DYN_LENGTH ];
|
|
3663
|
+
for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
|
|
3664
|
+
size += _buffer[lp][_DYN_LENGTH ];
|
|
3665
|
+
}
|
|
3666
|
+
if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]()) {
|
|
3667
|
+
size += 2;
|
|
3668
|
+
}
|
|
3669
|
+
return size;
|
|
3670
|
+
};
|
|
3671
|
+
_self[_DYN_CLEAR ] = function () {
|
|
3672
|
+
_buffer = [];
|
|
3673
|
+
_bufferFullMessageSent = false;
|
|
3674
|
+
};
|
|
3675
|
+
_self.getItems = function () {
|
|
3676
|
+
return _buffer.slice(0);
|
|
3677
|
+
};
|
|
3678
|
+
_self[_DYN_BATCH_PAYLOADS ] = function (payload) {
|
|
3679
|
+
if (payload && payload[_DYN_LENGTH ] > 0) {
|
|
3680
|
+
var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ]() ?
|
|
3681
|
+
payload.join("\n") :
|
|
3682
|
+
"[" + payload.join(",") + "]";
|
|
3683
|
+
return batch;
|
|
3684
|
+
}
|
|
3685
|
+
return null;
|
|
3686
|
+
};
|
|
3687
|
+
});
|
|
3688
|
+
}
|
|
3689
|
+
BaseSendBuffer.__ieDyn=1;
|
|
3690
|
+
return BaseSendBuffer;
|
|
3691
|
+
}());
|
|
3692
|
+
var ArraySendBuffer = /** @class */ (function (_super) {
|
|
3693
|
+
__extendsFn(ArraySendBuffer, _super);
|
|
3694
|
+
function ArraySendBuffer(logger, config) {
|
|
3695
|
+
var _this = _super.call(this, logger, config) || this;
|
|
3696
|
+
dynamicProto(ArraySendBuffer, _this, function (_self, _base) {
|
|
3697
|
+
_self[_DYN_MARK_AS_SENT ] = function (payload) {
|
|
3698
|
+
_base[_DYN_CLEAR ]();
|
|
3699
|
+
};
|
|
3700
|
+
_self[_DYN_CLEAR_SENT ] = function (payload) {
|
|
3701
|
+
};
|
|
3702
|
+
});
|
|
3703
|
+
return _this;
|
|
3704
|
+
}
|
|
3705
|
+
ArraySendBuffer.__ieDyn=1;
|
|
3706
|
+
return ArraySendBuffer;
|
|
3707
|
+
}(BaseSendBuffer));
|
|
3708
|
+
var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
3709
|
+
__extendsFn(SessionStorageSendBuffer, _super);
|
|
3710
|
+
function SessionStorageSendBuffer(logger, config) {
|
|
3711
|
+
var _this = _super.call(this, logger, config) || this;
|
|
3712
|
+
var _bufferFullMessageSent = false;
|
|
3713
|
+
dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
|
|
3714
|
+
var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
|
|
3715
|
+
var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
|
|
3716
|
+
var buffer = _self._set(bufferItems.concat(notDeliveredItems));
|
|
3717
|
+
if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
|
|
3718
|
+
buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
|
|
3719
|
+
}
|
|
3720
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ], []);
|
|
3721
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], buffer);
|
|
3722
|
+
_self[_DYN_ENQUEUE ] = function (payload) {
|
|
3723
|
+
if (_self[_DYN_COUNT ]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
|
|
3724
|
+
if (!_bufferFullMessageSent) {
|
|
3725
|
+
_throwInternal(logger, 2 , 67 , "Maximum buffer size reached: " + _self[_DYN_COUNT ](), true);
|
|
3726
|
+
_bufferFullMessageSent = true;
|
|
3727
|
+
}
|
|
3728
|
+
return;
|
|
3729
|
+
}
|
|
3730
|
+
_base[_DYN_ENQUEUE ](payload);
|
|
3731
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._get());
|
|
3732
|
+
};
|
|
3733
|
+
_self[_DYN_CLEAR ] = function () {
|
|
3734
|
+
_base[_DYN_CLEAR ]();
|
|
3735
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._get());
|
|
3736
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ], []);
|
|
3737
|
+
_bufferFullMessageSent = false;
|
|
3738
|
+
};
|
|
3739
|
+
_self[_DYN_MARK_AS_SENT ] = function (payload) {
|
|
3740
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self._get())));
|
|
3741
|
+
var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
|
|
3742
|
+
if (sentElements instanceof Array && payload instanceof Array) {
|
|
3743
|
+
sentElements = sentElements.concat(payload);
|
|
3744
|
+
if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
|
|
3745
|
+
_throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
|
|
3746
|
+
sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
|
|
3747
|
+
}
|
|
3748
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ], sentElements);
|
|
3749
|
+
}
|
|
3750
|
+
};
|
|
3751
|
+
_self[_DYN_CLEAR_SENT ] = function (payload) {
|
|
3752
|
+
var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
|
|
3753
|
+
sentElements = _removePayloadsFromBuffer(payload, sentElements);
|
|
3754
|
+
_setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ], sentElements);
|
|
3755
|
+
};
|
|
3756
|
+
function _removePayloadsFromBuffer(payloads, buffer) {
|
|
3757
|
+
var remaining = [];
|
|
3758
|
+
arrForEach(buffer, function (value) {
|
|
3759
|
+
if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
|
|
3760
|
+
remaining[_DYN_PUSH ](value);
|
|
3761
|
+
}
|
|
3762
|
+
});
|
|
3763
|
+
return remaining;
|
|
3764
|
+
}
|
|
3765
|
+
function _getBuffer(key) {
|
|
3766
|
+
var prefixedKey = key;
|
|
3767
|
+
try {
|
|
3768
|
+
prefixedKey = config[_DYN_NAME_PREFIX ] && config[_DYN_NAME_PREFIX ]() ? config[_DYN_NAME_PREFIX ]() + "_" + prefixedKey : prefixedKey;
|
|
3769
|
+
var bufferJson = utlGetSessionStorage(logger, prefixedKey);
|
|
3770
|
+
if (bufferJson) {
|
|
3771
|
+
var buffer_1 = getJSON().parse(bufferJson);
|
|
3772
|
+
if (isString(buffer_1)) {
|
|
3773
|
+
buffer_1 = getJSON().parse(buffer_1);
|
|
3774
|
+
}
|
|
3775
|
+
if (buffer_1 && isArray(buffer_1)) {
|
|
3776
|
+
return buffer_1;
|
|
3777
|
+
}
|
|
3778
|
+
}
|
|
3779
|
+
}
|
|
3780
|
+
catch (e) {
|
|
3781
|
+
_throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3782
|
+
}
|
|
3783
|
+
return [];
|
|
3784
|
+
}
|
|
3785
|
+
function _setBuffer(key, buffer) {
|
|
3786
|
+
var prefixedKey = key;
|
|
3787
|
+
try {
|
|
3788
|
+
prefixedKey = config[_DYN_NAME_PREFIX ] && config[_DYN_NAME_PREFIX ]() ? config[_DYN_NAME_PREFIX ]() + "_" + prefixedKey : prefixedKey;
|
|
3789
|
+
var bufferJson = JSON[_DYN_STRINGIFY ](buffer);
|
|
3790
|
+
utlSetSessionStorage(logger, prefixedKey, bufferJson);
|
|
3791
|
+
}
|
|
3792
|
+
catch (e) {
|
|
3793
|
+
utlSetSessionStorage(logger, prefixedKey, JSON[_DYN_STRINGIFY ]([]));
|
|
3794
|
+
_throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
|
|
3795
|
+
}
|
|
3796
|
+
}
|
|
3797
|
+
});
|
|
3798
|
+
return _this;
|
|
3799
|
+
}
|
|
3800
|
+
SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
|
|
3801
|
+
SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
|
|
3802
|
+
SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
|
|
3803
|
+
return SessionStorageSendBuffer;
|
|
3804
|
+
}(BaseSendBuffer));
|
|
3805
|
+
|
|
3554
3806
|
var Serializer = /** @class */ (function () {
|
|
3555
3807
|
function Serializer(logger) {
|
|
3556
3808
|
dynamicProto(Serializer, this, function (_self) {
|
|
3557
3809
|
_self.serialize = function (input) {
|
|
3558
3810
|
var output = _serializeObject(input, "root");
|
|
3559
3811
|
try {
|
|
3560
|
-
return getJSON()
|
|
3812
|
+
return getJSON()[_DYN_STRINGIFY ](output);
|
|
3561
3813
|
}
|
|
3562
3814
|
catch (e) {
|
|
3563
|
-
_throwInternal(logger, 1 , 48 , (e && isFunction(e
|
|
3815
|
+
_throwInternal(logger, 1 , 48 , (e && isFunction(e[_DYN_TO_STRING ])) ? e[_DYN_TO_STRING ]() : "Error serializing object", null, true);
|
|
3564
3816
|
}
|
|
3565
3817
|
};
|
|
3566
3818
|
function _serializeObject(source, name) {
|
|
@@ -3590,11 +3842,11 @@
|
|
|
3590
3842
|
else {
|
|
3591
3843
|
_throwInternal(logger, 2 , 49 , "Attempting to serialize an object which does not implement ISerializable", { name: name }, true);
|
|
3592
3844
|
try {
|
|
3593
|
-
getJSON()
|
|
3845
|
+
getJSON()[_DYN_STRINGIFY ](source);
|
|
3594
3846
|
output = source;
|
|
3595
3847
|
}
|
|
3596
3848
|
catch (e) {
|
|
3597
|
-
_throwInternal(logger, 1 , 48 , (e && isFunction(e
|
|
3849
|
+
_throwInternal(logger, 1 , 48 , (e && isFunction(e[_DYN_TO_STRING ])) ? e[_DYN_TO_STRING ]() : "Error serializing object", null, true);
|
|
3598
3850
|
}
|
|
3599
3851
|
}
|
|
3600
3852
|
return output;
|
|
@@ -3638,10 +3890,10 @@
|
|
|
3638
3890
|
}
|
|
3639
3891
|
else {
|
|
3640
3892
|
output = [];
|
|
3641
|
-
for (var i = 0; i < sources
|
|
3893
|
+
for (var i = 0; i < sources[_DYN_LENGTH ]; i++) {
|
|
3642
3894
|
var source = sources[i];
|
|
3643
3895
|
var item = _serializeObject(source, name + "[" + i + "]");
|
|
3644
|
-
output
|
|
3896
|
+
output[_DYN_PUSH ](item);
|
|
3645
3897
|
}
|
|
3646
3898
|
}
|
|
3647
3899
|
}
|
|
@@ -3659,11 +3911,11 @@
|
|
|
3659
3911
|
else if (value === null) {
|
|
3660
3912
|
output[field] = "null";
|
|
3661
3913
|
}
|
|
3662
|
-
else if (!value
|
|
3914
|
+
else if (!value[_DYN_TO_STRING ]) {
|
|
3663
3915
|
output[field] = "invalid field: toString() is not defined.";
|
|
3664
3916
|
}
|
|
3665
3917
|
else {
|
|
3666
|
-
output[field] = value
|
|
3918
|
+
output[field] = value[_DYN_TO_STRING ]();
|
|
3667
3919
|
}
|
|
3668
3920
|
}
|
|
3669
3921
|
else if (expectedType === "number") {
|
|
@@ -3693,85 +3945,10 @@
|
|
|
3693
3945
|
}
|
|
3694
3946
|
});
|
|
3695
3947
|
}
|
|
3948
|
+
Serializer.__ieDyn=1;
|
|
3696
3949
|
return Serializer;
|
|
3697
3950
|
}());
|
|
3698
3951
|
|
|
3699
|
-
function _disableEvents(target, evtNamespace) {
|
|
3700
|
-
eventOff(target, null, null, evtNamespace);
|
|
3701
|
-
}
|
|
3702
|
-
function createOfflineListener(parentEvtNamespace) {
|
|
3703
|
-
var _document = getDocument();
|
|
3704
|
-
var _navigator = getNavigator();
|
|
3705
|
-
var _isListening = false;
|
|
3706
|
-
var _onlineStatus = true;
|
|
3707
|
-
var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
|
|
3708
|
-
try {
|
|
3709
|
-
if (_enableEvents(getWindow())) {
|
|
3710
|
-
_isListening = true;
|
|
3711
|
-
}
|
|
3712
|
-
if (_document) {
|
|
3713
|
-
var target = _document.body || _document;
|
|
3714
|
-
if (target.ononline) {
|
|
3715
|
-
if (_enableEvents(target)) {
|
|
3716
|
-
_isListening = true;
|
|
3717
|
-
}
|
|
3718
|
-
}
|
|
3719
|
-
}
|
|
3720
|
-
if (_isListening) {
|
|
3721
|
-
if (_navigator && !isNullOrUndefined(_navigator.onLine)) {
|
|
3722
|
-
_onlineStatus = _navigator.onLine;
|
|
3723
|
-
}
|
|
3724
|
-
}
|
|
3725
|
-
}
|
|
3726
|
-
catch (e) {
|
|
3727
|
-
_isListening = false;
|
|
3728
|
-
}
|
|
3729
|
-
function _enableEvents(target) {
|
|
3730
|
-
var enabled = false;
|
|
3731
|
-
if (target) {
|
|
3732
|
-
enabled = eventOn(target, "online", _setOnline, _evtNamespace);
|
|
3733
|
-
if (enabled) {
|
|
3734
|
-
eventOn(target, "offline", _setOffline, _evtNamespace);
|
|
3735
|
-
}
|
|
3736
|
-
}
|
|
3737
|
-
return enabled;
|
|
3738
|
-
}
|
|
3739
|
-
function _setOnline() {
|
|
3740
|
-
_onlineStatus = true;
|
|
3741
|
-
}
|
|
3742
|
-
function _setOffline() {
|
|
3743
|
-
_onlineStatus = false;
|
|
3744
|
-
}
|
|
3745
|
-
function _isOnline() {
|
|
3746
|
-
var result = true;
|
|
3747
|
-
if (_isListening) {
|
|
3748
|
-
result = _onlineStatus;
|
|
3749
|
-
}
|
|
3750
|
-
else if (_navigator && !isNullOrUndefined(_navigator.onLine)) {
|
|
3751
|
-
result = _navigator.onLine;
|
|
3752
|
-
}
|
|
3753
|
-
return result;
|
|
3754
|
-
}
|
|
3755
|
-
function _unload() {
|
|
3756
|
-
var win = getWindow();
|
|
3757
|
-
if (win && _isListening) {
|
|
3758
|
-
_disableEvents(win, _evtNamespace);
|
|
3759
|
-
if (_document) {
|
|
3760
|
-
var target = _document.body || _document;
|
|
3761
|
-
if (!isUndefined(target.ononline)) {
|
|
3762
|
-
_disableEvents(target, _evtNamespace);
|
|
3763
|
-
}
|
|
3764
|
-
}
|
|
3765
|
-
_isListening = false;
|
|
3766
|
-
}
|
|
3767
|
-
}
|
|
3768
|
-
return {
|
|
3769
|
-
isOnline: _isOnline,
|
|
3770
|
-
isListening: function () { return _isListening; },
|
|
3771
|
-
unload: _unload
|
|
3772
|
-
};
|
|
3773
|
-
}
|
|
3774
|
-
|
|
3775
3952
|
var MIN_INPUT_LENGTH = 8;
|
|
3776
3953
|
var HashCodeScoreGenerator = /** @class */ (function () {
|
|
3777
3954
|
function HashCodeScoreGenerator() {
|
|
@@ -3784,11 +3961,11 @@
|
|
|
3784
3961
|
if (input === "") {
|
|
3785
3962
|
return 0;
|
|
3786
3963
|
}
|
|
3787
|
-
while (input
|
|
3964
|
+
while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
|
|
3788
3965
|
input = input.concat(input);
|
|
3789
3966
|
}
|
|
3790
3967
|
var hash = 5381;
|
|
3791
|
-
for (var i = 0; i < input
|
|
3968
|
+
for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
|
|
3792
3969
|
hash = ((hash << 5) + hash) + input.charCodeAt(i);
|
|
3793
3970
|
hash = hash & hash;
|
|
3794
3971
|
}
|
|
@@ -3803,19 +3980,19 @@
|
|
|
3803
3980
|
var _self = this;
|
|
3804
3981
|
var hashCodeGenerator = new HashCodeScoreGenerator();
|
|
3805
3982
|
var keys = new ContextTagKeys();
|
|
3806
|
-
_self
|
|
3983
|
+
_self[_DYN_GET_SAMPLING_SCORE ] = function (item) {
|
|
3807
3984
|
var score = 0;
|
|
3808
|
-
if (item
|
|
3809
|
-
score = hashCodeGenerator.getHashCodeScore(item
|
|
3985
|
+
if (item[_DYN_TAGS ] && item[_DYN_TAGS ][keys.userId]) {
|
|
3986
|
+
score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS ][keys.userId]);
|
|
3810
3987
|
}
|
|
3811
3988
|
else if (item.ext && item.ext.user && item.ext.user.id) {
|
|
3812
|
-
score = hashCodeGenerator
|
|
3989
|
+
score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE ](item.ext.user.id);
|
|
3813
3990
|
}
|
|
3814
|
-
else if (item
|
|
3815
|
-
score = hashCodeGenerator.getHashCodeScore(item
|
|
3991
|
+
else if (item[_DYN_TAGS ] && item[_DYN_TAGS ][keys.operationId]) {
|
|
3992
|
+
score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS ][keys.operationId]);
|
|
3816
3993
|
}
|
|
3817
|
-
else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace
|
|
3818
|
-
score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace
|
|
3994
|
+
else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID ]) {
|
|
3995
|
+
score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID ]);
|
|
3819
3996
|
}
|
|
3820
3997
|
else {
|
|
3821
3998
|
score = (Math.random() * 100);
|
|
@@ -3834,19 +4011,19 @@
|
|
|
3834
4011
|
_logger.throwInternal(2 , 58 , "Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.", { samplingRate: sampleRate }, true);
|
|
3835
4012
|
sampleRate = 100;
|
|
3836
4013
|
}
|
|
3837
|
-
this
|
|
4014
|
+
this[_DYN_SAMPLE_RATE ] = sampleRate;
|
|
3838
4015
|
this.samplingScoreGenerator = new SamplingScoreGenerator();
|
|
3839
4016
|
}
|
|
3840
4017
|
Sample.prototype.isSampledIn = function (envelope) {
|
|
3841
|
-
var samplingPercentage = this
|
|
4018
|
+
var samplingPercentage = this[_DYN_SAMPLE_RATE ];
|
|
3842
4019
|
var isSampledIn = false;
|
|
3843
4020
|
if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {
|
|
3844
4021
|
return true;
|
|
3845
4022
|
}
|
|
3846
|
-
else if (envelope.baseType === Metric
|
|
4023
|
+
else if (envelope.baseType === Metric[_DYN_DATA_TYPE ]) {
|
|
3847
4024
|
return true;
|
|
3848
4025
|
}
|
|
3849
|
-
isSampledIn = this.samplingScoreGenerator
|
|
4026
|
+
isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE ](envelope) < samplingPercentage;
|
|
3850
4027
|
return isSampledIn;
|
|
3851
4028
|
};
|
|
3852
4029
|
return Sample;
|
|
@@ -3863,25 +4040,29 @@
|
|
|
3863
4040
|
return null;
|
|
3864
4041
|
}
|
|
3865
4042
|
function _getDefaultAppInsightsChannelConfig() {
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
4043
|
+
var _a;
|
|
4044
|
+
var defaultValue;
|
|
4045
|
+
var defaultCustomHeaders;
|
|
4046
|
+
return _a = {
|
|
4047
|
+
endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }
|
|
4048
|
+
},
|
|
4049
|
+
_a[_DYN_EMIT_LINE_DELIMITED_0 ] = function () { return false; },
|
|
4050
|
+
_a[_DYN_MAX_BATCH_INTERVAL ] = function () { return 15000; },
|
|
4051
|
+
_a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = function () { return 102400; },
|
|
4052
|
+
_a[_DYN_DISABLE_TELEMETRY ] = function () { return false; },
|
|
4053
|
+
_a[_DYN_ENABLE_SESSION_STORA4 ] = function () { return true; },
|
|
4054
|
+
_a[_DYN_IS_RETRY_DISABLED ] = function () { return false; },
|
|
4055
|
+
_a[_DYN_IS_BEACON_API_DISABL3 ] = function () { return true; },
|
|
4056
|
+
_a[_DYN_DISABLE_XHR ] = function () { return false; },
|
|
4057
|
+
_a[_DYN_ONUNLOAD_DISABLE_FET5 ] = function () { return false; },
|
|
4058
|
+
_a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = function () { return false; },
|
|
4059
|
+
_a[_DYN_INSTRUMENTATION_KEY ] = function () { return defaultValue; },
|
|
4060
|
+
_a[_DYN_NAME_PREFIX ] = function () { return defaultValue; },
|
|
4061
|
+
_a[_DYN_SAMPLING_PERCENTAGE ] = function () { return 100; },
|
|
4062
|
+
_a[_DYN_CUSTOM_HEADERS ] = function () { return defaultCustomHeaders; },
|
|
4063
|
+
_a[_DYN_CONVERT_UNDEFINED ] = function () { return defaultValue; },
|
|
4064
|
+
_a.eventsLimitInMem = function () { return 10000; },
|
|
4065
|
+
_a;
|
|
3885
4066
|
}
|
|
3886
4067
|
var EnvelopeTypeCreator = (_a = {},
|
|
3887
4068
|
_a[Event.dataType] = EventEnvelopeCreator,
|
|
@@ -3922,8 +4103,8 @@
|
|
|
3922
4103
|
if (_paused) {
|
|
3923
4104
|
_paused = false;
|
|
3924
4105
|
_retryAt = null;
|
|
3925
|
-
if (_self._buffer.size() > _self._senderConfig
|
|
3926
|
-
_self
|
|
4106
|
+
if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ]()) {
|
|
4107
|
+
_self[_DYN_TRIGGER_SEND ](true, null, 10 );
|
|
3927
4108
|
}
|
|
3928
4109
|
_setupTimer();
|
|
3929
4110
|
}
|
|
@@ -3933,21 +4114,21 @@
|
|
|
3933
4114
|
if (!_paused) {
|
|
3934
4115
|
_clearScheduledTimer();
|
|
3935
4116
|
try {
|
|
3936
|
-
_self
|
|
4117
|
+
_self[_DYN_TRIGGER_SEND ](isAsync, null, sendReason || 1 );
|
|
3937
4118
|
}
|
|
3938
4119
|
catch (e) {
|
|
3939
|
-
_throwInternal(_self
|
|
4120
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 22 , "flush failed, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3940
4121
|
}
|
|
3941
4122
|
}
|
|
3942
4123
|
};
|
|
3943
4124
|
_self.onunloadFlush = function () {
|
|
3944
4125
|
if (!_paused) {
|
|
3945
|
-
if ((_self._senderConfig
|
|
4126
|
+
if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ]() === false || _self[_DYN__SENDER_CONFIG ][_DYN_IS_BEACON_API_DISABL3 ]() === false) && isBeaconsSupported()) {
|
|
3946
4127
|
try {
|
|
3947
|
-
_self
|
|
4128
|
+
_self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
|
|
3948
4129
|
}
|
|
3949
4130
|
catch (e) {
|
|
3950
|
-
_throwInternal(_self
|
|
4131
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 20 , "failed to flush with beacon sender on page unload, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3951
4132
|
}
|
|
3952
4133
|
}
|
|
3953
4134
|
else {
|
|
@@ -3960,7 +4141,7 @@
|
|
|
3960
4141
|
};
|
|
3961
4142
|
_self.initialize = function (config, core, extensions, pluginChain) {
|
|
3962
4143
|
if (_self.isInitialized()) {
|
|
3963
|
-
_throwInternal(_self
|
|
4144
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
|
|
3964
4145
|
}
|
|
3965
4146
|
_base.initialize(config, core, extensions, pluginChain);
|
|
3966
4147
|
var ctx = _self._getTelCtx();
|
|
@@ -3969,52 +4150,52 @@
|
|
|
3969
4150
|
_consecutiveErrors = 0;
|
|
3970
4151
|
_retryAt = null;
|
|
3971
4152
|
_lastSend = 0;
|
|
3972
|
-
_self
|
|
4153
|
+
_self[_DYN__SENDER ] = null;
|
|
3973
4154
|
_stamp_specific_redirects = 0;
|
|
3974
|
-
var diagLog = _self
|
|
4155
|
+
var diagLog = _self[_DYN_DIAG_LOG ]();
|
|
3975
4156
|
_evtNamespace = mergeEvtNamespace(createUniqueNamespace("Sender"), core.evtNamespace && core.evtNamespace());
|
|
3976
4157
|
_offlineListener = createOfflineListener(_evtNamespace);
|
|
3977
4158
|
var defaultConfig = _getDefaultAppInsightsChannelConfig();
|
|
3978
4159
|
objForEachKey(defaultConfig, function (field, value) {
|
|
3979
|
-
_self
|
|
4160
|
+
_self[_DYN__SENDER_CONFIG ][field] = function () { return ctx.getConfig(identifier, field, value()); };
|
|
3980
4161
|
});
|
|
3981
|
-
_self._buffer = (_self
|
|
3982
|
-
? new SessionStorageSendBuffer(diagLog, _self
|
|
3983
|
-
_self._sample = new Sample(_self
|
|
4162
|
+
_self._buffer = (_self[_DYN__SENDER_CONFIG ][_DYN_ENABLE_SESSION_STORA4 ]() && utlCanUseSessionStorage())
|
|
4163
|
+
? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]) : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]);
|
|
4164
|
+
_self._sample = new Sample(_self[_DYN__SENDER_CONFIG ][_DYN_SAMPLING_PERCENTAGE ](), diagLog);
|
|
3984
4165
|
if (!_validateInstrumentationKey(config)) {
|
|
3985
|
-
_throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + config
|
|
4166
|
+
_throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + config[_DYN_INSTRUMENTATION_KEY ]);
|
|
3986
4167
|
}
|
|
3987
|
-
if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()
|
|
3988
|
-
arrForEach(_self
|
|
4168
|
+
if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH ] > 0) {
|
|
4169
|
+
arrForEach(_self[_DYN__SENDER_CONFIG ][_DYN_CUSTOM_HEADERS ](), function (customHeader) {
|
|
3989
4170
|
_this.addHeader(customHeader.header, customHeader.value);
|
|
3990
4171
|
});
|
|
3991
4172
|
}
|
|
3992
|
-
var senderConfig = _self
|
|
4173
|
+
var senderConfig = _self[_DYN__SENDER_CONFIG ];
|
|
3993
4174
|
var sendPostFunc = null;
|
|
3994
|
-
if (!senderConfig
|
|
4175
|
+
if (!senderConfig[_DYN_DISABLE_XHR ]() && useXDomainRequest()) {
|
|
3995
4176
|
sendPostFunc = _xdrSender;
|
|
3996
4177
|
}
|
|
3997
|
-
else if (!senderConfig
|
|
4178
|
+
else if (!senderConfig[_DYN_DISABLE_XHR ]() && isXhrSupported()) {
|
|
3998
4179
|
sendPostFunc = _xhrSender;
|
|
3999
4180
|
}
|
|
4000
4181
|
if (!sendPostFunc && isFetchSupported()) {
|
|
4001
4182
|
sendPostFunc = _fetchSender;
|
|
4002
4183
|
}
|
|
4003
4184
|
_fallbackSender = sendPostFunc || _xhrSender;
|
|
4004
|
-
if (!senderConfig
|
|
4185
|
+
if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ]() && isBeaconsSupported()) {
|
|
4005
4186
|
sendPostFunc = _beaconSender;
|
|
4006
4187
|
}
|
|
4007
|
-
_self
|
|
4008
|
-
if (!senderConfig
|
|
4188
|
+
_self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
|
|
4189
|
+
if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ]() && isFetchSupported(true)) {
|
|
4009
4190
|
_syncUnloadSender = _fetchKeepAliveSender;
|
|
4010
4191
|
}
|
|
4011
4192
|
else if (isBeaconsSupported()) {
|
|
4012
4193
|
_syncUnloadSender = _beaconSender;
|
|
4013
4194
|
}
|
|
4014
|
-
else if (!senderConfig
|
|
4195
|
+
else if (!senderConfig[_DYN_DISABLE_XHR ]() && useXDomainRequest()) {
|
|
4015
4196
|
_syncUnloadSender = _xdrSender;
|
|
4016
4197
|
}
|
|
4017
|
-
else if (!senderConfig
|
|
4198
|
+
else if (!senderConfig[_DYN_DISABLE_XHR ]() && isXhrSupported()) {
|
|
4018
4199
|
_syncUnloadSender = _xhrSender;
|
|
4019
4200
|
}
|
|
4020
4201
|
else {
|
|
@@ -4023,103 +4204,104 @@
|
|
|
4023
4204
|
};
|
|
4024
4205
|
_self.processTelemetry = function (telemetryItem, itemCtx) {
|
|
4025
4206
|
itemCtx = _self._getTelCtx(itemCtx);
|
|
4207
|
+
var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
|
|
4026
4208
|
try {
|
|
4027
|
-
if (_self
|
|
4209
|
+
if (_self[_DYN__SENDER_CONFIG ][_DYN_DISABLE_TELEMETRY ]()) {
|
|
4028
4210
|
return;
|
|
4029
4211
|
}
|
|
4030
4212
|
if (!telemetryItem) {
|
|
4031
|
-
_throwInternal(
|
|
4213
|
+
_throwInternal(diagLogger, 1 , 7 , "Cannot send empty telemetry");
|
|
4032
4214
|
return;
|
|
4033
4215
|
}
|
|
4034
|
-
if (telemetryItem.baseData && !telemetryItem
|
|
4035
|
-
_throwInternal(
|
|
4216
|
+
if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE ]) {
|
|
4217
|
+
_throwInternal(diagLogger, 1 , 70 , "Cannot send telemetry without baseData and baseType");
|
|
4036
4218
|
return;
|
|
4037
4219
|
}
|
|
4038
|
-
if (!telemetryItem
|
|
4039
|
-
telemetryItem
|
|
4220
|
+
if (!telemetryItem[_DYN_BASE_TYPE ]) {
|
|
4221
|
+
telemetryItem[_DYN_BASE_TYPE ] = "EventData";
|
|
4040
4222
|
}
|
|
4041
|
-
if (!_self
|
|
4042
|
-
_throwInternal(
|
|
4223
|
+
if (!_self[_DYN__SENDER ]) {
|
|
4224
|
+
_throwInternal(diagLogger, 1 , 28 , "Sender was not initialized");
|
|
4043
4225
|
return;
|
|
4044
4226
|
}
|
|
4045
4227
|
if (!_isSampledIn(telemetryItem)) {
|
|
4046
|
-
_throwInternal(
|
|
4228
|
+
_throwInternal(diagLogger, 2 , 33 , "Telemetry item was sampled out and not sent", { SampleRate: _self._sample[_DYN_SAMPLE_RATE ] });
|
|
4047
4229
|
return;
|
|
4048
4230
|
}
|
|
4049
4231
|
else {
|
|
4050
|
-
telemetryItem[SampleRate] = _self._sample
|
|
4232
|
+
telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE ];
|
|
4051
4233
|
}
|
|
4052
|
-
var convertUndefined = _self
|
|
4053
|
-
var defaultEnvelopeIkey = telemetryItem.iKey || _self
|
|
4054
|
-
var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey,
|
|
4234
|
+
var convertUndefined = _self[_DYN__SENDER_CONFIG ][_DYN_CONVERT_UNDEFINED ]() || undefined;
|
|
4235
|
+
var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG ][_DYN_INSTRUMENTATION_KEY ]();
|
|
4236
|
+
var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);
|
|
4055
4237
|
if (!aiEnvelope_1) {
|
|
4056
|
-
_throwInternal(
|
|
4238
|
+
_throwInternal(diagLogger, 1 , 47 , "Unable to create an AppInsights envelope");
|
|
4057
4239
|
return;
|
|
4058
4240
|
}
|
|
4059
4241
|
var doNotSendItem_1 = false;
|
|
4060
|
-
if (telemetryItem
|
|
4061
|
-
arrForEach(telemetryItem
|
|
4242
|
+
if (telemetryItem[_DYN_TAGS ] && telemetryItem[_DYN_TAGS ][ProcessLegacy]) {
|
|
4243
|
+
arrForEach(telemetryItem[_DYN_TAGS ][ProcessLegacy], function (callBack) {
|
|
4062
4244
|
try {
|
|
4063
4245
|
if (callBack && callBack(aiEnvelope_1) === false) {
|
|
4064
4246
|
doNotSendItem_1 = true;
|
|
4065
|
-
_warnToConsole(
|
|
4247
|
+
_warnToConsole(diagLogger, "Telemetry processor check returns false");
|
|
4066
4248
|
}
|
|
4067
4249
|
}
|
|
4068
4250
|
catch (e) {
|
|
4069
|
-
_throwInternal(
|
|
4251
|
+
_throwInternal(diagLogger, 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
4070
4252
|
}
|
|
4071
4253
|
});
|
|
4072
|
-
delete telemetryItem
|
|
4254
|
+
delete telemetryItem[_DYN_TAGS ][ProcessLegacy];
|
|
4073
4255
|
}
|
|
4074
4256
|
if (doNotSendItem_1) {
|
|
4075
4257
|
return;
|
|
4076
4258
|
}
|
|
4077
4259
|
var payload = _serializer.serialize(aiEnvelope_1);
|
|
4078
|
-
var buffer = _self
|
|
4260
|
+
var buffer = _self[_DYN__BUFFER ];
|
|
4079
4261
|
var bufferSize = buffer.size();
|
|
4080
|
-
if ((bufferSize + payload
|
|
4081
|
-
_self
|
|
4262
|
+
if ((bufferSize + payload[_DYN_LENGTH ]) > _self[_DYN__SENDER_CONFIG ][_DYN_MAX_BATCH_SIZE_IN_BY1 ]()) {
|
|
4263
|
+
_self[_DYN_TRIGGER_SEND ](true, null, 10 );
|
|
4082
4264
|
}
|
|
4083
|
-
buffer
|
|
4265
|
+
buffer[_DYN_ENQUEUE ](payload);
|
|
4084
4266
|
_setupTimer();
|
|
4085
4267
|
}
|
|
4086
4268
|
catch (e) {
|
|
4087
|
-
_throwInternal(
|
|
4269
|
+
_throwInternal(diagLogger, 2 , 12 , "Failed adding telemetry to the sender's buffer, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4088
4270
|
}
|
|
4089
4271
|
_self.processNext(telemetryItem, itemCtx);
|
|
4090
4272
|
};
|
|
4091
|
-
_self
|
|
4273
|
+
_self[_DYN__XHR_READY_STATE_CHA6 ] = function (xhr, payload, countOfItemsInPayload) {
|
|
4092
4274
|
if (xhr.readyState === 4) {
|
|
4093
4275
|
_checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
|
|
4094
4276
|
}
|
|
4095
4277
|
};
|
|
4096
|
-
_self
|
|
4278
|
+
_self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
|
|
4097
4279
|
if (async === void 0) { async = true; }
|
|
4098
4280
|
if (!_paused) {
|
|
4099
4281
|
try {
|
|
4100
|
-
var buffer = _self
|
|
4101
|
-
if (!_self
|
|
4102
|
-
if (buffer
|
|
4282
|
+
var buffer = _self[_DYN__BUFFER ];
|
|
4283
|
+
if (!_self[_DYN__SENDER_CONFIG ][_DYN_DISABLE_TELEMETRY ]()) {
|
|
4284
|
+
if (buffer[_DYN_COUNT ]() > 0) {
|
|
4103
4285
|
var payload = buffer.getItems();
|
|
4104
4286
|
_notifySendRequest(sendReason || 0 , async);
|
|
4105
4287
|
if (forcedSender) {
|
|
4106
4288
|
forcedSender.call(_this, payload, async);
|
|
4107
4289
|
}
|
|
4108
4290
|
else {
|
|
4109
|
-
_self
|
|
4291
|
+
_self[_DYN__SENDER ](payload, async);
|
|
4110
4292
|
}
|
|
4111
4293
|
}
|
|
4112
4294
|
_lastSend = +new Date;
|
|
4113
4295
|
}
|
|
4114
4296
|
else {
|
|
4115
|
-
buffer
|
|
4297
|
+
buffer[_DYN_CLEAR ]();
|
|
4116
4298
|
}
|
|
4117
4299
|
_clearScheduledTimer();
|
|
4118
4300
|
}
|
|
4119
4301
|
catch (e) {
|
|
4120
4302
|
var ieVer = getIEVersion();
|
|
4121
4303
|
if (!ieVer || ieVer > 9) {
|
|
4122
|
-
_throwInternal(_self
|
|
4304
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 40 , "Telemetry transmission failed, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4123
4305
|
}
|
|
4124
4306
|
}
|
|
4125
4307
|
}
|
|
@@ -4129,11 +4311,11 @@
|
|
|
4129
4311
|
_offlineListener.unload();
|
|
4130
4312
|
_initDefaults();
|
|
4131
4313
|
};
|
|
4132
|
-
_self
|
|
4133
|
-
_throwInternal(_self
|
|
4134
|
-
_self._buffer
|
|
4314
|
+
_self[_DYN__ON_ERROR ] = function (payload, message, event) {
|
|
4315
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
|
|
4316
|
+
_self._buffer[_DYN_CLEAR_SENT ](payload);
|
|
4135
4317
|
};
|
|
4136
|
-
_self
|
|
4318
|
+
_self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
|
|
4137
4319
|
var failed = [];
|
|
4138
4320
|
var retry = [];
|
|
4139
4321
|
var errors = results.errors.reverse();
|
|
@@ -4141,42 +4323,42 @@
|
|
|
4141
4323
|
var error = errors_1[_i];
|
|
4142
4324
|
var extracted = payload.splice(error.index, 1)[0];
|
|
4143
4325
|
if (_isRetriable(error.statusCode)) {
|
|
4144
|
-
retry
|
|
4326
|
+
retry[_DYN_PUSH ](extracted);
|
|
4145
4327
|
}
|
|
4146
4328
|
else {
|
|
4147
|
-
failed
|
|
4329
|
+
failed[_DYN_PUSH ](extracted);
|
|
4148
4330
|
}
|
|
4149
4331
|
}
|
|
4150
|
-
if (payload
|
|
4151
|
-
_self
|
|
4332
|
+
if (payload[_DYN_LENGTH ] > 0) {
|
|
4333
|
+
_self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
|
|
4152
4334
|
}
|
|
4153
|
-
if (failed
|
|
4154
|
-
_self
|
|
4335
|
+
if (failed[_DYN_LENGTH ] > 0) {
|
|
4336
|
+
_self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
|
|
4155
4337
|
}
|
|
4156
|
-
if (retry
|
|
4338
|
+
if (retry[_DYN_LENGTH ] > 0) {
|
|
4157
4339
|
_resendPayload(retry);
|
|
4158
|
-
_throwInternal(_self
|
|
4159
|
-
"Delivered: " + payload
|
|
4160
|
-
". Will retry to send " + retry
|
|
4340
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
|
|
4341
|
+
"Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
|
|
4342
|
+
". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
|
|
4161
4343
|
}
|
|
4162
4344
|
};
|
|
4163
|
-
_self
|
|
4164
|
-
_self._buffer
|
|
4345
|
+
_self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
|
|
4346
|
+
_self._buffer[_DYN_CLEAR_SENT ](payload);
|
|
4165
4347
|
};
|
|
4166
4348
|
_self._xdrOnLoad = function (xdr, payload) {
|
|
4167
4349
|
var responseText = _getResponseText(xdr);
|
|
4168
4350
|
if (xdr && (responseText + "" === "200" || responseText === "")) {
|
|
4169
4351
|
_consecutiveErrors = 0;
|
|
4170
|
-
_self
|
|
4352
|
+
_self[_DYN__ON_SUCCESS ](payload, 0);
|
|
4171
4353
|
}
|
|
4172
4354
|
else {
|
|
4173
4355
|
var results = _parseResponse(responseText);
|
|
4174
|
-
if (results && results.itemsReceived && results.itemsReceived > results
|
|
4175
|
-
&& !_self
|
|
4176
|
-
_self
|
|
4356
|
+
if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
|
|
4357
|
+
&& !_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
|
|
4358
|
+
_self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
|
|
4177
4359
|
}
|
|
4178
4360
|
else {
|
|
4179
|
-
_self
|
|
4361
|
+
_self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
|
|
4180
4362
|
}
|
|
4181
4363
|
}
|
|
4182
4364
|
};
|
|
@@ -4194,24 +4376,24 @@
|
|
|
4194
4376
|
if ((status < 200 || status >= 300) && status !== 0) {
|
|
4195
4377
|
if (status === 301 || status === 307 || status === 308) {
|
|
4196
4378
|
if (!_checkAndUpdateEndPointUrl(responseUrl)) {
|
|
4197
|
-
_self
|
|
4379
|
+
_self[_DYN__ON_ERROR ](payload, errorMessage);
|
|
4198
4380
|
return;
|
|
4199
4381
|
}
|
|
4200
4382
|
}
|
|
4201
|
-
if (!_self
|
|
4383
|
+
if (!_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]() && _isRetriable(status)) {
|
|
4202
4384
|
_resendPayload(payload);
|
|
4203
|
-
_throwInternal(_self
|
|
4204
|
-
"Response code " + status + ". Will retry to send " + payload
|
|
4385
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
|
|
4386
|
+
"Response code " + status + ". Will retry to send " + payload[_DYN_LENGTH ] + " items.");
|
|
4205
4387
|
}
|
|
4206
4388
|
else {
|
|
4207
|
-
_self
|
|
4389
|
+
_self[_DYN__ON_ERROR ](payload, errorMessage);
|
|
4208
4390
|
}
|
|
4209
4391
|
}
|
|
4210
4392
|
else if (_offlineListener && !_offlineListener.isOnline()) {
|
|
4211
|
-
if (!_self
|
|
4393
|
+
if (!_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
|
|
4212
4394
|
var offlineBackOffMultiplier = 10;
|
|
4213
4395
|
_resendPayload(payload, offlineBackOffMultiplier);
|
|
4214
|
-
_throwInternal(_self
|
|
4396
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". Offline - Response Code: ".concat(status, ". Offline status: ").concat(!_offlineListener.isOnline(), ". Will retry to send ").concat(payload.length, " items."));
|
|
4215
4397
|
}
|
|
4216
4398
|
}
|
|
4217
4399
|
else {
|
|
@@ -4220,16 +4402,16 @@
|
|
|
4220
4402
|
if (!response) {
|
|
4221
4403
|
response = _parseResponse(res);
|
|
4222
4404
|
}
|
|
4223
|
-
if (response && !_self
|
|
4224
|
-
_self
|
|
4405
|
+
if (response && !_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
|
|
4406
|
+
_self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
|
|
4225
4407
|
}
|
|
4226
4408
|
else {
|
|
4227
|
-
_self
|
|
4409
|
+
_self[_DYN__ON_ERROR ](payload, errorMessage);
|
|
4228
4410
|
}
|
|
4229
4411
|
}
|
|
4230
4412
|
else {
|
|
4231
4413
|
_consecutiveErrors = 0;
|
|
4232
|
-
_self
|
|
4414
|
+
_self[_DYN__ON_SUCCESS ](payload, countOfItemsInPayload);
|
|
4233
4415
|
}
|
|
4234
4416
|
}
|
|
4235
4417
|
}
|
|
@@ -4238,8 +4420,8 @@
|
|
|
4238
4420
|
return false;
|
|
4239
4421
|
}
|
|
4240
4422
|
if (!isNullOrUndefined(responseUrl) && responseUrl !== "") {
|
|
4241
|
-
if (responseUrl !== _self
|
|
4242
|
-
_self
|
|
4423
|
+
if (responseUrl !== _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]()) {
|
|
4424
|
+
_self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ] = function () { return responseUrl; };
|
|
4243
4425
|
++_stamp_specific_redirects;
|
|
4244
4426
|
return true;
|
|
4245
4427
|
}
|
|
@@ -4251,76 +4433,76 @@
|
|
|
4251
4433
|
_syncUnloadSender(payload, false);
|
|
4252
4434
|
}
|
|
4253
4435
|
else {
|
|
4254
|
-
_beaconSender(payload
|
|
4436
|
+
_beaconSender(payload);
|
|
4255
4437
|
}
|
|
4256
4438
|
}
|
|
4257
4439
|
function _doBeaconSend(payload) {
|
|
4258
4440
|
var nav = getNavigator();
|
|
4259
|
-
var buffer = _self
|
|
4260
|
-
var url = _self
|
|
4261
|
-
var batch = _self._buffer
|
|
4441
|
+
var buffer = _self[_DYN__BUFFER ];
|
|
4442
|
+
var url = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
|
|
4443
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
4262
4444
|
var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
|
|
4263
4445
|
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
4264
4446
|
if (queued) {
|
|
4265
|
-
buffer
|
|
4266
|
-
_self._onSuccess(payload, payload
|
|
4447
|
+
buffer[_DYN_MARK_AS_SENT ](payload);
|
|
4448
|
+
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
4267
4449
|
}
|
|
4268
4450
|
return queued;
|
|
4269
4451
|
}
|
|
4270
4452
|
function _beaconSender(payload, isAsync) {
|
|
4271
|
-
if (isArray(payload) && payload
|
|
4453
|
+
if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
|
|
4272
4454
|
if (!_doBeaconSend(payload)) {
|
|
4273
4455
|
var droppedPayload = [];
|
|
4274
|
-
for (var lp = 0; lp < payload
|
|
4456
|
+
for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
|
|
4275
4457
|
var thePayload = payload[lp];
|
|
4276
4458
|
if (!_doBeaconSend([thePayload])) {
|
|
4277
|
-
droppedPayload
|
|
4459
|
+
droppedPayload[_DYN_PUSH ](thePayload);
|
|
4278
4460
|
}
|
|
4279
4461
|
}
|
|
4280
|
-
if (droppedPayload
|
|
4462
|
+
if (droppedPayload[_DYN_LENGTH ] > 0) {
|
|
4281
4463
|
_fallbackSender && _fallbackSender(droppedPayload, true);
|
|
4282
|
-
_throwInternal(_self
|
|
4464
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
4283
4465
|
}
|
|
4284
4466
|
}
|
|
4285
4467
|
}
|
|
4286
4468
|
}
|
|
4287
4469
|
function _xhrSender(payload, isAsync) {
|
|
4288
4470
|
var xhr = new XMLHttpRequest();
|
|
4289
|
-
var endPointUrl = _self
|
|
4471
|
+
var endPointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
|
|
4290
4472
|
try {
|
|
4291
4473
|
xhr[DisabledPropertyName] = true;
|
|
4292
4474
|
}
|
|
4293
4475
|
catch (e) {
|
|
4294
4476
|
}
|
|
4295
4477
|
xhr.open("POST", endPointUrl, isAsync);
|
|
4296
|
-
xhr
|
|
4478
|
+
xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
|
|
4297
4479
|
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
4298
|
-
xhr
|
|
4480
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
4299
4481
|
}
|
|
4300
4482
|
arrForEach(objKeys(_headers), function (headerName) {
|
|
4301
|
-
xhr
|
|
4483
|
+
xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
|
|
4302
4484
|
});
|
|
4303
|
-
xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload
|
|
4304
|
-
xhr.onerror = function (event) { return _self
|
|
4305
|
-
var batch = _self._buffer
|
|
4485
|
+
xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]); };
|
|
4486
|
+
xhr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event); };
|
|
4487
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
4306
4488
|
xhr.send(batch);
|
|
4307
|
-
_self._buffer
|
|
4489
|
+
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
4308
4490
|
}
|
|
4309
4491
|
function _fetchKeepAliveSender(payload, isAsync) {
|
|
4310
4492
|
if (isArray(payload)) {
|
|
4311
|
-
var payloadSize = payload
|
|
4312
|
-
for (var lp = 0; lp < payload
|
|
4313
|
-
payloadSize += payload[lp]
|
|
4493
|
+
var payloadSize = payload[_DYN_LENGTH ];
|
|
4494
|
+
for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
|
|
4495
|
+
payloadSize += payload[lp][_DYN_LENGTH ];
|
|
4314
4496
|
}
|
|
4315
4497
|
if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
|
|
4316
4498
|
_doFetchSender(payload, false);
|
|
4317
4499
|
}
|
|
4318
4500
|
else if (isBeaconsSupported()) {
|
|
4319
|
-
_beaconSender(payload
|
|
4501
|
+
_beaconSender(payload);
|
|
4320
4502
|
}
|
|
4321
4503
|
else {
|
|
4322
4504
|
_fallbackSender && _fallbackSender(payload, true);
|
|
4323
|
-
_throwInternal(_self
|
|
4505
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
4324
4506
|
}
|
|
4325
4507
|
}
|
|
4326
4508
|
}
|
|
@@ -4329,15 +4511,15 @@
|
|
|
4329
4511
|
}
|
|
4330
4512
|
function _doFetchSender(payload, isAsync) {
|
|
4331
4513
|
var _a;
|
|
4332
|
-
var endPointUrl = _self
|
|
4333
|
-
var batch = _self._buffer
|
|
4514
|
+
var endPointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
|
|
4515
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
4334
4516
|
var plainTextBatch = new Blob([batch], { type: "application/json" });
|
|
4335
4517
|
var requestHeaders = new Headers();
|
|
4336
|
-
var batchLength = batch
|
|
4518
|
+
var batchLength = batch[_DYN_LENGTH ];
|
|
4337
4519
|
var ignoreResponse = false;
|
|
4338
4520
|
var responseHandled = false;
|
|
4339
4521
|
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
4340
|
-
requestHeaders.append(RequestHeaders
|
|
4522
|
+
requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
4341
4523
|
}
|
|
4342
4524
|
arrForEach(objKeys(_headers), function (headerName) {
|
|
4343
4525
|
requestHeaders.append(headerName, _headers[headerName]);
|
|
@@ -4361,7 +4543,7 @@
|
|
|
4361
4543
|
}
|
|
4362
4544
|
catch (e) {
|
|
4363
4545
|
}
|
|
4364
|
-
_self._buffer
|
|
4546
|
+
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
4365
4547
|
try {
|
|
4366
4548
|
fetch(request).then(function (response) {
|
|
4367
4549
|
if (!isAsync) {
|
|
@@ -4371,11 +4553,11 @@
|
|
|
4371
4553
|
if (!responseHandled) {
|
|
4372
4554
|
responseHandled = true;
|
|
4373
4555
|
if (!response.ok) {
|
|
4374
|
-
_self
|
|
4556
|
+
_self[_DYN__ON_ERROR ](payload, response.statusText);
|
|
4375
4557
|
}
|
|
4376
4558
|
else {
|
|
4377
4559
|
response.text().then(function (text) {
|
|
4378
|
-
_checkResponsStatus(response.status, payload, response.url, payload
|
|
4560
|
+
_checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH ], response.statusText, text);
|
|
4379
4561
|
});
|
|
4380
4562
|
}
|
|
4381
4563
|
}
|
|
@@ -4386,32 +4568,32 @@
|
|
|
4386
4568
|
}
|
|
4387
4569
|
if (!responseHandled) {
|
|
4388
4570
|
responseHandled = true;
|
|
4389
|
-
_self
|
|
4571
|
+
_self[_DYN__ON_ERROR ](payload, error.message);
|
|
4390
4572
|
}
|
|
4391
4573
|
});
|
|
4392
4574
|
}
|
|
4393
4575
|
catch (e) {
|
|
4394
4576
|
if (!responseHandled) {
|
|
4395
|
-
_self
|
|
4577
|
+
_self[_DYN__ON_ERROR ](payload, dumpObj(e));
|
|
4396
4578
|
}
|
|
4397
4579
|
}
|
|
4398
4580
|
if (ignoreResponse && !responseHandled) {
|
|
4399
4581
|
responseHandled = true;
|
|
4400
|
-
_self._onSuccess(payload, payload
|
|
4582
|
+
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
4401
4583
|
}
|
|
4402
4584
|
}
|
|
4403
4585
|
function _parseResponse(response) {
|
|
4404
4586
|
try {
|
|
4405
4587
|
if (response && response !== "") {
|
|
4406
4588
|
var result = getJSON().parse(response);
|
|
4407
|
-
if (result && result.itemsReceived && result.itemsReceived >= result
|
|
4408
|
-
result.itemsReceived - result.itemsAccepted === result.errors
|
|
4589
|
+
if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
|
|
4590
|
+
result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
|
|
4409
4591
|
return result;
|
|
4410
4592
|
}
|
|
4411
4593
|
}
|
|
4412
4594
|
}
|
|
4413
4595
|
catch (e) {
|
|
4414
|
-
_throwInternal(_self
|
|
4596
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
|
|
4415
4597
|
response: response
|
|
4416
4598
|
});
|
|
4417
4599
|
}
|
|
@@ -4419,15 +4601,15 @@
|
|
|
4419
4601
|
}
|
|
4420
4602
|
function _resendPayload(payload, linearFactor) {
|
|
4421
4603
|
if (linearFactor === void 0) { linearFactor = 1; }
|
|
4422
|
-
if (!payload || payload
|
|
4604
|
+
if (!payload || payload[_DYN_LENGTH ] === 0) {
|
|
4423
4605
|
return;
|
|
4424
4606
|
}
|
|
4425
|
-
var buffer = _self
|
|
4426
|
-
buffer
|
|
4607
|
+
var buffer = _self[_DYN__BUFFER ];
|
|
4608
|
+
buffer[_DYN_CLEAR_SENT ](payload);
|
|
4427
4609
|
_consecutiveErrors++;
|
|
4428
4610
|
for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
|
|
4429
4611
|
var item = payload_1[_i];
|
|
4430
|
-
buffer
|
|
4612
|
+
buffer[_DYN_ENQUEUE ](item);
|
|
4431
4613
|
}
|
|
4432
4614
|
_setRetryTime(linearFactor);
|
|
4433
4615
|
_setupTimer();
|
|
@@ -4450,10 +4632,10 @@
|
|
|
4450
4632
|
function _setupTimer() {
|
|
4451
4633
|
if (!_timeoutHandle && !_paused) {
|
|
4452
4634
|
var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;
|
|
4453
|
-
var timerValue = Math.max(_self
|
|
4635
|
+
var timerValue = Math.max(_self[_DYN__SENDER_CONFIG ][_DYN_MAX_BATCH_INTERVAL ](), retryInterval);
|
|
4454
4636
|
_timeoutHandle = setTimeout(function () {
|
|
4455
4637
|
_timeoutHandle = null;
|
|
4456
|
-
_self
|
|
4638
|
+
_self[_DYN_TRIGGER_SEND ](true, null, 1 );
|
|
4457
4639
|
}, timerValue);
|
|
4458
4640
|
}
|
|
4459
4641
|
}
|
|
@@ -4475,23 +4657,23 @@
|
|
|
4475
4657
|
return message;
|
|
4476
4658
|
}
|
|
4477
4659
|
function _xdrSender(payload, isAsync) {
|
|
4478
|
-
var buffer = _self
|
|
4660
|
+
var buffer = _self[_DYN__BUFFER ];
|
|
4479
4661
|
var _window = getWindow();
|
|
4480
4662
|
var xdr = new XDomainRequest();
|
|
4481
4663
|
xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };
|
|
4482
|
-
xdr.onerror = function (event) { return _self
|
|
4664
|
+
xdr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr), event); };
|
|
4483
4665
|
var hostingProtocol = _window && _window.location && _window.location.protocol || "";
|
|
4484
|
-
if (_self
|
|
4485
|
-
_throwInternal(_self
|
|
4666
|
+
if (_self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]().lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
4667
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
|
|
4486
4668
|
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
4487
|
-
buffer
|
|
4669
|
+
buffer[_DYN_CLEAR ]();
|
|
4488
4670
|
return;
|
|
4489
4671
|
}
|
|
4490
|
-
var endpointUrl = _self
|
|
4672
|
+
var endpointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]().replace(/^(https?:)/, "");
|
|
4491
4673
|
xdr.open("POST", endpointUrl);
|
|
4492
|
-
var batch = buffer
|
|
4674
|
+
var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
4493
4675
|
xdr.send(batch);
|
|
4494
|
-
buffer
|
|
4676
|
+
buffer[_DYN_MARK_AS_SENT ](payload);
|
|
4495
4677
|
}
|
|
4496
4678
|
function _formatErrorMessageXdr(xdr, message) {
|
|
4497
4679
|
if (xdr) {
|
|
@@ -4508,27 +4690,27 @@
|
|
|
4508
4690
|
}
|
|
4509
4691
|
function _notifySendRequest(sendRequest, isAsync) {
|
|
4510
4692
|
var manager = _getNotifyMgr();
|
|
4511
|
-
if (manager && manager
|
|
4693
|
+
if (manager && manager[_DYN_EVENTS_SEND_REQUEST ]) {
|
|
4512
4694
|
try {
|
|
4513
|
-
manager
|
|
4695
|
+
manager[_DYN_EVENTS_SEND_REQUEST ](sendRequest, isAsync);
|
|
4514
4696
|
}
|
|
4515
4697
|
catch (e) {
|
|
4516
|
-
_throwInternal(_self
|
|
4698
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 74 , "send request notification failed: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4517
4699
|
}
|
|
4518
4700
|
}
|
|
4519
4701
|
}
|
|
4520
4702
|
function _validateInstrumentationKey(config) {
|
|
4521
|
-
var disableIKeyValidationFlag = isNullOrUndefined(config
|
|
4703
|
+
var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 ]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 ];
|
|
4522
4704
|
if (disableIKeyValidationFlag) {
|
|
4523
4705
|
return true;
|
|
4524
4706
|
}
|
|
4525
4707
|
var UUID_Regex = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
|
|
4526
4708
|
var regexp = new RegExp(UUID_Regex);
|
|
4527
|
-
return regexp.test(config
|
|
4709
|
+
return regexp.test(config[_DYN_INSTRUMENTATION_KEY ]);
|
|
4528
4710
|
}
|
|
4529
4711
|
function _initDefaults() {
|
|
4530
|
-
_self
|
|
4531
|
-
_self
|
|
4712
|
+
_self[_DYN__SENDER ] = null;
|
|
4713
|
+
_self[_DYN__BUFFER ] = null;
|
|
4532
4714
|
_self._appId = null;
|
|
4533
4715
|
_self._sample = null;
|
|
4534
4716
|
_headers = {};
|