@microsoft/applicationinsights-dependencies-js 2.8.0-nightly.2204-04 → 2.8.0-nightly.2204-07

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/src/ajax.ts CHANGED
@@ -2,25 +2,24 @@
2
2
  // Licensed under the MIT License.
3
3
 
4
4
  import {
5
- RequestHeaders, CorrelationIdHelper, TelemetryItemCreator, ICorrelationConfig,
5
+ RequestHeaders, CorrelationIdHelper, createTelemetryItem, ICorrelationConfig,
6
6
  RemoteDependencyData, dateTimeUtilsNow, DisabledPropertyName, IDependencyTelemetry,
7
- IConfig, ITelemetryContext, PropertiesPluginIdentifier, eDistributedTracingModes, IRequestContext, isInternalApplicationInsightsEndpoint
7
+ IConfig, ITelemetryContext, PropertiesPluginIdentifier, eDistributedTracingModes, IRequestContext, isInternalApplicationInsightsEndpoint,
8
+ eRequestHeaders, formatTraceParent, createTraceParent
8
9
  } from "@microsoft/applicationinsights-common";
9
10
  import {
10
- isNullOrUndefined, arrForEach, isString, strTrim, isFunction, LoggingSeverity, _InternalMessageId,
11
+ isNullOrUndefined, arrForEach, isString, strTrim, isFunction, eLoggingSeverity, _eInternalMessageId,
11
12
  IAppInsightsCore, BaseTelemetryPlugin, ITelemetryPluginChain, IConfiguration, IPlugin, ITelemetryItem, IProcessTelemetryContext,
12
13
  getLocation, getGlobal, strPrototype, IInstrumentCallDetails, InstrumentFunc, InstrumentProto, getPerformance,
13
14
  IInstrumentHooksCallbacks, objForEachKey, generateW3CId, getIEVersion, dumpObj, ICustomProperties, isXhrSupported, eventOn,
14
- mergeEvtNamespace, createUniqueNamespace, createProcessTelemetryContext
15
+ mergeEvtNamespace, createUniqueNamespace, createProcessTelemetryContext, _throwInternal
15
16
  } from "@microsoft/applicationinsights-core-js";
16
17
  import { ajaxRecord, IAjaxRecordResponse } from "./ajaxRecord";
17
- import { Traceparent } from "./TraceParent";
18
18
  import dynamicProto from "@microsoft/dynamicproto-js";
19
19
 
20
20
  const AJAX_MONITOR_PREFIX = "ai.ajxmn.";
21
21
  const strDiagLog = "diagLog";
22
22
  const strAjaxData = "ajaxData";
23
- const strThrowInternal = "throwInternal";
24
23
  const strFetch = "fetch";
25
24
  const strTrackDependencyDataInternal = "trackDependencyDataInternal"; // Using string to help with minification
26
25
 
