@abyss-project/monitor 11.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/api/error-group.api.d.ts +3 -1
  2. package/dist/api/error-group.api.js +9 -1
  3. package/dist/api/error-group.api.js.map +1 -1
  4. package/dist/api/index.d.ts +9 -0
  5. package/dist/api/index.js +9 -0
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/rum-countries.api.d.ts +2 -0
  8. package/dist/api/rum-countries.api.js +9 -0
  9. package/dist/api/rum-countries.api.js.map +1 -0
  10. package/dist/api/rum-csp.api.d.ts +2 -0
  11. package/dist/api/rum-csp.api.js +9 -0
  12. package/dist/api/rum-csp.api.js.map +1 -0
  13. package/dist/api/rum-deployments.api.d.ts +3 -0
  14. package/dist/api/rum-deployments.api.js +13 -0
  15. package/dist/api/rum-deployments.api.js.map +1 -0
  16. package/dist/api/rum-explorer.api.d.ts +2 -0
  17. package/dist/api/rum-explorer.api.js +9 -0
  18. package/dist/api/rum-explorer.api.js.map +1 -0
  19. package/dist/api/rum-feedbacks.api.d.ts +5 -0
  20. package/dist/api/rum-feedbacks.api.js +21 -0
  21. package/dist/api/rum-feedbacks.api.js.map +1 -0
  22. package/dist/api/rum-frustrations.api.d.ts +2 -0
  23. package/dist/api/rum-frustrations.api.js +9 -0
  24. package/dist/api/rum-frustrations.api.js.map +1 -0
  25. package/dist/api/rum-read.api.d.ts +13 -0
  26. package/dist/api/rum-read.api.js +53 -0
  27. package/dist/api/rum-read.api.js.map +1 -0
  28. package/dist/api/rum-socket-messages.api.d.ts +5 -0
  29. package/dist/api/rum-socket-messages.api.js +21 -0
  30. package/dist/api/rum-socket-messages.api.js.map +1 -0
  31. package/dist/api/rum-vitals.api.d.ts +3 -0
  32. package/dist/api/rum-vitals.api.js +13 -0
  33. package/dist/api/rum-vitals.api.js.map +1 -0
  34. package/dist/frameworks/express/rum-proxy.js +1 -1
  35. package/dist/frameworks/express/rum-proxy.js.map +1 -1
  36. package/dist/index.d.ts +57 -0
  37. package/dist/index.js +57 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/mcp/monitor-mcp-tool.types.d.ts +110 -2
  40. package/dist/mcp/monitor-mcp-tool.types.js +3 -0
  41. package/dist/mcp/monitor-mcp-tool.types.js.map +1 -1
  42. package/dist/mcp/monitor-mcp-tools.d.ts +5 -0
  43. package/dist/mcp/monitor-mcp-tools.js +138 -1
  44. package/dist/mcp/monitor-mcp-tools.js.map +1 -1
  45. package/dist/rules/condition.bounds.d.ts +4 -1
  46. package/dist/rules/condition.bounds.js +31 -5
  47. package/dist/rules/condition.bounds.js.map +1 -1
  48. package/dist/rules/condition.parser.js +12 -0
  49. package/dist/rules/condition.parser.js.map +1 -1
  50. package/dist/rules/condition.printer.js +4 -0
  51. package/dist/rules/condition.printer.js.map +1 -1
  52. package/dist/rules/condition.types.d.ts +4 -1
  53. package/dist/rules/condition.types.js +1 -0
  54. package/dist/rules/condition.types.js.map +1 -1
  55. package/dist/rules/index.d.ts +1 -0
  56. package/dist/rules/index.js +1 -0
  57. package/dist/rules/index.js.map +1 -1
  58. package/dist/rules/rum-metric.bounds.d.ts +9 -0
  59. package/dist/rules/rum-metric.bounds.js +13 -0
  60. package/dist/rules/rum-metric.bounds.js.map +1 -0
  61. package/dist/rum/index.d.ts +1 -0
  62. package/dist/rum/index.js +1 -0
  63. package/dist/rum/index.js.map +1 -1
  64. package/dist/rum/rum-batch.types.d.ts +8 -1
  65. package/dist/rum/rum.enums.d.ts +7 -1
  66. package/dist/rum/rum.enums.js +8 -1
  67. package/dist/rum/rum.enums.js.map +1 -1
  68. package/dist/rum/vitals-thresholds.d.ts +15 -0
  69. package/dist/rum/vitals-thresholds.js +38 -0
  70. package/dist/rum/vitals-thresholds.js.map +1 -0
  71. package/dist/texts/report-texts.js +4 -0
  72. package/dist/texts/report-texts.js.map +1 -1
  73. package/dist/types/enum/alert-rule-evaluation.enum.d.ts +2 -1
  74. package/dist/types/enum/alert-rule-evaluation.enum.js +1 -0
  75. package/dist/types/enum/alert-rule-evaluation.enum.js.map +1 -1
  76. package/dist/types/enum/alert-rule-field.enum.d.ts +2 -1
  77. package/dist/types/enum/alert-rule-field.enum.js +1 -0
  78. package/dist/types/enum/alert-rule-field.enum.js.map +1 -1
  79. package/dist/types/enum/api-error.enum.d.ts +4 -0
  80. package/dist/types/enum/api-error.enum.js +4 -0
  81. package/dist/types/enum/api-error.enum.js.map +1 -1
  82. package/dist/types/enum/incident-source.enum.d.ts +2 -1
  83. package/dist/types/enum/incident-source.enum.js +1 -0
  84. package/dist/types/enum/incident-source.enum.js.map +1 -1
  85. package/dist/types/enum/index.d.ts +6 -0
  86. package/dist/types/enum/index.js +6 -0
  87. package/dist/types/enum/index.js.map +1 -1
  88. package/dist/types/enum/monitor-report-block.enum.d.ts +2 -1
  89. package/dist/types/enum/monitor-report-block.enum.js +2 -0
  90. package/dist/types/enum/monitor-report-block.enum.js.map +1 -1
  91. package/dist/types/enum/report-absent-source.enum.js.map +1 -1
  92. package/dist/types/enum/report-block-reason.enum.d.ts +2 -1
  93. package/dist/types/enum/report-block-reason.enum.js +1 -0
  94. package/dist/types/enum/report-block-reason.enum.js.map +1 -1
  95. package/dist/types/enum/rum-alert-metric.enum.d.ts +6 -0
  96. package/dist/types/enum/rum-alert-metric.enum.js +11 -0
  97. package/dist/types/enum/rum-alert-metric.enum.js.map +1 -0
  98. package/dist/types/enum/rum-deployment.enum.d.ts +14 -0
  99. package/dist/types/enum/rum-deployment.enum.js +20 -0
  100. package/dist/types/enum/rum-deployment.enum.js.map +1 -0
  101. package/dist/types/enum/rum-explorer.enum.d.ts +46 -0
  102. package/dist/types/enum/rum-explorer.enum.js +57 -0
  103. package/dist/types/enum/rum-explorer.enum.js.map +1 -0
  104. package/dist/types/enum/rum-read.enum.d.ts +25 -0
  105. package/dist/types/enum/rum-read.enum.js +33 -0
  106. package/dist/types/enum/rum-read.enum.js.map +1 -0
  107. package/dist/types/enum/rum-socket-messages.enum.d.ts +6 -0
  108. package/dist/types/enum/rum-socket-messages.enum.js +11 -0
  109. package/dist/types/enum/rum-socket-messages.enum.js.map +1 -0
  110. package/dist/types/enum/rum-vitals-breakdown.enum.d.ts +10 -0
  111. package/dist/types/enum/rum-vitals-breakdown.enum.js +16 -0
  112. package/dist/types/enum/rum-vitals-breakdown.enum.js.map +1 -0
  113. package/dist/types/interface/api/index.d.ts +18 -0
  114. package/dist/types/interface/api/index.js +18 -0
  115. package/dist/types/interface/api/index.js.map +1 -1
  116. package/dist/types/interface/api/requests/alert-rule.request.d.ts +3 -2
  117. package/dist/types/interface/api/requests/application-environment-rum.request.d.ts +2 -0
  118. package/dist/types/interface/api/requests/error-group.request.d.ts +14 -1
  119. package/dist/types/interface/api/requests/rum-countries.request.d.ts +11 -0
  120. package/dist/types/interface/api/requests/rum-countries.request.js +3 -0
  121. package/dist/types/interface/api/requests/rum-countries.request.js.map +1 -0
  122. package/dist/types/interface/api/requests/rum-csp.request.d.ts +13 -0
  123. package/dist/types/interface/api/requests/rum-csp.request.js +3 -0
  124. package/dist/types/interface/api/requests/rum-csp.request.js.map +1 -0
  125. package/dist/types/interface/api/requests/rum-deployments.request.d.ts +16 -0
  126. package/dist/types/interface/api/requests/rum-deployments.request.js +3 -0
  127. package/dist/types/interface/api/requests/rum-deployments.request.js.map +1 -0
  128. package/dist/types/interface/api/requests/rum-explorer.request.d.ts +26 -0
  129. package/dist/types/interface/api/requests/rum-explorer.request.js +3 -0
  130. package/dist/types/interface/api/requests/rum-explorer.request.js.map +1 -0
  131. package/dist/types/interface/api/requests/rum-feedbacks.request.d.ts +25 -0
  132. package/dist/types/interface/api/requests/rum-feedbacks.request.js +3 -0
  133. package/dist/types/interface/api/requests/rum-feedbacks.request.js.map +1 -0
  134. package/dist/types/interface/api/requests/rum-frustrations.request.d.ts +12 -0
  135. package/dist/types/interface/api/requests/rum-frustrations.request.js +3 -0
  136. package/dist/types/interface/api/requests/rum-frustrations.request.js.map +1 -0
  137. package/dist/types/interface/api/requests/rum-read.request.d.ts +109 -0
  138. package/dist/types/interface/api/requests/rum-read.request.js +8 -0
  139. package/dist/types/interface/api/requests/rum-read.request.js.map +1 -0
  140. package/dist/types/interface/api/requests/rum-socket-messages.request.d.ts +54 -0
  141. package/dist/types/interface/api/requests/rum-socket-messages.request.js +9 -0
  142. package/dist/types/interface/api/requests/rum-socket-messages.request.js.map +1 -0
  143. package/dist/types/interface/api/requests/rum-vitals.request.d.ts +27 -0
  144. package/dist/types/interface/api/requests/rum-vitals.request.js +3 -0
  145. package/dist/types/interface/api/requests/rum-vitals.request.js.map +1 -0
  146. package/dist/types/interface/api/responses/error-group.response.d.ts +15 -0
  147. package/dist/types/interface/api/responses/rum-countries.response.d.ts +20 -0
  148. package/dist/types/interface/api/responses/rum-countries.response.js +3 -0
  149. package/dist/types/interface/api/responses/rum-countries.response.js.map +1 -0
  150. package/dist/types/interface/api/responses/rum-csp.response.d.ts +11 -0
  151. package/dist/types/interface/api/responses/rum-csp.response.js +3 -0
  152. package/dist/types/interface/api/responses/rum-csp.response.js.map +1 -0
  153. package/dist/types/interface/api/responses/rum-deployments.response.d.ts +41 -0
  154. package/dist/types/interface/api/responses/rum-deployments.response.js +3 -0
  155. package/dist/types/interface/api/responses/rum-deployments.response.js.map +1 -0
  156. package/dist/types/interface/api/responses/rum-explorer.response.d.ts +15 -0
  157. package/dist/types/interface/api/responses/rum-explorer.response.js +3 -0
  158. package/dist/types/interface/api/responses/rum-explorer.response.js.map +1 -0
  159. package/dist/types/interface/api/responses/rum-feedbacks.response.d.ts +28 -0
  160. package/dist/types/interface/api/responses/rum-feedbacks.response.js +3 -0
  161. package/dist/types/interface/api/responses/rum-feedbacks.response.js.map +1 -0
  162. package/dist/types/interface/api/responses/rum-frustrations.response.d.ts +12 -0
  163. package/dist/types/interface/api/responses/rum-frustrations.response.js +3 -0
  164. package/dist/types/interface/api/responses/rum-frustrations.response.js.map +1 -0
  165. package/dist/types/interface/api/responses/rum-read.response.d.ts +179 -0
  166. package/dist/types/interface/api/responses/rum-read.response.js +3 -0
  167. package/dist/types/interface/api/responses/rum-read.response.js.map +1 -0
  168. package/dist/types/interface/api/responses/rum-socket-messages.response.d.ts +76 -0
  169. package/dist/types/interface/api/responses/rum-socket-messages.response.js +3 -0
  170. package/dist/types/interface/api/responses/rum-socket-messages.response.js.map +1 -0
  171. package/dist/types/interface/api/responses/rum-vitals.response.d.ts +61 -0
  172. package/dist/types/interface/api/responses/rum-vitals.response.js +3 -0
  173. package/dist/types/interface/api/responses/rum-vitals.response.js.map +1 -0
  174. package/dist/types/interface/index.d.ts +2 -0
  175. package/dist/types/interface/index.js +2 -0
  176. package/dist/types/interface/index.js.map +1 -1
  177. package/dist/types/interface/models/application-environment-rum-settings.model.d.ts +2 -0
  178. package/dist/types/interface/models/monitor-alert-rule.model.d.ts +25 -1
  179. package/dist/types/interface/models/monitor-error-group.model.d.ts +2 -1
  180. package/dist/types/interface/models/rum-feedback.model.d.ts +2 -0
  181. package/dist/types/interface/models/rum-frustration.model.d.ts +16 -0
  182. package/dist/types/interface/models/rum-frustration.model.js +3 -0
  183. package/dist/types/interface/models/rum-frustration.model.js.map +1 -0
  184. package/dist/types/interface/models/rum-long-task.model.d.ts +12 -0
  185. package/dist/types/interface/models/rum-long-task.model.js +3 -0
  186. package/dist/types/interface/models/rum-long-task.model.js.map +1 -0
  187. package/dist/types/interface/models/rum-page-view.model.d.ts +3 -1
  188. package/dist/types/interface/models/rum-saved-view.model.d.ts +5 -0
  189. package/dist/utils/error-report/report-optimizer.js +3 -2
  190. package/dist/utils/error-report/report-optimizer.js.map +1 -1
  191. package/dist/utils/index.d.ts +2 -0
  192. package/dist/utils/index.js +2 -0
  193. package/dist/utils/index.js.map +1 -1
  194. package/dist/utils/rum-deployment-regression.d.ts +7 -0
  195. package/dist/utils/rum-deployment-regression.js +28 -0
  196. package/dist/utils/rum-deployment-regression.js.map +1 -0
  197. package/dist/utils/rum-explorer-fields.d.ts +18 -0
  198. package/dist/utils/rum-explorer-fields.js +137 -0
  199. package/dist/utils/rum-explorer-fields.js.map +1 -0
  200. package/package.json +1 -1
