@microsoft/sp-diagnostics 1.22.0-beta.2 → 1.22.0-beta.4

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.
Files changed (138) hide show
  1. package/dist/78359e4b-07c2-43c6-8d0b-d060b4d577e8.manifest.json +3 -3
  2. package/dist/{sp-diagnostics_none_a5c0c2a17bce8b457f0d.js → sp-diagnostics_none_f723633aa801623e45a1.js} +1 -1
  3. package/lib/Api/Engagement/EngagementLogger.d.ts +75 -0
  4. package/lib/Api/Engagement/EngagementLogger.d.ts.map +1 -0
  5. package/lib/Api/Engagement/EngagementLogger.js +143 -0
  6. package/lib/Api/Engagement/IEngagementHandler.d.ts +87 -0
  7. package/lib/Api/Engagement/IEngagementHandler.d.ts.map +1 -0
  8. package/lib/Api/Engagement/IEngagementHandler.js +2 -0
  9. package/lib/Api/ExecutionQueue.d.ts +55 -0
  10. package/lib/Api/ExecutionQueue.d.ts.map +1 -0
  11. package/lib/Api/ExecutionQueue.js +133 -0
  12. package/lib/Api/ILogData.d.ts +36 -0
  13. package/lib/Api/ILogData.d.ts.map +1 -0
  14. package/lib/Api/ILogData.js +3 -0
  15. package/lib/Api/ILogEntry.d.ts +29 -0
  16. package/lib/Api/ILogEntry.d.ts.map +1 -0
  17. package/lib/Api/ILogEntry.js +2 -0
  18. package/lib/Api/ILogErrorData.d.ts +21 -0
  19. package/lib/Api/ILogErrorData.d.ts.map +1 -0
  20. package/lib/Api/ILogErrorData.js +3 -0
  21. package/lib/Api/ILogSource.d.ts +10 -0
  22. package/lib/Api/ILogSource.d.ts.map +1 -0
  23. package/lib/Api/ILogSource.js +3 -0
  24. package/lib/Api/ILogVerboseData.d.ts +12 -0
  25. package/lib/Api/ILogVerboseData.d.ts.map +1 -0
  26. package/lib/Api/ILogVerboseData.js +3 -0
  27. package/lib/Api/Log/LogHandler.d.ts +12 -0
  28. package/lib/Api/Log/LogHandler.d.ts.map +1 -0
  29. package/lib/Api/Log/LogHandler.js +41 -0
  30. package/lib/Api/LogEntry.d.ts +29 -0
  31. package/lib/Api/LogEntry.d.ts.map +1 -0
  32. package/lib/Api/LogEntry.js +51 -0
  33. package/lib/Api/LogFeature.d.ts +7 -0
  34. package/lib/Api/LogFeature.d.ts.map +1 -0
  35. package/lib/Api/LogFeature.js +11 -0
  36. package/lib/Api/LogLevel.d.ts +23 -0
  37. package/lib/Api/LogLevel.d.ts.map +1 -0
  38. package/lib/Api/LogLevel.js +24 -0
  39. package/lib/Api/LogManager/CircularBuffer.d.ts +36 -0
  40. package/lib/Api/LogManager/CircularBuffer.d.ts.map +1 -0
  41. package/lib/Api/LogManager/CircularBuffer.js +98 -0
  42. package/lib/Api/LogManager/LogManager.d.ts +47 -0
  43. package/lib/Api/LogManager/LogManager.d.ts.map +1 -0
  44. package/lib/Api/LogManager/LogManager.js +121 -0
  45. package/lib/Api/LogSource.d.ts +24 -0
  46. package/lib/Api/LogSource.d.ts.map +1 -0
  47. package/lib/Api/LogSource.js +40 -0
  48. package/lib/Api/LogType.d.ts +21 -0
  49. package/lib/Api/LogType.d.ts.map +1 -0
  50. package/lib/Api/LogType.js +23 -0
  51. package/lib/Api/Qos/AutoAlertableQosMonitor.d.ts +72 -0
  52. package/lib/Api/Qos/AutoAlertableQosMonitor.d.ts.map +1 -0
  53. package/lib/Api/Qos/AutoAlertableQosMonitor.js +93 -0
  54. package/lib/Api/Qos/CustomerPromiseInterfaces/ICustomerPromiseErrorDetails.d.ts +39 -0
  55. package/lib/Api/Qos/CustomerPromiseInterfaces/ICustomerPromiseErrorDetails.d.ts.map +1 -0
  56. package/lib/Api/Qos/CustomerPromiseInterfaces/ICustomerPromiseErrorDetails.js +2 -0
  57. package/lib/Api/Qos/CustomerPromiseInterfaces/IExtraDataForCustomerPromise.d.ts +12 -0
  58. package/lib/Api/Qos/CustomerPromiseInterfaces/IExtraDataForCustomerPromise.d.ts.map +1 -0
  59. package/lib/Api/Qos/CustomerPromiseInterfaces/IExtraDataForCustomerPromise.js +2 -0
  60. package/lib/Api/Qos/IQos.d.ts +17 -0
  61. package/lib/Api/Qos/IQos.d.ts.map +1 -0
  62. package/lib/Api/Qos/IQos.js +2 -0
  63. package/lib/Api/Qos/IQosEndEvent.d.ts +13 -0
  64. package/lib/Api/Qos/IQosEndEvent.d.ts.map +1 -0
  65. package/lib/Api/Qos/IQosEndEvent.js +2 -0
  66. package/lib/Api/Qos/IQosExtraData.d.ts +50 -0
  67. package/lib/Api/Qos/IQosExtraData.d.ts.map +1 -0
  68. package/lib/Api/Qos/IQosExtraData.js +2 -0
  69. package/lib/Api/Qos/IQosStartEvent.d.ts +8 -0
  70. package/lib/Api/Qos/IQosStartEvent.d.ts.map +1 -0
  71. package/lib/Api/Qos/IQosStartEvent.js +2 -0
  72. package/lib/Api/Qos/QosLogger.d.ts +27 -0
  73. package/lib/Api/Qos/QosLogger.d.ts.map +1 -0
  74. package/lib/Api/Qos/QosLogger.js +74 -0
  75. package/lib/Api/Qos/QosMonitor.d.ts +74 -0
  76. package/lib/Api/Qos/QosMonitor.d.ts.map +1 -0
  77. package/lib/Api/Qos/QosMonitor.js +304 -0
  78. package/lib/Api/Qos/QosMonitorShareFailureWithCP.d.ts +50 -0
  79. package/lib/Api/Qos/QosMonitorShareFailureWithCP.d.ts.map +1 -0
  80. package/lib/Api/Qos/QosMonitorShareFailureWithCP.js +114 -0
  81. package/lib/Api/Qos/QosResultType.d.ts +15 -0
  82. package/lib/Api/Qos/QosResultType.d.ts.map +1 -0
  83. package/lib/Api/Qos/QosResultType.js +11 -0
  84. package/lib/Api/Trace/DefaultTraceHandler.d.ts +15 -0
  85. package/lib/Api/Trace/DefaultTraceHandler.d.ts.map +1 -0
  86. package/lib/Api/Trace/DefaultTraceHandler.js +30 -0
  87. package/lib/Api/Trace/ITraceHandler.d.ts +29 -0
  88. package/lib/Api/Trace/ITraceHandler.d.ts.map +1 -0
  89. package/lib/Api/Trace/ITraceHandler.js +2 -0
  90. package/lib/Api/Trace/ITraceLogger.d.ts +13 -0
  91. package/lib/Api/Trace/ITraceLogger.d.ts.map +1 -0
  92. package/lib/Api/Trace/ITraceLogger.js +2 -0
  93. package/lib/Api/Trace/LogEvent.d.ts +49 -0
  94. package/lib/Api/Trace/LogEvent.d.ts.map +1 -0
  95. package/lib/Api/Trace/LogEvent.js +147 -0
  96. package/lib/Api/Trace/TraceLogger.d.ts +102 -0
  97. package/lib/Api/Trace/TraceLogger.d.ts.map +1 -0
  98. package/lib/Api/Trace/TraceLogger.js +197 -0
  99. package/lib/Diagnostics.d.ts +47 -0
  100. package/lib/Diagnostics.d.ts.map +1 -0
  101. package/lib/Diagnostics.js +82 -0
  102. package/lib/DiagnosticsSettingsManager.d.ts +19 -0
  103. package/lib/DiagnosticsSettingsManager.d.ts.map +1 -0
  104. package/lib/DiagnosticsSettingsManager.js +62 -0
  105. package/lib/IDiagnosticsSettings.d.ts +87 -0
  106. package/lib/IDiagnosticsSettings.d.ts.map +1 -0
  107. package/lib/IDiagnosticsSettings.js +2 -0
  108. package/lib/common/Killswitches.d.ts +3 -0
  109. package/lib/common/Killswitches.d.ts.map +1 -0
  110. package/lib/common/Killswitches.js +14 -0
  111. package/lib/extraData/DisplayApp.d.ts +6 -0
  112. package/lib/extraData/DisplayApp.d.ts.map +1 -0
  113. package/lib/extraData/DisplayApp.js +6 -0
  114. package/lib/extraData/IDiagnosticContextInfo.d.ts +18 -0
  115. package/lib/extraData/IDiagnosticContextInfo.d.ts.map +1 -0
  116. package/lib/extraData/IDiagnosticContextInfo.js +2 -0
  117. package/lib/extraData/IPageExtraData.d.ts +16 -0
  118. package/lib/extraData/IPageExtraData.d.ts.map +1 -0
  119. package/lib/extraData/IPageExtraData.js +2 -0
  120. package/lib/extraData/PageType.d.ts +13 -0
  121. package/lib/extraData/PageType.d.ts.map +1 -0
  122. package/lib/extraData/PageType.js +16 -0
  123. package/lib/extraData/PromotedState.d.ts +16 -0
  124. package/lib/extraData/PromotedState.d.ts.map +1 -0
  125. package/lib/extraData/PromotedState.js +17 -0
  126. package/lib/extraData/WebTemplateId.d.ts +8 -0
  127. package/lib/extraData/WebTemplateId.d.ts.map +1 -0
  128. package/lib/extraData/WebTemplateId.js +10 -0
  129. package/lib/extraData/setPageExtraData.d.ts +5 -0
  130. package/lib/extraData/setPageExtraData.d.ts.map +1 -0
  131. package/lib/extraData/setPageExtraData.js +66 -0
  132. package/lib/index.d.ts +42 -0
  133. package/lib/index.d.ts.map +1 -0
  134. package/lib/index.js +27 -0
  135. package/lib/sp-diagnostics.manifest.json +8 -0
  136. package/lib-commonjs/common/Killswitches.js +8 -1
  137. package/lib-commonjs/extraData/setPageExtraData.js +4 -0
  138. package/package.json +6 -6