@@ -74,7 +73,7 @@ function _supportsAjaxMonitoring(ajaxMonitorInstance:AjaxMonitor): boolean {
74
73
  // We can't decorate the xhr object so disable monitoring
75
74
  result = false;
76
75
  _throwInternalCritical(ajaxMonitorInstance,
77
- _InternalMessageId.FailedMonitorAjaxOpen,
76
+ _eInternalMessageId.FailedMonitorAjaxOpen,
78
77
  "Failed to enable XMLHttpRequest monitoring, extension is not supported",
79
78
  {
80
79
  exception: dumpObj(e)
@@ -102,17 +101,17 @@ function _getFailedAjaxDiagnosticsMessage(xhr: XMLHttpRequestInstrumented): stri
102
101
  }
103
102
 
104
103
  /** @ignore */
105
- function _throwInternalCritical(ajaxMonitorInstance:AjaxMonitor, msgId: _InternalMessageId, message: string, properties?: Object, isUserAct?: boolean): void {
106
- ajaxMonitorInstance[strDiagLog]()[strThrowInternal](LoggingSeverity.CRITICAL, msgId, message, properties, isUserAct);
104
+ function _throwInternalCritical(ajaxMonitorInstance:AjaxMonitor, msgId: _eInternalMessageId, message: string, properties?: Object, isUserAct?: boolean): void {
105
+ _throwInternal(ajaxMonitorInstance[strDiagLog](), eLoggingSeverity.CRITICAL, msgId, message, properties, isUserAct);
107
106
  }
108
107
 
109
108
  /** @ignore */
110
- function _throwInternalWarning(ajaxMonitorInstance:AjaxMonitor, msgId: _InternalMessageId, message: string, properties?: Object, isUserAct?: boolean): void {
111
- ajaxMonitorInstance[strDiagLog]()[strThrowInternal](LoggingSeverity.WARNING, msgId, message, properties, isUserAct);
109
+ function _throwInternalWarning(ajaxMonitorInstance:AjaxMonitor, msgId: _eInternalMessageId, message: string, properties?: Object, isUserAct?: boolean): void {
110
+ _throwInternal(ajaxMonitorInstance[strDiagLog](), eLoggingSeverity.WARNING, msgId, message, properties, isUserAct);
112
111
  }
113
112
 
114
113
  /** @Ignore */
115
- function _createErrorCallbackFunc(ajaxMonitorInstance:AjaxMonitor, internalMessage:_InternalMessageId, message:string) {
114
+ function _createErrorCallbackFunc(ajaxMonitorInstance:AjaxMonitor, internalMessage: _eInternalMessageId, message:string) {
116
115
  // tslint:disable-next-line
117
116
  return function (args:IInstrumentCallDetails) {
118
117
  _throwInternalCritical(ajaxMonitorInstance,
@@ -262,23 +261,23 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
262
261
  init.headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {}));
263
262
  if (_isUsingAIHeaders) {
264
263
  const id = "|" + ajaxData.traceID + "." + ajaxData.spanID;
265
- init.headers.set(RequestHeaders.requestIdHeader, id);
264
+ init.headers.set(RequestHeaders[eRequestHeaders.requestIdHeader], id);
266
265
  if (_enableRequestHeaderTracking) {
267
- ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;
266
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id;
268
267
  }
269
268
  }
270
269
  const appId: string = _config.appId ||(_context && _context.appId());
271
270
  if (appId) {
272
- init.headers.set(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);
271
+ init.headers.set(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId);
273
272
  if (_enableRequestHeaderTracking) {
274
- ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;
273
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId;
275
274
  }
276
275
  }
277
276
  if (_isUsingW3CHeaders) {
278
- const traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);
279
- init.headers.set(RequestHeaders.traceParentHeader, traceparent.toString());
277
+ const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
278
+ init.headers.set(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent);
280
279
  if (_enableRequestHeaderTracking) {
281
- ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();
280
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent;
282
281
  }
283
282
  }
284
283
  }
@@ -288,23 +287,23 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
288
287
  if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {
289
288
  if (_isUsingAIHeaders) {
290
289
  const id = "|" + ajaxData.traceID + "." + ajaxData.spanID;
291
- xhr.setRequestHeader(RequestHeaders.requestIdHeader, id);
290
+ xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestIdHeader], id);
292
291
  if (_enableRequestHeaderTracking) {
293
- ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;
292
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id;
294
293
  }
295
294
  }
296
295
  const appId = _config.appId || (_context && _context.appId());
297
296
  if (appId) {
298
- xhr.setRequestHeader(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);
297
+ xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId);
299
298
  if (_enableRequestHeaderTracking) {
300
- ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;
299
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId;
301
300
  }
302
301
  }
303
302
  if (_isUsingW3CHeaders) {
304
- const traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);
305
- xhr.setRequestHeader(RequestHeaders.traceParentHeader, traceparent.toString());
303
+ const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
304
+ xhr.setRequestHeader(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent);
306
305
  if (_enableRequestHeaderTracking) {
307
- ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();
306
+ ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent;
308
307
  }
309
308
  }
310
309
  }
@@ -329,7 +328,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
329
328
  if (isNullOrUndefined(dependency.startTime)) {
330
329
  dependency.startTime = new Date();
331
330
  }