@@ -0,0 +1,179 @@
1
+ import { IResponse } from '..';
2
+ import { RumAttributeValues } from '../../../../rum/rum-batch.types';
3
+ import { RumConsoleLevel, RumCspDisposition, RumDeviceType, RumFrustrationType, RumNavigationType, RumRequestKind, RumRequestOutcome } from '../../../../rum/rum.enums';
4
+ import { LogLevel, RumFeedbackStatus, RumTimelineEntryKind } from '../../../enum';
5
+ import { IRumRequest } from '../../models/rum-request.model';
6
+ import { IRumSavedView } from '../../models/rum-saved-view.model';
7
+ export interface IRumSessionListItem {
8
+ id: string;
9
+ environment: string;
10
+ release: string | null;
11
+ startedAt: Date;
12
+ lastSeenAt: Date;
13
+ closedAt: Date | null;
14
+ durationMs: number;
15
+ entryPath: string;
16
+ pageViewCount: number;
17
+ requestCount: number;
18
+ errorCount: number;
19
+ failedRequestCount: number;
20
+ frustrationCount: number;
21
+ country: string | null;
22
+ browserFamily: string | null;
23
+ browserMajor: string | null;
24
+ osFamily: string | null;
25
+ deviceType: RumDeviceType | null;
26
+ sampled: boolean;
27
+ hasReplay: boolean;
28
+ attributes: RumAttributeValues;
29
+ featureFlags: RumAttributeValues;
30
+ eventBytes: number;
31
+ socketMessageBytes: number;
32
+ replayBytes: number;
33
+ totalBytes: number;
34
+ serverLogBytes: number;
35
+ pinnedAt: Date | null;
36
+ currentRoute: string;
37
+ live: boolean;
38
+ }
39
+ export interface IRumSessionPage {
40
+ items: IRumSessionListItem[];
41
+ nextCursor: string | null;
42
+ }
43
+ export type IPaginateRumSessionsResponse = IResponse<IRumSessionPage>;
44
+ export interface IRumSessionKeys {
45
+ attributeKeys: string[];
46
+ featureFlagKeys: string[];
47
+ }
48
+ export type IGetRumSessionKeysResponse = IResponse<IRumSessionKeys>;
49
+ interface IRumTimelineEntryBase {
50
+ id: string;
51
+ at: Date;
52
+ offsetMs: number;
53
+ pageViewId: string | null;
54
+ }
55
+ export interface IRumTimelinePageView extends IRumTimelineEntryBase {
56
+ kind: RumTimelineEntryKind.PAGE_VIEW;
57
+ route: string;
58
+ referrerRoute: string | null;
59
+ durationMs: number | null;
60
+ navigationType: RumNavigationType;
61
+ lcpMs: number | null;
62
+ inpMs: number | null;
63
+ cls: number | null;
64
+ longTaskCount: number;
65
+ }
66
+ export interface IRumTimelineRequest extends IRumTimelineEntryBase {
67
+ kind: RumTimelineEntryKind.REQUEST;
68
+ requestKind: RumRequestKind;
69
+ method: string;
70
+ urlHost: string;
71
+ urlPath: string;
72
+ status: number | null;
73
+ outcome: RumRequestOutcome;
74
+ durationMs: number | null;
75
+ requestId: string | null;
76
+ instrumented: boolean;
77
+ serverLogId: string | null;
78
+ connectMs: number | null;
79
+ closeCode: number | null;
80
+ messagesIn: number | null;
81
+ messagesOut: number | null;
82
+ bytesIn: number | null;
83
+ bytesOut: number | null;
84
+ reconnectCount: number | null;
85
+ }
86
+ export interface IRumTimelineLog extends IRumTimelineEntryBase {
87
+ kind: RumTimelineEntryKind.JS_ERROR | RumTimelineEntryKind.SERVER_LOG;
88
+ level: LogLevel;
89
+ message: string;
90
+ context: string | null;
91
+ scenario: string | null;
92
+ requestId: string | null;
93
+ errorGroupId: string | null;
94
+ route: string | null;
95
+ }
96
+ export interface IRumTimelineConsole extends IRumTimelineEntryBase {
97
+ kind: RumTimelineEntryKind.CONSOLE;
98
+ level: RumConsoleLevel;
99
+ message: string;
100
+ }
101
+ export interface IRumTimelineCspViolation extends IRumTimelineEntryBase {
102
+ kind: RumTimelineEntryKind.CSP_VIOLATION;
103
+ effectiveDirective: string;
104
+ blockedUri: string | null;
105
+ disposition: RumCspDisposition;
106
+ }
107
+ export interface IRumTimelineAction extends IRumTimelineEntryBase {
108
+ kind: RumTimelineEntryKind.ACTION;
109
+ name: string;
110
+ attributes: RumAttributeValues;
111
+ }
112
+ export interface IRumTimelineFeedback extends IRumTimelineEntryBase {
113
+ kind: RumTimelineEntryKind.FEEDBACK;
114
+ message: string;
115
+ route: string;
116
+ status: RumFeedbackStatus;
117
+ }
118
+ export interface IRumTimelineFrustration extends IRumTimelineEntryBase {
119
+ kind: RumTimelineEntryKind.FRUSTRATION;
120
+ frustrationType: RumFrustrationType;
121
+ route: string;
122
+ elementTag: string;
123
+ elementTestId: string | null;
124
+ elementAriaLabel: string | null;
125
+ }
126
+ export interface IRumTimelineLongTask extends IRumTimelineEntryBase {
127
+ kind: RumTimelineEntryKind.LONG_TASK;
128
+ route: string;
129
+ durationMs: number;
130
+ }
131
+ export type IRumTimelineEntry = IRumTimelinePageView | IRumTimelineRequest | IRumTimelineLog | IRumTimelineConsole | IRumTimelineCspViolation | IRumTimelineAction | IRumTimelineFeedback | IRumTimelineFrustration | IRumTimelineLongTask;
132
+ export interface IRumSessionDetail {
133
+ session: IRumSessionListItem;
134
+ timeline: IRumTimelineEntry[];
135
+ focusIndex: number | null;
136
+ nextSince: Date | null;
137
+ }
138
+ export type IGetRumSessionResponse = IResponse<IRumSessionDetail>;
139
+ export interface IRumLiveSessionCount {
140
+ count: number;
141
+ }
142
+ export type IGetRumLiveSessionCountResponse = IResponse<IRumLiveSessionCount>;
143
+ export interface IRumLiveRoute {
144
+ route: string;
145
+ liveSessionCount: number;
146
+ errorCount: number;
147
+ frustrationCount: number;
148
+ pageViewCount: number;
149
+ p75LcpMs: number | null;
150
+ }
151
+ export type IGetRumLiveRoutesResponse = IResponse<IRumLiveRoute[]>;
152
+ export type IRumRequestListItem = Omit<IRumRequest, 'dateValue' | 'applicationId'>;
153
+ export interface IRumRequestPage {
154
+ items: IRumRequestListItem[];
155
+ nextCursor: string | null;
156
+ }
157
+ export type IPaginateRumRequestsResponse = IResponse<IRumRequestPage>;
158
+ export interface IRumRequestAggregateRow {
159
+ urlHost: string;
160
+ urlPath: string;
161
+ method: string;
162
+ count: number;
163
+ failureCount: number;
164
+ failureRate: number;
165
+ p75DurationMs: number | null;
166
+ outcomes: Partial<Record<RumRequestOutcome, number>>;
167
+ }
168
+ export type IAggregateRumRequestsResponse = IResponse<IRumRequestAggregateRow[]>;
169
+ export interface IRumSavedViewItem extends IRumSavedView {
170
+ mine: boolean;
171
+ }
172
+ export type IListRumSavedViewsResponse = IResponse<IRumSavedViewItem[]>;
173
+ export type IListPinnedRumSavedViewsResponse = IResponse<IRumSavedViewItem[]>;
174
+ export type ICreateRumSavedViewResponse = IResponse<IRumSavedViewItem>;
175
+ export type IUpdateRumSavedViewResponse = IResponse<IRumSavedViewItem>;
176
+ export type IDeleteRumSavedViewResponse = IResponse<{
177
+ id: string;
178
+ }>;
179
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rum-read.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-read.response.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/rum-read.response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import { IResponse } from '..';
2
+ import { RumRequestOutcome, RumSocketBinaryType, RumSocketDirection } from '../../../../rum/rum.enums';
3
+ import { RumSocketAnomalyKind } from '../../../enum';
4
+ import { RumSocketConnectionKind } from '../requests/rum-socket-messages.request';
5
+ export interface IRumSocketConnectionItem {
6
+ id: string;
7
+ environment: string;
8
+ sessionId: string;
9
+ kind: RumSocketConnectionKind;
10
+ urlHost: string;
11
+ urlPath: string;
12
+ startedAt: Date;
13
+ sessionOffsetMs: number;
14
+ durationMs: number | null;
15
+ connectMs: number | null;
16
+ outcome: RumRequestOutcome;
17
+ closeCode: number | null;
18
+ closeReason: string | null;
19
+ abnormalClose: boolean;
20
+ messagesIn: number | null;
21
+ messagesOut: number | null;
22
+ bytesIn: number | null;
23
+ bytesOut: number | null;
24
+ reconnectCount: number | null;
25
+ droppedMessages: number | null;
26
+ storedMessageCount: number;
27
+ }
28
+ export interface IRumSocketConnectionPage {
29
+ items: IRumSocketConnectionItem[];
30
+ nextCursor: string | null;
31
+ }
32
+ export type IPaginateRumSocketConnectionsResponse = IResponse<IRumSocketConnectionPage>;
33
+ export interface IRumSocketMessageItem {
34
+ id: string;
35
+ connectionId: string;
36
+ sessionId: string;
37
+ direction: RumSocketDirection;
38
+ occurredAt: Date;
39
+ offsetMs: number;
40
+ sizeBytes: number;
41
+ truncated: boolean;
42
+ eventName: string | null;
43
+ eventId: string | null;
44
+ binaryType: RumSocketBinaryType | null;
45
+ payload: string | null;
46
+ json: boolean;
47
+ }
48
+ export interface IRumSocketMessageSearchItem extends IRumSocketMessageItem {
49
+ connectionKind: RumSocketConnectionKind | null;
50
+ urlHost: string | null;
51
+ urlPath: string | null;
52
+ }
53
+ export interface IRumSocketAnomaly {
54
+ kind: RumSocketAnomalyKind;
55
+ id: string;
56
+ at: Date;
57
+ offsetMs: number;
58
+ label: string;
59
+ }
60
+ export interface IRumSocketConnectionMessages {
61
+ connection: IRumSocketConnectionItem;
62
+ anomalies: IRumSocketAnomaly[];
63
+ items: IRumSocketMessageItem[];
64
+ nextCursor: string | null;
65
+ }
66
+ export type IGetRumSocketConnectionMessagesResponse = IResponse<IRumSocketConnectionMessages>;
67
+ export interface IRumSocketMessagePage {
68
+ items: IRumSocketMessageItem[];
69
+ nextCursor: string | null;
70
+ }
71
+ export type IGetRumSessionSocketMessagesResponse = IResponse<IRumSocketMessagePage>;
72
+ export interface IRumSocketMessageSearchPage {
73
+ items: IRumSocketMessageSearchItem[];
74
+ nextCursor: string | null;
75
+ }
76
+ export type ISearchRumSocketMessagesResponse = IResponse<IRumSocketMessageSearchPage>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rum-socket-messages.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-socket-messages.response.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/rum-socket-messages.response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { IResponse } from '..';
2
+ import { RumTimingKind } from '../../../../rum/rum.enums';
3
+ import { RumTimingsBreakdown, RumVitalsBreakdown } from '../../../enum';
4
+ export interface IRumVitalsPercentiles {
5
+ lcpMs: number | null;
6
+ inpMs: number | null;
7
+ cls: number | null;
8
+ fcpMs: number | null;
9
+ ttfbMs: number | null;
10
+ pageViewCount: number;
11
+ }
12
+ export interface IRumVitalsDay extends IRumVitalsPercentiles {
13
+ day: string;
14
+ }
15
+ export interface IRumVitalsBreakdownRow extends IRumVitalsPercentiles {
16
+ key: string | null;
17
+ longTaskCount: number;
18
+ longTaskTotalMs: number;
19
+ }
20
+ export interface IRumLoadPhases {
21
+ dnsMs: number | null;
22
+ tcpMs: number | null;
23
+ tlsMs: number | null;
24
+ requestMs: number | null;
25
+ responseMs: number | null;
26
+ domProcessingMs: number | null;
27
+ }
28
+ export interface IGetRumVitalsData {
29
+ summary: IRumVitalsPercentiles;
30
+ previousSummary: IRumVitalsPercentiles;
31
+ daily: IRumVitalsDay[];
32
+ breakdown: {
33
+ dimension: RumVitalsBreakdown;
34
+ flagKey?: string;
35
+ rows: IRumVitalsBreakdownRow[];
36
+ };
37
+ loadPhases: IRumLoadPhases;
38
+ }
39
+ export type IGetRumVitalsResponse = IResponse<IGetRumVitalsData>;
40
+ export interface IRumTimingAggregate {
41
+ name: string;
42
+ kind: RumTimingKind;
43
+ p75Ms: number;
44
+ p95Ms: number;
45
+ count: number;
46
+ }
47
+ export interface IRumTimingDay extends IRumTimingAggregate {
48
+ day: string;
49
+ }
50
+ export interface IRumTimingBreakdownRow extends IRumTimingAggregate {
51
+ key: string | null;
52
+ }
53
+ export interface IGetRumTimingsData {
54
+ measures: IRumTimingAggregate[];
55
+ daily: IRumTimingDay[];
56
+ breakdown: {
57
+ dimension: RumTimingsBreakdown;
58
+ rows: IRumTimingBreakdownRow[];
59
+ };
60
+ }
61
+ export type IGetRumTimingsResponse = IResponse<IGetRumTimingsData>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rum-vitals.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-vitals.response.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/rum-vitals.response.ts"],"names":[],"mappings":""}
@@ -35,6 +35,8 @@ export * from './models/rum-custom-timing.model';
35
35
  export * from './models/rum-csp-violation.model';