@@ -0,0 +1,47 @@
1
+ import CircularBuffer from './CircularBuffer';
2
+ /**
3
+ * LogManager allows multiple handlers to process log events.
4
+ * It caches the latest 5000 log events. If a handler is just added, the
5
+ * handler is able to get access to the cached events and all incoming events.
6
+ * Dev-dashboard and potentially third-party can use it to get access to events.
7
+ * @internal
8
+ */
9
+ export default class LogManager<TLog> {
10
+ private static get _maxVerboseLog();
11
+ private _shouldLogInRealTime;
12
+ private _handlers;
13
+ private _events;
14
+ constructor(initialHandler?: (e: TLog) => void);
15
+ /**
16
+ * Event list for delayed asynchronous processing.
17
+ * Events are accumulated in CircularBuffer for processing later.
18
+ */
19
+ get events(): CircularBuffer<TLog>;
20
+ /**
21
+ * Registers an external logger to logger collection for asynchronous event logging.
22
+ * Logger is registered once.
23
+ */
24
+ addHandler(handler: (e: TLog) => void): void;
25
+ /**
26
+ * Event logging operation for delayed asynchronous processing.
27
+ */
28
+ log(event: TLog): void;
29
+ /**
30
+ * Removes an external logger from logger collection for asynchronous event logging.
31
+ * Logger is registered once.
32
+ */
33
+ removeHandler(handler: (e: TLog) => void): void;
34
+ /**
35
+ * Reset function clears logger collection for asynchronous event logging.
36
+ * All recorded events are purged.
37
+ */
38
+ reset(): void;
39
+ /**
40
+ * Processes all the buffered events using the registered handler.
41
+ */
42
+ processAll(handler: (e: TLog) => void): void;
43
+ private _containsHandler;
44
+ private _processAllEvents;
45
+ private _processLogEvent;
46
+ }
47
+ //# sourceMappingURL=LogManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogManager.d.ts","sourceRoot":"","sources":["../../../src/Api/LogManager/LogManager.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI;IAClC,OAAO,CAAC,MAAM,KAAK,cAAc,GAEhC;IACD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,OAAO,CAA6E;gBAEzE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI;IAMrD;;;OAGG;IACH,IAAW,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAExC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAOnD;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO7B;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAQtD;;;OAGG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAMnD,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,gBAAgB;CAYzB"}
@@ -0,0 +1,121 @@
1
+ import CircularBuffer from './CircularBuffer';
2
+ /**
3
+ * LogManager allows multiple handlers to process log events.
4
+ * It caches the latest 5000 log events. If a handler is just added, the
5
+ * handler is able to get access to the cached events and all incoming events.
6
+ * Dev-dashboard and potentially third-party can use it to get access to events.
7
+ * @internal
8
+ */
9
+ var LogManager = /** @class */ (function () {
10
+ function LogManager(initialHandler) {
11
+ this._shouldLogInRealTime = [];
12
+ this._handlers = [];
13
+ this._events = new CircularBuffer(LogManager._maxVerboseLog);
14
+ if (initialHandler) {
15
+ this.addHandler(initialHandler);
16
+ }
17
+ }
18
+ Object.defineProperty(LogManager, "_maxVerboseLog", {
19
+ get: function () {
20
+ return 5000;
21
+ },
22
+ enumerable: false,
23
+ configurable: true
24
+ });
25
+ Object.defineProperty(LogManager.prototype, "events", {
26
+ /**
27
+ * Event list for delayed asynchronous processing.
28
+ * Events are accumulated in CircularBuffer for processing later.
29
+ */
30
+ get: function () {
31
+ return this._events;
32
+ },
33
+ enumerable: false,
34
+ configurable: true
35
+ });
36
+ /**
37
+ * Registers an external logger to logger collection for asynchronous event logging.
38
+ * Logger is registered once.
39
+ */
40
+ LogManager.prototype.addHandler = function (handler) {
41
+ if (!this._containsHandler(handler)) {
42
+ this._handlers.push(handler);
43
+ this._shouldLogInRealTime.push(false);
44
+ }
45
+ };
46
+ /**
47
+ * Event logging operation for delayed asynchronous processing.
48
+ */
49
+ LogManager.prototype.log = function (event) {
50
+ Object.freeze(event);
51
+ this._events.push(event);
52
+ this._processLogEvent(event);
53
+ };
54
+ /**
55
+ * Removes an external logger from logger collection for asynchronous event logging.
56
+ * Logger is registered once.
57
+ */
58
+ LogManager.prototype.removeHandler = function (handler) {
59
+ var index = this._handlers.indexOf(handler);
60
+ if (index > -1) {
61
+ this._handlers.splice(index, 1);
62
+ this._shouldLogInRealTime.splice(index, 1);
63
+ }
64
+ };
65
+ /**
66
+ * Reset function clears logger collection for asynchronous event logging.
67
+ * All recorded events are purged.
68
+ */
69
+ LogManager.prototype.reset = function () {
70
+ this._handlers = [];
71
+ this._shouldLogInRealTime = [];
72
+ this._events.removeAll();
73
+ };
74
+ /**
75
+ * Processes all the buffered events using the registered handler.
76
+ */
77
+ LogManager.prototype.processAll = function (handler) {
78
+ if (this._handlers.indexOf(handler) > -1) {
79
+ this._processAllEvents(handler);
80
+ }
81
+ };
82
+ LogManager.prototype._containsHandler = function (handler) {
83
+ for (var _i = 0, _a = this._handlers; _i < _a.length; _i++) {
84
+ var existingHandler = _a[_i];
85
+ if (existingHandler === handler) {
86
+ return true;
87
+ }
88
+ }
89
+ return false;
90
+ };
91
+ LogManager.prototype._processAllEvents = function (handler) {
92
+ this._events.forEach(function (event) {
93
+ if (event) {
94
+ try {
95
+ handler(event);
96
+ }
97
+ catch (e) {
98
+ // eslint-disable-next-line no-console
99
+ console.error('failed to handle event:' + e.toString());
100
+ }
101
+ }
102
+ });
103
+ this._shouldLogInRealTime[this._handlers.indexOf(handler)] = true;
104
+ };
105
+ LogManager.prototype._processLogEvent = function (event) {
106
+ for (var i = 0; i < this._handlers.length; i++) {
107
+ if (this._shouldLogInRealTime[i] && event) {
108
+ try {
109
+ this._handlers[i](event);
110
+ }
111
+ catch (e) {
112
+ // eslint-disable-next-line no-console
113
+ console.error('failed to handle event:' + e.toString());
114
+ }
115
+ }
116
+ }
117
+ };
118
+ return LogManager;
119
+ }());
120
+ export default LogManager;
121
+ //# sourceMappingURL=LogManager.js.map
@@ -0,0 +1,24 @@
1
+ import type ILogSource from './ILogSource';
2
+ import { ServiceKey } from '@microsoft/sp-core-library';
3
+ /**
4
+ * Represents a Log entry
5
+ *
6
+ * @internal
7
+ */
8
+ export default class LogSource implements ILogSource {
9
+ private readonly _id;
10
+ /**
11
+ * Factory method to create an instance of the LogSource class
12
+ * @returns a reference to an instance of the LogSource class
13
+ */
14
+ static create(id: string): LogSource;
15
+ get id(): string;
16
+ /**
17
+ * @returns if the LogSource is empty.
18
+ */
19
+ isEmpty(): boolean;
20
+ private constructor();
21
+ }
22
+ /** @public */
23
+ export declare const logSourceServiceKey: ServiceKey<LogSource>;
24
+ //# sourceMappingURL=LogSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogSource.d.ts","sourceRoot":"","sources":["../../src/Api/LogSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAA+B,MAAM,4BAA4B,CAAC;AAErF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,UAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B;;;OAGG;WACW,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAI3C,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB,OAAO;CAKR;AAED,cAAc;AACd,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC,SAAS,CAKrD,CAAC"}
@@ -0,0 +1,40 @@
1
+ // Copyright (c) Microsoft. All rights reserved.
2
+ import { ServiceKey, Validate } from '@microsoft/sp-core-library';
3
+ /**
4
+ * Represents a Log entry
5
+ *
6
+ * @internal
7
+ */
8
+ var LogSource = /** @class */ (function () {
9
+ function LogSource(id) {
10
+ Validate.isNotNullOrUndefined(id, 'id');
11
+ this._id = id;
12
+ }
13
+ /**
14
+ * Factory method to create an instance of the LogSource class
15
+ * @returns a reference to an instance of the LogSource class
16
+ */
17
+ LogSource.create = function (id) {
18
+ return new LogSource(id);
19
+ };
20
+ Object.defineProperty(LogSource.prototype, "id", {
21
+ get: function () {
22
+ return this._id;
23
+ },
24
+ enumerable: false,
25
+ configurable: true
26
+ });
27
+ /**
28
+ * @returns if the LogSource is empty.
29
+ */
30
+ LogSource.prototype.isEmpty = function () {
31
+ return this._id.length === 0;
32
+ };
33
+ return LogSource;
34
+ }());
35
+ export default LogSource;
36
+ /** @public */
37
+ export var logSourceServiceKey = ServiceKey.createCustom('sp-client-base:LogSource', function (serviceScope) {
38
+ return LogSource.create('');
39
+ });
40
+ //# sourceMappingURL=LogSource.js.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Represents the supported log types
3
+ *
4
+ * @internal
5
+ */
6
+ declare enum LogType {
7
+ /**
8
+ * Trace level log. Use this for logging diagnostics
9
+ */
10
+ Trace = 1,
11
+ /**
12
+ * Event level log. Use this for logging usage etc
13
+ */
14
+ Event = 2,
15
+ /**
16
+ * Use for errors
17
+ */
18
+ Error = 3
19
+ }
20
+ export default LogType;
21
+ //# sourceMappingURL=LogType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogType.d.ts","sourceRoot":"","sources":["../../src/Api/LogType.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,aAAK,OAAO;IACV;;OAEG;IACH,KAAK,IAAI;IAET;;OAEG;IACH,KAAK,IAAI;IAET;;OAEG;IACH,KAAK,IAAI;CACV;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Microsoft. All rights reserved.
2
+ /**
3
+ * Represents the supported log types
4
+ *
5
+ * @internal
6
+ */
7
+ var LogType;
8
+ (function (LogType) {
9
+ /**
10
+ * Trace level log. Use this for logging diagnostics
11
+ */
12
+ LogType[LogType["Trace"] = 1] = "Trace";
13
+ /**
14
+ * Event level log. Use this for logging usage etc
15
+ */
16
+ LogType[LogType["Event"] = 2] = "Event";
17
+ /**
18
+ * Use for errors
19
+ */
20
+ LogType[LogType["Error"] = 3] = "Error";
21
+ })(LogType || (LogType = {}));
22
+ export default LogType;
23
+ //# sourceMappingURL=LogType.js.map
@@ -0,0 +1,72 @@
1
+ import QosMonitor from './QosMonitor';
2
+ /**
3
+ * Object members correspond to auto alerting monitors.
4
+ * Information about monitors: https://onedrive.visualstudio.com/WEX!/_wiki/wikis/WEX!.wiki/30583/Current-Monitors
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const AutoAlertableMonitorType: {
9
+ /**
10
+ * If QoS drops below a static threshold of 95 for a period, a sev 4 is fired.
11
+ */
12
+ readonly StaticReliabilityQos95Sev4: "StaticReliabilityQos95Sev4";
13
+ /**
14
+ * If QoS drops below some dynamic threshold "Medium" sensitivity (as defined by Geneva)
15
+ * calculated from historical monitor data, a sev 4 is fired.
16
+ */
17
+ readonly DynamicReliabilityQosMediumSev4: "DynamicReliabilityQosMediumSev4";
18
+ /**
19
+ * If the number of expected errors increases past a "High" dynamic threshold sensitivity
20
+ * (as defined by Geneva) calculated from historical monitor data OR QoS drops below some
21
+ * dynamic threshold "Medium" sensitivity, a sev 4 is fired.
22
+ */
23
+ readonly DynamicReliabilityExpectedFailureHighSev4: "DynamicReliabilityExpectedFailureHighSev4";
24
+ };
25
+ /**
26
+ * The type members represent the alerting monitors.
27
+ *
28
+ * @internal
29
+ */
30
+ export type AutoAlertableMonitorType = typeof AutoAlertableMonitorType[keyof typeof AutoAlertableMonitorType];
31
+ /**
32
+ * Qos logger which enforces using an existing altering monitor as determined by the
33
+ * AlertableMonitorType.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare class AutoAlertableQosMonitor extends QosMonitor {
38
+ private _autoAlertableMonitorType;
39
+ /**
40
+ * Creates a QoS monitor (initializes it and logs the start event) that enforces that end events
41
+ * fired include the alertableMonitorType property in extraData corresponding to the
42
+ *
43
+ * @param scenarioName - Unique name of the QoS scenario
44
+ * @param autoAlertableMonitorType - Correspond to existing alerting monitor that will track the events.
45
+ * @param copyToEngagement - Indicate whether this data should be used as Engagement as well.
46
+ */
47
+ constructor(scenarioName: string, autoAlertableMonitorType: AutoAlertableMonitorType, copyToEngagement?: boolean);
48
+ /**
49
+ * QoS monitor ends with success. Also writes AutoAlertableMonitorType to extraData.
50
+ * You will see success tag: SPPages.ScenarioName.Success
51
+ */
52
+ writeSuccess(extraData?: {
53
+ [key: string]: any;
54
+ }): void;
55
+ /**
56
+ * QoS monitor ends with failure. Also writes AutoAlertableMonitorType to extraData.
57
+ * You will see failure tag: SPPages.ScenarioName.<failuretag>.Failure.
58
+ * <failuretag> will be filled with param tagName
59
+ */
60
+ writeUnexpectedFailure(tagNameSuffix?: string, ex?: Error, extraData?: {
61
+ [key: string]: any;
62
+ }): void;
63
+ writeExpectedFailure(tagNameSuffix?: string, ex?: Error, extraData?: {
64
+ [key: string]: any;
65
+ }): void;
66
+ /**
67
+ * Gets the extraData with additional auto alertable dimensions to indicate this uses the easy
68
+ * alerting monitors.
69
+ */
70
+ private _getExtraDataWithAutoAlertableFields;
71
+ }
72
+ //# sourceMappingURL=AutoAlertableQosMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoAlertableQosMonitor.d.ts","sourceRoot":"","sources":["../../../src/Api/Qos/AutoAlertableQosMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB;IACnC;;OAEG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;CAEK,CAAC;AAEX;;;;GAIG;AAEH,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE9G;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,OAAO,CAAC,yBAAyB,CAA2B;IAE5D;;;;;;;OAOG;gBAED,YAAY,EAAE,MAAM,EACpB,wBAAwB,EAAE,wBAAwB,EAClD,gBAAgB,GAAE,OAAe;IAMnC;;;OAGG;IAEI,YAAY,CAAC,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;IAI7D;;;;OAIG;IACI,sBAAsB,CAC3B,aAAa,GAAE,MAA4B,EAC3C,EAAE,CAAC,EAAE,KAAK,EAEV,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACjC,IAAI;IASA,oBAAoB,CACzB,aAAa,GAAE,MAA0B,EACzC,EAAE,CAAC,EAAE,KAAK,EAEV,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACjC,IAAI;IAIP;;;OAGG;IAEH,OAAO,CAAC,oCAAoC;CAM7C"}
@@ -0,0 +1,93 @@
1
+ import { __extends } from "tslib";
2
+ import QosMonitor from './QosMonitor';
3
+ /**
4
+ * Object members correspond to auto alerting monitors.
5
+ * Information about monitors: https://onedrive.visualstudio.com/WEX!/_wiki/wikis/WEX!.wiki/30583/Current-Monitors
6
+ *
7
+ * @internal
8
+ */
9
+ // eslint-disable-next-line @typescript-eslint/typedef
10
+ export var AutoAlertableMonitorType = {
11
+ /**
12
+ * If QoS drops below a static threshold of 95 for a period, a sev 4 is fired.
13
+ */
14
+ StaticReliabilityQos95Sev4: 'StaticReliabilityQos95Sev4',
15
+ /**
16
+ * If QoS drops below some dynamic threshold "Medium" sensitivity (as defined by Geneva)
17
+ * calculated from historical monitor data, a sev 4 is fired.
18
+ */
19
+ DynamicReliabilityQosMediumSev4: 'DynamicReliabilityQosMediumSev4',
20
+ /**
21
+ * If the number of expected errors increases past a "High" dynamic threshold sensitivity
22
+ * (as defined by Geneva) calculated from historical monitor data OR QoS drops below some
23
+ * dynamic threshold "Medium" sensitivity, a sev 4 is fired.
24
+ */
25
+ DynamicReliabilityExpectedFailureHighSev4: 'DynamicReliabilityExpectedFailureHighSev4'
26
+ };
27
+ /**
28
+ * Qos logger which enforces using an existing altering monitor as determined by the
29
+ * AlertableMonitorType.
30
+ *
31
+ * @internal
32
+ */
33
+ var AutoAlertableQosMonitor = /** @class */ (function (_super) {
34
+ __extends(AutoAlertableQosMonitor, _super);
35
+ /**
36
+ * Creates a QoS monitor (initializes it and logs the start event) that enforces that end events
37
+ * fired include the alertableMonitorType property in extraData corresponding to the
38
+ *
39
+ * @param scenarioName - Unique name of the QoS scenario
40
+ * @param autoAlertableMonitorType - Correspond to existing alerting monitor that will track the events.
41
+ * @param copyToEngagement - Indicate whether this data should be used as Engagement as well.
42
+ */
43
+ function AutoAlertableQosMonitor(scenarioName, autoAlertableMonitorType, copyToEngagement) {
44
+ if (copyToEngagement === void 0) { copyToEngagement = false; }
45
+ var _this = _super.call(this, scenarioName, /* copyToCosmos */ false, /* copyToInterana */ copyToEngagement) || this;
46
+ _this._autoAlertableMonitorType = autoAlertableMonitorType;
47
+ return _this;
48
+ }
49
+ /**
50
+ * QoS monitor ends with success. Also writes AutoAlertableMonitorType to extraData.
51
+ * You will see success tag: SPPages.ScenarioName.Success
52
+ */
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ AutoAlertableQosMonitor.prototype.writeSuccess = function (extraData) {
55
+ _super.prototype.writeSuccess.call(this, this._getExtraDataWithAutoAlertableFields(extraData));
56
+ };
57
+ /**
58
+ * QoS monitor ends with failure. Also writes AutoAlertableMonitorType to extraData.
59
+ * You will see failure tag: SPPages.ScenarioName.<failuretag>.Failure.
60
+ * <failuretag> will be filled with param tagName
61
+ */
62
+ AutoAlertableQosMonitor.prototype.writeUnexpectedFailure = function (tagNameSuffix, ex,
63
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
+ extraData) {
65
+ if (tagNameSuffix === void 0) { tagNameSuffix = 'DefaultUnexpected'; }
66
+ _super.prototype.writeUnexpectedFailure.call(this, tagNameSuffix, ex, this._getExtraDataWithAutoAlertableFields(extraData));
67
+ };
68
+ /*
69
+ * QoS monitor ends with expected failure. Also writes AutoAlertableMonitorType to extraData.
70
+ * You will see success tag: ModernPublish.RenderPublishPage.<failuretag>.ExpectedFailure.
71
+ * <failuretag> will be filled with param tagName
72
+ */
73
+ AutoAlertableQosMonitor.prototype.writeExpectedFailure = function (tagNameSuffix, ex,
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ extraData) {
76
+ if (tagNameSuffix === void 0) { tagNameSuffix = 'DefaultExpected'; }
77
+ _super.prototype.writeExpectedFailure.call(this, tagNameSuffix, ex, this._getExtraDataWithAutoAlertableFields(extraData));
78
+ };
79
+ /**
80
+ * Gets the extraData with additional auto alertable dimensions to indicate this uses the easy
81
+ * alerting monitors.
82
+ */
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
+ AutoAlertableQosMonitor.prototype._getExtraDataWithAutoAlertableFields = function (extraData) {
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ var returnedExtraData = extraData !== null && extraData !== void 0 ? extraData : {};
87
+ returnedExtraData.autoAlertableMonitorType = AutoAlertableMonitorType[this._autoAlertableMonitorType];
88
+ return returnedExtraData;
89
+ };
90
+ return AutoAlertableQosMonitor;
91
+ }(QosMonitor));
92
+ export { AutoAlertableQosMonitor };
93
+ //# sourceMappingURL=AutoAlertableQosMonitor.js.map
@@ -0,0 +1,39 @@
1
+ import type { PageType } from '../../../extraData/PageType';
2
+ import type { QosResultType } from '../QosResultType';
3
+ import type { _VetoValues } from '@microsoft/sp-core-library';
4
+ /**
5
+ * Details about the failure Edit Mode Customer Promise records
6
+ * @internal
7
+ */
8
+ export interface ICustomerPromiseErrorDetails {
9
+ /**
10
+ * Error code to track where failure happens.
11
+ */
12
+ errorCode: string;
13
+ /**
14
+ * Additional error details describing the failure.
15
+ */
16
+ errorMessage: string;
17
+ /**
18
+ * Information to indicate which scenario failed for the module listed in errorCode .
19
+ * eg: EventDidNotExist, OneTimeFailure
20
+ */
21
+ errorScenario: string;
22
+ /**
23
+ * Error call stack information
24
+ */
25
+ errorStack?: string;
26
+ /**
27
+ * Page type to be passed to help with log inference
28
+ */
29
+ pageType?: PageType;
30
+ /**
31
+ * ResultTypeEnum used to indicate expected or unexpected failure.
32
+ */
33
+ resultType?: QosResultType;
34
+ /**
35
+ * veto field for ASHA compatibity
36
+ */
37
+ veto?: _VetoValues;
38
+ }
39
+ //# sourceMappingURL=ICustomerPromiseErrorDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICustomerPromiseErrorDetails.d.ts","sourceRoot":"","sources":["../../../../src/Api/Qos/CustomerPromiseInterfaces/ICustomerPromiseErrorDetails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ICustomerPromiseErrorDetails.js.map
@@ -0,0 +1,12 @@
1
+ import type { ICustomerPromiseErrorDetails } from './ICustomerPromiseErrorDetails';
2
+ import type { _VetoValues } from '@microsoft/sp-core-library';
3
+ /**
4
+ * IExtraDataForCustomerPromise Interface which describes additional data to log customer promise failures from QoS.
5
+ * @internal
6
+ */
7
+ export interface IExtraDataForCustomerPromise {
8
+ errorModuleName: string;
9
+ logFailure: (errorDetails: ICustomerPromiseErrorDetails) => void;
10
+ veto?: _VetoValues;
11
+ }
12
+ //# sourceMappingURL=IExtraDataForCustomerPromise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IExtraDataForCustomerPromise.d.ts","sourceRoot":"","sources":["../../../../src/Api/Qos/CustomerPromiseInterfaces/IExtraDataForCustomerPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,CAAC,YAAY,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACjE,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IExtraDataForCustomerPromise.js.map
@@ -0,0 +1,17 @@
1
+ import type { IQosEndSchema } from '@msinternal/odsp-core-bundle';
2
+ import type { QosResultType } from './QosResultType';
3
+ /**
4
+ * Interface for Qos internal object
5
+ * @internal
6
+ */
7
+ export interface IQos {
8
+ data: {
9
+ extraData?: unknown;
10
+ name?: string;
11
+ resultCode?: string;
12
+ resultType: QosResultType;
13
+ };
14
+ shortEventName: string;
15
+ end(event: IQosEndSchema): void;
16
+ }
17
+ //# sourceMappingURL=IQos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IQos.d.ts","sourceRoot":"","sources":["../../../src/Api/Qos/IQos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE;QACJ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,aAAa,CAAC;KAC3B,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IQos.js.map
@@ -0,0 +1,13 @@
1
+ import type { QosResultType } from './QosResultType';
2
+ import type { IPrivacyData } from '@msinternal/odsp-core-bundle';
3
+ /**
4
+ * IQosEndEvent interface.
5
+ * @internal
6
+ */
7
+ export interface IQosEndEvent {
8
+ resultCode?: string;
9
+ resultType: QosResultType;
10
+ error?: string | IPrivacyData<string>;
11
+ extraData?: object;
12
+ }
13
+ //# sourceMappingURL=IQosEndEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IQosEndEvent.d.ts","sourceRoot":"","sources":["../../../src/Api/Qos/IQosEndEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IQosEndEvent.js.map
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Interface for SPFx QoS extraData field.
3
+ * This provides schema validation through the interface to consolidate all extra data in a known set of fields.
4
+ *
5
+ * @remarks
6
+ * The goal of this interface is to provide a comprehensive list of extra data fields and encourage re-use, even if
7
+ * it's used in a different context.
8
+ *
9
+ * @internal
10
+ */
11
+ export interface IQosExtraData {
12
+ /**
13
+ * Component id. This should be a Guid value.
14
+ */
15
+ manifestId?: string;
16
+ /**
17
+ * Component version. This should be a string that matches with sp-core-library Version definition.
18
+ */
19
+ version?: string;
20
+ /**
21
+ * Component alias.
22
+ */
23
+ alias?: string;
24
+ /**
25
+ * True if the component is a first-party component.
26
+ */
27
+ isInternal?: boolean;
28
+ /**
29
+ * Name. Its meaning can change depending on the context of the QoS monitor.
30
+ *
31
+ * Usage:
32
+ * SPComponentLoader.loadPathDependency: Resource name (path dependency) being loaded.
33
+ */
34
+ name?: string;
35
+ /**
36
+ * True if the event is intentional
37
+ */
38
+ isIntentional?: boolean;
39
+ /**
40
+ * True if the component in the operation comes from a debug manifest.
41
+ * Usage: SPComponentLoader.loadComponent
42
+ */
43
+ isDebug?: boolean;
44
+ /**
45
+ * Loader used in the operation. Currently it can be "systemjs" or "requirejs"
46
+ * Usage: SPComponentLoader.loadComponent
47
+ */
48
+ loader?: string;
49
+ }
50
+ //# sourceMappingURL=IQosExtraData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IQosExtraData.d.ts","sourceRoot":"","sources":["../../../src/Api/Qos/IQosExtraData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAG5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAMxB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAGjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IQosExtraData.js.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * IQosStartEvent interface.
3
+ * @internal
4
+ */
5
+ export interface IQosStartEvent {
6
+ name: string;
7
+ }
8
+ //# sourceMappingURL=IQosStartEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IQosStartEvent.d.ts","sourceRoot":"","sources":["../../../src/Api/Qos/IQosStartEvent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IQosStartEvent.js.map