332
- const item = TelemetryItemCreator.create<IDependencyTelemetry>(
331
+ const item = createTelemetryItem<IDependencyTelemetry>(
333
332
  dependency,
334
333
  RemoteDependencyData.dataType,
335
334
  RemoteDependencyData.envelopeType,
@@ -340,7 +339,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
340
339
  _self.core.track(item);
341
340
  } else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {
342
341
  _throwInternalCritical(_self,
343
- _InternalMessageId.MaxAjaxPerPVExceeded,
342
+ _eInternalMessageId.MaxAjaxPerPVExceeded,
344
343
  "Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.",
345
344
  true);
346
345
  }
@@ -494,7 +493,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
494
493
  }
495
494
  },
496
495
  // Create an error callback to report any hook errors
497
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen,
496
+ hkErr: _createErrorCallbackFunc(_self, _eInternalMessageId.FailedMonitorAjaxOpen,
498
497
  "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
499
498
  }));
500
499
 
@@ -546,7 +545,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
546
545
  }
547
546
  }
548
547
  },
549
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen,
548
+ hkErr: _createErrorCallbackFunc(_self, _eInternalMessageId.FailedMonitorAjaxOpen,
550
549
  "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
551
550
  });
552
551
 
@@ -565,7 +564,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
565
564
  }
566
565
  }
567
566
  },
568
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSend,
567
+ hkErr: _createErrorCallbackFunc(_self, _eInternalMessageId.FailedMonitorAjaxSend,
569
568
  "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
570
569
  });
571
570
 
@@ -582,7 +581,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
582
581
  }
583
582
  }
584
583
  },
585
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxAbort,
584
+ hkErr: _createErrorCallbackFunc(_self, _eInternalMessageId.FailedMonitorAjaxAbort,
586
585
  "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
587
586
  });
588
587
 
@@ -597,7 +596,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
597
596
  }
598
597
  }
599
598
  },
600
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSetRequestHeader,
599
+ hkErr: _createErrorCallbackFunc(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader,
601
600
  "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
602
601
  });
603
602
 
@@ -708,7 +707,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
708
707
  // ignore messages with c00c023f, as this a known IE9 XHR abort issue
709
708
  if (!exceptionText || _indexOf(exceptionText.toLowerCase(), "c00c023f") === -1) {
710
709
  _throwInternalCritical(_self,
711
- _InternalMessageId.FailedMonitorAjaxRSC,
710
+ _eInternalMessageId.FailedMonitorAjaxRSC,
712
711
  "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.",
713
712
  {
714
713
  ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
@@ -746,7 +745,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
746
745
  }
747
746
 
748
747
  _throwInternalWarning(_self,
749
- _InternalMessageId.FailedMonitorAjaxDur,
748
+ _eInternalMessageId.FailedMonitorAjaxDur,
750
749
  "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.",
751
750
  errorProps
752
751
  );
@@ -794,7 +793,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
794
793
  }
795
794
  } catch (e) {
796
795
  _throwInternalWarning(_self,
797
- _InternalMessageId.FailedAddingCustomDefinedRequestContext,
796
+ _eInternalMessageId.FailedAddingCustomDefinedRequestContext,
798
797
  "Failed to add custom defined request context as configured call back may missing a null check.")
799
798
  }
800
799
 