36
36
  export * from './models/rum-socket-message.model';
37
37
  export * from './models/rum-feedback.model';
38
+ export * from './models/rum-frustration.model';
39
+ export * from './models/rum-long-task.model';
38
40
  export * from './models/rum-saved-view.model';
39
41
  export * from './models/source-map-artifact.model';
40
42
  export * from './models/monitor-audit-event.model';
@@ -51,6 +51,8 @@ __exportStar(require("./models/rum-custom-timing.model"), exports);
51
51
  __exportStar(require("./models/rum-csp-violation.model"), exports);
52
52
  __exportStar(require("./models/rum-socket-message.model"), exports);
53
53
  __exportStar(require("./models/rum-feedback.model"), exports);
54
+ __exportStar(require("./models/rum-frustration.model"), exports);
55
+ __exportStar(require("./models/rum-long-task.model"), exports);
54
56
  __exportStar(require("./models/rum-saved-view.model"), exports);
55
57
  __exportStar(require("./models/source-map-artifact.model"), exports);
56
58
  __exportStar(require("./models/monitor-audit-event.model"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yEAAuD;AACvD,sDAAoC;AACpC,mEAAiD;AACjD,iEAA+C;AAC/C,0EAAwD;AACxD,uEAAqD;AACrD,+EAA6D;AAC7D,mEAAiD;AACjD,qEAAmD;AACnD,6EAA2D;AAC3D,sEAAoD;AACpD,6EAA2D;AAC3D,8EAA4D;AAC5D,gFAA8D;AAC9D,8EAA4D;AAC5D,4EAA0D;AAC1D,mEAAiD;AACjD,iEAA+C;AAC/C,kEAAgD;AAChD,oEAAkD;AAClD,8EAA4D;AAC5D,+EAA6D;AAC7D,iEAA+C;AAC/C,qEAAmD;AACnD,6EAA2D;AAC3D,+DAA6C;AAC7C,sFAAoE;AACpE,6DAA2C;AAC3C,+DAA6C;AAC7C,6DAA2C;AAC3C,mEAAiD;AACjD,4DAA0C;AAC1C,mEAAiD;AACjD,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,gEAA8C;AAC9C,qEAAmD;AACnD,qEAAmD;AAGnD,wCAAsB;AACtB,wCAAsB;AACtB,+CAA6B;AAC7B,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yEAAuD;AACvD,sDAAoC;AACpC,mEAAiD;AACjD,iEAA+C;AAC/C,0EAAwD;AACxD,uEAAqD;AACrD,+EAA6D;AAC7D,mEAAiD;AACjD,qEAAmD;AACnD,6EAA2D;AAC3D,sEAAoD;AACpD,6EAA2D;AAC3D,8EAA4D;AAC5D,gFAA8D;AAC9D,8EAA4D;AAC5D,4EAA0D;AAC1D,mEAAiD;AACjD,iEAA+C;AAC/C,kEAAgD;AAChD,oEAAkD;AAClD,8EAA4D;AAC5D,+EAA6D;AAC7D,iEAA+C;AAC/C,qEAAmD;AACnD,6EAA2D;AAC3D,+DAA6C;AAC7C,sFAAoE;AACpE,6DAA2C;AAC3C,+DAA6C;AAC7C,6DAA2C;AAC3C,mEAAiD;AACjD,4DAA0C;AAC1C,mEAAiD;AACjD,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,iEAA+C;AAC/C,+DAA6C;AAC7C,gEAA8C;AAC9C,qEAAmD;AACnD,qEAAmD;AAGnD,wCAAsB;AACtB,wCAAsB;AACtB,+CAA6B;AAC7B,mDAAiC"}
@@ -6,6 +6,8 @@ export interface IApplicationEnvironmentRumSettings {
6
6
  publicRumToken: string;
7
7
  allowedOrigins: string[];
8
8
  sessionSampleRate: number;
9
+ feedbackEnabled: boolean;
10
+ socketMessagesEnabled: boolean;
9
11
  createdAt?: Date;
10
12
  updatedAt?: Date;
11
13
  applicationEnvironment?: IApplicationEnvironment;
@@ -1,6 +1,7 @@
1
1
  import type { IncidentStreakPolicy } from '../dto/incident-policy.dto';
2
2
  import type { IAlertRuleCondition } from '../../../rules/condition.types';
3
- import { AlertRuleEvaluation, AlertRuleGroupBy, AlertRuleMode, ErrorGroupEvent, IncidentSeverity, LogLevel } from '../../enum';
3
+ import type { RumVitalKey } from '../../../rum/vitals-thresholds';
4
+ import { AlertRuleEvaluation, AlertRuleGroupBy, AlertRuleMode, ErrorGroupEvent, IncidentSeverity, LogLevel, RumAlertMetric, RumDeploymentMeasure } from '../../enum';
4
5
  export interface IMonitorAlertRuleFilter {
5
6
  levels: LogLevel[];
6
7
  contexts: string[];
@@ -9,6 +10,28 @@ export interface IMonitorAlertRuleFilter {
9
10
  httpStatusMax: number | null;
10
11
  messageContains: string | null;
11
12
  }
13
+ export interface IAlertRuleRumVitalP75 {
14
+ metric: RumAlertMetric.VITAL_P75;
15
+ vital: RumVitalKey;
16
+ route: string | null;
17
+ threshold: number;
18
+ }
19
+ export interface IAlertRuleRumRequestFailureRate {
20
+ metric: RumAlertMetric.REQUEST_FAILURE_RATE;
21
+ urlHost: string | null;
22
+ urlPath: string | null;
23
+ threshold: number;
24
+ }
25
+ export interface IAlertRuleRumFrustrationRate {
26
+ metric: RumAlertMetric.FRUSTRATION_RATE;
27
+ threshold: number;
28
+ }
29
+ export interface IAlertRuleRumReleaseRegression {
30
+ metric: RumAlertMetric.RELEASE_REGRESSION;
31
+ measure: RumDeploymentMeasure;
32
+ threshold: number;
33
+ }
34
+ export type IMonitorAlertRuleRumMetric = IAlertRuleRumVitalP75 | IAlertRuleRumRequestFailureRate | IAlertRuleRumFrustrationRate | IAlertRuleRumReleaseRegression;
12
35
  export interface IMonitorAlertRule {
13
36
  id: string;
14
37
  projectId: string;
@@ -27,6 +50,7 @@ export interface IMonitorAlertRule {
27
50
  severity: IncidentSeverity;
28
51
  channelIds: string[] | null;
29
52
  incidentPolicy: IncidentStreakPolicy | null;
53
+ rumMetric: IMonitorAlertRuleRumMetric | null;
30
54
  eventBudgetPerMinute: number | null;
31
55
  lastEvaluatedAt: Date | null;
32
56
  createdAt?: Date;
@@ -1,10 +1,11 @@
1
- import { ErrorGroupStatus, LogLevel, MonitorErrorType } from '../../enum';
1
+ import { ErrorGroupStatus, LogEmitter, LogLevel, MonitorErrorType } from '../../enum';
2
2
  export interface IMonitorErrorGroup {
3
3
  id: string;
4
4
  projectId: string;
5
5
  applicationId: string;
6
6
  environment: string;
7
7
  fingerprint: string;
8
+ emitter: LogEmitter;
8
9
  level: LogLevel;
9
10
  context: string | null;
10
11
  scenario: string | null;
@@ -5,6 +5,8 @@ export interface IRumFeedback {
5
5
  applicationId: string;
6
6
  environment: string;
7
7
  sessionId: string;
8
+ pageViewId: string | null;
9
+ occurredAt: Date;
8
10
  offsetMs: number;
9
11
  message: string;
10
12
  email: string | null;
@@ -0,0 +1,16 @@
1
+ import { RumFrustrationType } from '../../../rum/rum.enums';
2
+ export interface IRumFrustration {
3
+ id: string;
4
+ dateValue: Date;
5
+ applicationId: string;
6
+ environment: string;
7
+ sessionId: string;
8
+ pageViewId: string | null;
9
+ occurredAt: Date;
10
+ frustrationType: RumFrustrationType;
11
+ route: string;
12
+ elementTag: string;
13
+ elementTestId: string | null;
14
+ elementAriaLabel: string | null;
15
+ createdAt?: Date;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rum-frustration.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-frustration.model.js","sourceRoot":"","sources":["../../../../src/types/interface/models/rum-frustration.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export interface IRumLongTask {
2
+ id: string;
3
+ dateValue: Date;
4
+ applicationId: string;
5
+ environment: string;
6
+ sessionId: string;
7
+ pageViewId: string;
8
+ route: string;
9
+ startedAt: Date;
10
+ durationMs: number;
11
+ createdAt?: Date;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rum-long-task.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-long-task.model.js","sourceRoot":"","sources":["../../../../src/types/interface/models/rum-long-task.model.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { RumAttributeValues } from '../../../rum/rum-batch.types';
2
- import { RumNavigationType } from '../../../rum/rum.enums';
2
+ import { RumDeviceType, RumNavigationType } from '../../../rum/rum.enums';
3
3
  export interface IRumPageView {
4
4
  id: string;
5
5
  dateValue: Date;
@@ -26,6 +26,8 @@ export interface IRumPageView {
26
26
  longTaskCount: number;
27
27
  longTaskTotalMs: number;
28
28
  featureFlags: RumAttributeValues;
29
+ deviceType: RumDeviceType | null;
30
+ release: string | null;
29
31
  createdAt?: Date;
30
32
  updatedAt?: Date;
31
33
  }
@@ -1,8 +1,13 @@
1
+ import { RumSavedViewKind } from '../../enum';
2
+ import type { IQueryRumExplorerBody } from '../api/requests/rum-explorer.request';
1
3
  export interface IRumSavedView {
2
4
  id: string;
3
5
  applicationId: string;
4
6
  name: string;
7
+ kind: RumSavedViewKind;
5
8
  filters: Record<string, unknown>;
9
+ query: IQueryRumExplorerBody | null;
10
+ pinnedToDashboard: boolean;
6
11
  createdByUserId: string;
7
12
  shared: boolean;
8
13
  createdAt?: Date;
@@ -7,13 +7,14 @@ const monitor_report_block_enum_1 = require("../../types/enum/monitor-report-blo
7
7
  const report_block_availability_enum_1 = require("../../types/enum/report-block-availability.enum");
8
8
  const report_block_reason_enum_1 = require("../../types/enum/report-block-reason.enum");
9
9
  exports.REPORT_TOKEN_BUDGET = 12000;
10
- const { SYMPTOM, REQUEST, RELEASE, STATS, NEIGHBOURS, LINKED_INCIDENT, OCCURRENCES } = monitor_report_block_enum_1.MonitorReportBlock;
10
+ const { SYMPTOM, REQUEST, RELEASE, STATS, NEIGHBOURS, LINKED_INCIDENT, OCCURRENCES, RUM } = monitor_report_block_enum_1.MonitorReportBlock;
11
11
  const always = { block: SYMPTOM, reason: report_block_reason_enum_1.ReportBlockReason.ALWAYS_INCLUDED };
12
12
  const release = { block: RELEASE, reason: report_block_reason_enum_1.ReportBlockReason.RULES_OUT_FALSE_LEAD };
13
13
  const stats = { block: STATS, reason: report_block_reason_enum_1.ReportBlockReason.SHOWS_FREQUENCY };
14
14
  const request = { block: REQUEST, reason: report_block_reason_enum_1.ReportBlockReason.SHOWS_REQUEST };
15
15
  const neighbours = { block: NEIGHBOURS, reason: report_block_reason_enum_1.ReportBlockReason.SHOWS_REQUEST_PATH };
16
16
  const linkedIncident = { block: LINKED_INCIDENT, reason: report_block_reason_enum_1.ReportBlockReason.SHOWS_ONGOING_INCIDENT };
17
+ const rum = { block: RUM, reason: report_block_reason_enum_1.ReportBlockReason.SHOWS_BROWSER_CONTEXT };
17
18
  exports.REPORT_BLOCK_SUGGESTIONS = {
18
19
  [error_type_enum_1.MonitorErrorType.TIMEOUT_DOWNSTREAM]: [
19
20
  always,
@@ -39,7 +40,7 @@ exports.REPORT_BLOCK_SUGGESTIONS = {
39
40
  };
40
41
  const suggestReportBlocks = (input) => {
41
42
  const regression = input.status === error_group_status_enum_1.ErrorGroupStatus.REGRESSED || input.currentReleaseIsFirst;
42
- return exports.REPORT_BLOCK_SUGGESTIONS[input.errorType]
43
+ return [...exports.REPORT_BLOCK_SUGGESTIONS[input.errorType], rum]
43
44
  .filter(({ block }) => input.availability[block] === report_block_availability_enum_1.ReportBlockAvailability.AVAILABLE)
44
45
  .map(({ block, reason }) => ({
45
46
  block,
@@ -1 +1 @@
1
- {"version":3,"file":"report-optimizer.js","sourceRoot":"","sources":["../../../src/utils/error-report/report-optimizer.ts"],"names":[],"mappings":";;;AAAA,sFAA4E;AAC5E,sEAAoE;AACpE,0FAGoD;AACpD,oGAA0F;AAC1F,wFAA8E;AAGjE,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAQzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAClF,8CAAkB,CAAC;AACrB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE,CAAC;AAC7E,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,oBAAoB,EAAE,CAAC;AACnF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE,CAAC;AAC1E,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,aAAa,EAAE,CAAC;AAC5E,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,4CAAiB,CAAC,kBAAkB,EAAE,CAAC;AACvF,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,4CAAiB,CAAC,sBAAsB,EAAE,CAAC;AAOvF,QAAA,wBAAwB,GAGjC;IACF,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE;QACrC,MAAM;QACN,OAAO;QACP,KAAK;QACL,cAAc;QACd,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE;KAC9D;IACD,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC;IAC/E,CAAC,kCAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IAC5E,CAAC,kCAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;IACnE,CAAC,kCAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IACxD,CAAC,kCAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;IACzD,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE;QACrC,MAAM;QACN,KAAK;QACL,OAAO;QACP,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,4CAAiB,CAAC,wBAAwB,EAAE;KAC3E;IACD,CAAC,kCAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IACxE,CAAC,kCAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IAC1D,CAAC,kCAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;CAC1E,CAAC;AAeK,MAAM,mBAAmB,GAAG,CAAC,KAAgC,EAA4B,EAAE;IAChG,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,0CAAgB,CAAC,SAAS,IAAI,KAAK,CAAC,qBAAqB,CAAC;IAC9F,OAAO,gCAAwB,CAAC,KAAK,CAAC,SAAS,CAAC;SAC7C,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,wDAAuB,CAAC,SAAS,CAAC;SACtF,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK;QACL,MAAM,EAAE,KAAK,KAAK,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,4CAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;KACzF,CAAC,CAAC;SACF,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,sDAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,sDAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAClD,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B;AAGK,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAAtE,QAAA,cAAc,kBAAwD"}
1
+ {"version":3,"file":"report-optimizer.js","sourceRoot":"","sources":["../../../src/utils/error-report/report-optimizer.ts"],"names":[],"mappings":";;;AAAA,sFAA4E;AAC5E,sEAAoE;AACpE,0FAGoD;AACpD,oGAA0F;AAC1F,wFAA8E;AAGjE,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAQzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,GACvF,8CAAkB,CAAC;AACrB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE,CAAC;AAC7E,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,oBAAoB,EAAE,CAAC;AACnF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE,CAAC;AAC1E,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,aAAa,EAAE,CAAC;AAC5E,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,4CAAiB,CAAC,kBAAkB,EAAE,CAAC;AACvF,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,4CAAiB,CAAC,sBAAsB,EAAE,CAAC;AAEpG,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,4CAAiB,CAAC,qBAAqB,EAAE,CAAC;AAO/D,QAAA,wBAAwB,GAGjC;IACF,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE;QACrC,MAAM;QACN,OAAO;QACP,KAAK;QACL,cAAc;QACd,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAiB,CAAC,eAAe,EAAE;KAC9D;IACD,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC;IAC/E,CAAC,kCAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IAC5E,CAAC,kCAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;IACnE,CAAC,kCAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IACxD,CAAC,kCAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;IACzD,CAAC,kCAAgB,CAAC,kBAAkB,CAAC,EAAE;QACrC,MAAM;QACN,KAAK;QACL,OAAO;QACP,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,4CAAiB,CAAC,wBAAwB,EAAE;KAC3E;IACD,CAAC,kCAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IACxE,CAAC,kCAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IAC1D,CAAC,kCAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;CAC1E,CAAC;AAeK,MAAM,mBAAmB,GAAG,CAAC,KAAgC,EAA4B,EAAE;IAChG,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,0CAAgB,CAAC,SAAS,IAAI,KAAK,CAAC,qBAAqB,CAAC;IAC9F,OAAO,CAAC,GAAG,gCAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;SACvD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,wDAAuB,CAAC,SAAS,CAAC;SACtF,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK;QACL,MAAM,EAAE,KAAK,KAAK,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,4CAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;KACzF,CAAC,CAAC;SACF,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,sDAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,sDAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAClD,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B;AAGK,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAAtE,QAAA,cAAc,kBAAwD"}
@@ -12,3 +12,5 @@ export * from './release.utils';
12
12
  export * from './error-fingerprint';
13
13
  export * from './export-redaction';
14
14
  export * from './error-report';
15
+ export * from './rum-deployment-regression';
16
+ export * from './rum-explorer-fields';
@@ -28,4 +28,6 @@ __exportStar(require("./release.utils"), exports);
28
28
  __exportStar(require("./error-fingerprint"), exports);
29
29
  __exportStar(require("./export-redaction"), exports);
30
30
  __exportStar(require("./error-report"), exports);
31
+ __exportStar(require("./rum-deployment-regression"), exports);
32
+ __exportStar(require("./rum-explorer-fields"), exports);
31
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8DAA4C;AAC5C,+CAA6B;AAC7B,+DAA6C;AAC7C,0DAAwC;AACxC,4DAA0C;AAC1C,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8DAA4C;AAC5C,+CAA6B;AAC7B,+DAA6C;AAC7C,0DAAwC;AACxC,4DAA0C;AAC1C,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,8DAA4C;AAC5C,wDAAsC"}
@@ -0,0 +1,7 @@
1
+ import { RumDeploymentMeasure } from '../types/enum/rum-deployment.enum';
2
+ export interface IRumDeploymentRegressionThreshold {
3
+ relativePercent: number;
4
+ minimumDelta: number;
5
+ }
6
+ export declare const RUM_DEPLOYMENT_REGRESSION_THRESHOLDS: Readonly<Record<RumDeploymentMeasure, Readonly<IRumDeploymentRegressionThreshold>>>;
7
+ export declare const isRumDeploymentRegression: (measure: RumDeploymentMeasure, current: number | null, previous: number | null, relativePercent?: number) => boolean;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRumDeploymentRegression = exports.RUM_DEPLOYMENT_REGRESSION_THRESHOLDS = void 0;
4
+ const rum_deployment_enum_1 = require("../types/enum/rum-deployment.enum");
5
+ exports.RUM_DEPLOYMENT_REGRESSION_THRESHOLDS = {
6
+ [rum_deployment_enum_1.RumDeploymentMeasure.LCP_P75]: { relativePercent: 10, minimumDelta: 100 },
7
+ [rum_deployment_enum_1.RumDeploymentMeasure.INP_P75]: { relativePercent: 10, minimumDelta: 20 },
8
+ [rum_deployment_enum_1.RumDeploymentMeasure.CLS_P75]: { relativePercent: 10, minimumDelta: 0.01 },
9
+ [rum_deployment_enum_1.RumDeploymentMeasure.FCP_P75]: { relativePercent: 10, minimumDelta: 100 },
10
+ [rum_deployment_enum_1.RumDeploymentMeasure.TTFB_P75]: { relativePercent: 10, minimumDelta: 50 },
11
+ [rum_deployment_enum_1.RumDeploymentMeasure.ERROR_SESSION_RATE]: { relativePercent: 20, minimumDelta: 1 },
12
+ [rum_deployment_enum_1.RumDeploymentMeasure.FRUSTRATION_RATE]: { relativePercent: 20, minimumDelta: 1 },
13
+ [rum_deployment_enum_1.RumDeploymentMeasure.REQUEST_FAILURE_RATE]: { relativePercent: 20, minimumDelta: 1 },
14
+ };
15
+ const FLOAT_TOLERANCE = 1e-9;
16
+ const isRumDeploymentRegression = (measure, current, previous, relativePercent = exports.RUM_DEPLOYMENT_REGRESSION_THRESHOLDS[measure].relativePercent) => {
17
+ if (current === null || previous === null) {
18
+ return false;
19
+ }
20
+ const threshold = exports.RUM_DEPLOYMENT_REGRESSION_THRESHOLDS[measure];
21
+ const delta = current - previous;
22
+ if (delta + FLOAT_TOLERANCE < threshold.minimumDelta) {
23
+ return false;
24
+ }
25
+ return previous <= 0 || (delta * 100) / previous > relativePercent;
26
+ };
27
+ exports.isRumDeploymentRegression = isRumDeploymentRegression;
28
+ //# sourceMappingURL=rum-deployment-regression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum-deployment-regression.js","sourceRoot":"","sources":["../../src/utils/rum-deployment-regression.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAoB5D,QAAA,oCAAoC,GAE7C;IACF,CAAC,0CAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;IAC1E,CAAC,0CAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACzE,CAAC,0CAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IAC3E,CAAC,0CAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;IAC1E,CAAC,0CAAoB,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC1E,CAAC,0CAAoB,CAAC,kBAAkB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;IACnF,CAAC,0CAAoB,CAAC,gBAAgB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;IACjF,CAAC,0CAAoB,CAAC,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;CACtF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC;AAUtB,MAAM,yBAAyB,GAAG,CACvC,OAA6B,EAC7B,OAAsB,EACtB,QAAuB,EACvB,kBAA0B,4CAAoC,CAAC,OAAO,CAAC,CAAC,eAAe,EAC9E,EAAE;IACX,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,4CAAoC,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAEjC,IAAI,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC;AACrE,CAAC,CAAC;AAhBW,QAAA,yBAAyB,6BAgBpC"}