@@ -826,15 +825,15 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
826
825
  try {
827
826
  const responseHeadersString = xhr.getAllResponseHeaders();
828
827
  if (responseHeadersString !== null) {
829
- const index = _indexOf(responseHeadersString.toLowerCase(), RequestHeaders.requestContextHeaderLowerCase);
828
+ const index = _indexOf(responseHeadersString.toLowerCase(), RequestHeaders[eRequestHeaders.requestContextHeaderLowerCase]);
830
829
  if (index !== -1) {
831
- const responseHeader = xhr.getResponseHeader(RequestHeaders.requestContextHeader);
830
+ const responseHeader = xhr.getResponseHeader(RequestHeaders[eRequestHeaders.requestContextHeader]);
832
831
  return CorrelationIdHelper.getCorrelationContext(responseHeader);
833
832
  }
834
833
  }
835
834
  } catch (e) {
836
835
  _throwInternalWarning(_self,
837
- _InternalMessageId.FailedMonitorAjaxGetCorrelationHeader,
836
+ _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader,
838
837
  "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.",
839
838
  {
840
839
  ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
@@ -972,7 +971,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
972
971
  }
973
972
  } catch (e) {
974
973
  _throwInternalCritical(_self,
975
- _InternalMessageId.FailedMonitorAjaxOpen,
974
+ _eInternalMessageId.FailedMonitorAjaxOpen,
976
975
  "Failed to grab failed fetch diagnostics message",
977
976
  { exception: dumpObj(e) }
978
977
  );
@@ -985,7 +984,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
985
984
  return;
986
985
  }
987
986
 
988
- function _reportFetchError(msgId: _InternalMessageId, e: any, failedProps?:Object) {
987
+ function _reportFetchError(msgId: _eInternalMessageId, e: any, failedProps?:Object) {
989
988
  let errorProps = failedProps||{};
990
989
  errorProps["fetchDiagnosticsMessage"] = _getFailedFetchDiagnosticsMessage(input);
991
990
  if (e) {
@@ -1011,7 +1010,7 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
1011
1010
  }
1012
1011
  } catch (e) {
1013
1012
  _throwInternalWarning(_self,
1014
- _InternalMessageId.FailedAddingCustomDefinedRequestContext,
1013
+ _eInternalMessageId.FailedAddingCustomDefinedRequestContext,
1015
1014
  "Failed to add custom defined request context as configured call back may missing a null check.")
1016
1015
  }
1017
1016
 
@@ -1021,25 +1020,25 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IDependenciesPlu
1021
1020
  }
1022
1021
  _self[strTrackDependencyDataInternal](dependency);
1023
1022
  } else {
1024
- _reportFetchError(_InternalMessageId.FailedMonitorAjaxDur, null,
1023
+ _reportFetchError(_eInternalMessageId.FailedMonitorAjaxDur, null,
1025
1024
  {
1026
1025
  requestSentTime: ajaxData.requestSentTime,
1027
1026
  responseFinishedTime: ajaxData.responseFinishedTime
1028
1027
  });
1029
1028
  }
1030
1029
  }, (e) => {
1031
- _reportFetchError(_InternalMessageId.FailedMonitorAjaxGetCorrelationHeader, e, null);
1030
+ _reportFetchError(_eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader, e, null);
1032
1031
  });
1033
1032
  }
1034
1033
 
1035
1034
  function _getFetchCorrelationContext(response: Response): string {
1036
1035
  if (response && response.headers) {
1037
1036
  try {
1038
- const responseHeader: string = response.headers.get(RequestHeaders.requestContextHeader);
1037
+ const responseHeader: string = response.headers.get(RequestHeaders[eRequestHeaders.requestContextHeader]);
1039
1038
  return CorrelationIdHelper.getCorrelationContext(responseHeader);
1040
1039
  } catch (e) {
1041
1040
  _throwInternalWarning(_self,
1042
- _InternalMessageId.FailedMonitorAjaxGetCorrelationHeader,
1041
+ _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader,
1043
1042
  "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.",
1044
1043
  {
1045
1044
  fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
@@ -1,39 +0,0 @@
1
- /*
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-nightly.2204-04
3
- * Copyright (c) Microsoft and contributors. All rights reserved.
4
- */
5
- import { generateW3CId } from "@microsoft/applicationinsights-core-js";
6
- var Traceparent = /** @class */ (function () {
7
- function Traceparent(traceId, spanId) {
8
- var self = this;
9
- self.traceFlag = Traceparent.DEFAULT_TRACE_FLAG;
10
- self.version = Traceparent.DEFAULT_VERSION;
11
- if (traceId && Traceparent.isValidTraceId(traceId)) {
12
- self.traceId = traceId;
13
- }
14
- else {
15
- self.traceId = generateW3CId();
16
- }
17
- if (spanId && Traceparent.isValidSpanId(spanId)) {
18
- self.spanId = spanId;
19
- }
20
- else {
21
- self.spanId = generateW3CId().substr(0, 16);
22
- }
23
- }
24
- Traceparent.isValidTraceId = function (id) {
25
- return id.match(/^[0-9a-f]{32}$/) && id !== "00000000000000000000000000000000";
26
- };
27
- Traceparent.isValidSpanId = function (id) {
28
- return id.match(/^[0-9a-f]{16}$/) && id !== "0000000000000000";
29
- };
30
- Traceparent.prototype.toString = function () {
31
- var self = this;
32
- return "".concat(self.version, "-").concat(self.traceId, "-").concat(self.spanId, "-").concat(self.traceFlag);
33
- };
34
- Traceparent.DEFAULT_TRACE_FLAG = "01";
35
- Traceparent.DEFAULT_VERSION = "00";
36
- return Traceparent;
37
- }());
38
- export { Traceparent };
39
- //# sourceMappingURL=TraceParent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TraceParent.js.map","sources":["TraceParent.js"],"sourcesContent":["import { generateW3CId } from \"@microsoft/applicationinsights-core-js\";\r\nvar Traceparent = /** @class */ (function () {\r\n function Traceparent(traceId, spanId) {\r\n var self = this;\r\n self.traceFlag = Traceparent.DEFAULT_TRACE_FLAG;\r\n self.version = Traceparent.DEFAULT_VERSION;\r\n if (traceId && Traceparent.isValidTraceId(traceId)) {\r\n self.traceId = traceId;\r\n }\r\n else {\r\n self.traceId = generateW3CId();\r\n }\r\n if (spanId && Traceparent.isValidSpanId(spanId)) {\r\n self.spanId = spanId;\r\n }\r\n else {\r\n self.spanId = generateW3CId().substr(0, 16);\r\n }\r\n }\r\n Traceparent.isValidTraceId = function (id) {\r\n return id.match(/^[0-9a-f]{32}$/) && id !== \"00000000000000000000000000000000\";\r\n };\r\n Traceparent.isValidSpanId = function (id) {\r\n return id.match(/^[0-9a-f]{16}$/) && id !== \"0000000000000000\";\r\n };\r\n Traceparent.prototype.toString = function () {\r\n var self = this;\r\n return \"\".concat(self.version, \"-\").concat(self.traceId, \"-\").concat(self.spanId, \"-\").concat(self.traceFlag);\r\n };\r\n Traceparent.DEFAULT_TRACE_FLAG = \"01\";\r\n Traceparent.DEFAULT_VERSION = \"00\";\r\n return Traceparent;\r\n}());\r\nexport { Traceparent };\r\n//# sourceMappingURL=TraceParent.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,40 +0,0 @@
1
- import { generateW3CId } from "@microsoft/applicationinsights-core-js";
2
-
3
- export class Traceparent {
4
-
5
- public static isValidTraceId(id: string): boolean {
6
- return id.match(/^[0-9a-f]{32}$/) && id !== "00000000000000000000000000000000";
7
- }
8
-
9
- public static isValidSpanId(id: string): boolean {
10
- return id.match(/^[0-9a-f]{16}$/) && id !== "0000000000000000";
11
- }
12
- private static DEFAULT_TRACE_FLAG = "01";
13
- private static DEFAULT_VERSION = "00";
14
- public spanId: string;
15
- public traceFlag: string;
16
- public traceId: string;
17
- public version: string;
18
-
19
- constructor(traceId?: string, spanId?: string) {
20
- let self = this;
21
- self.traceFlag = Traceparent.DEFAULT_TRACE_FLAG;
22
- self.version = Traceparent.DEFAULT_VERSION;
23
-
24
- if (traceId && Traceparent.isValidTraceId(traceId)) {
25
- self.traceId = traceId;
26
- } else {
27
- self.traceId = generateW3CId();
28
- }
29
- if (spanId && Traceparent.isValidSpanId(spanId)) {
30
- self.spanId = spanId;
31
- } else {
32
- self.spanId = generateW3CId().substr(0, 16);
33
- }
34
- }
35
-
36
- public toString(): string {
37
- let self = this;
38
- return `${self.version}-${self.traceId}-${self.spanId}-${self.traceFlag}`;
39
- }
40
- }
@@ -1,12 +0,0 @@
1
- export declare class Traceparent {
2
- static isValidTraceId(id: string): boolean;
3
- static isValidSpanId(id: string): boolean;
4
- private static DEFAULT_TRACE_FLAG;
5
- private static DEFAULT_VERSION;
6
- spanId: string;
7
- traceFlag: string;
8
- traceId: string;
9
- version: string;
10
- constructor(traceId?: string, spanId?: string);
11
- toString(): string;
12
- }