@oneuptime/common 8.0.5514 → 8.0.5544

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 (83) hide show
  1. package/Models/DatabaseModels/AcmeChallenge.ts +3 -0
  2. package/Models/DatabaseModels/Domain.ts +6 -1
  3. package/Server/API/AcmeChallengeAPI.ts +64 -0
  4. package/Server/EnvironmentConfig.ts +54 -0
  5. package/Server/Infrastructure/Queue.ts +12 -16
  6. package/Server/Infrastructure/QueueWorker.ts +2 -6
  7. package/Server/Services/DomainService.ts +48 -40
  8. package/Server/Utils/AnalyticsDatabase/Statement.ts +8 -4
  9. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +47 -15
  10. package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +13 -12
  11. package/Server/Utils/Monitor/MonitorAlert.ts +46 -1
  12. package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +208 -0
  13. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +439 -0
  14. package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +141 -0
  15. package/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts +88 -0
  16. package/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.ts +196 -0
  17. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +1123 -0
  18. package/Server/Utils/Monitor/MonitorIncident.ts +46 -1
  19. package/Server/Utils/Monitor/MonitorLogUtil.ts +44 -0
  20. package/Server/Utils/Monitor/MonitorMetricUtil.ts +482 -0
  21. package/Server/Utils/Monitor/MonitorResource.ts +185 -914
  22. package/Server/Utils/StartServer.ts +14 -6
  23. package/Types/Email.ts +3 -7
  24. package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +2 -0
  25. package/Types/Monitor/LogMonitor/LogMonitorResponse.ts +2 -0
  26. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +2 -0
  27. package/Types/Monitor/MonitorEvaluationSummary.ts +48 -0
  28. package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +2 -0
  29. package/Types/Monitor/TraceMonitor/TraceMonitorResponse.ts +2 -0
  30. package/Types/Probe/ProbeApiIngestResponse.ts +2 -0
  31. package/Types/Probe/ProbeMonitorResponse.ts +2 -0
  32. package/UI/Components/Filters/FiltersForm.tsx +4 -1
  33. package/build/dist/Models/DatabaseModels/AcmeChallenge.js +3 -0
  34. package/build/dist/Models/DatabaseModels/AcmeChallenge.js.map +1 -1
  35. package/build/dist/Models/DatabaseModels/Domain.js +6 -1
  36. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  37. package/build/dist/Server/API/AcmeChallengeAPI.js +39 -0
  38. package/build/dist/Server/API/AcmeChallengeAPI.js.map +1 -0
  39. package/build/dist/Server/EnvironmentConfig.js +44 -0
  40. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  41. package/build/dist/Server/Infrastructure/Queue.js +8 -11
  42. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  43. package/build/dist/Server/Infrastructure/QueueWorker.js +2 -6
  44. package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
  45. package/build/dist/Server/Services/DomainService.js +31 -29
  46. package/build/dist/Server/Services/DomainService.js.map +1 -1
  47. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +2 -1
  48. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  49. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +34 -16
  50. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  51. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +12 -12
  52. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
  53. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +42 -4
  54. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  55. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +119 -0
  56. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -0
  57. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +312 -0
  58. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -0
  59. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +109 -0
  60. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -0
  61. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js +45 -0
  62. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js.map +1 -0
  63. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js +132 -0
  64. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js.map +1 -0
  65. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +583 -0
  66. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -0
  67. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +42 -4
  68. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  69. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +32 -0
  70. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -0
  71. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +361 -0
  72. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -0
  73. package/build/dist/Server/Utils/Monitor/MonitorResource.js +133 -666
  74. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  75. package/build/dist/Server/Utils/StartServer.js +7 -4
  76. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  77. package/build/dist/Types/Email.js +2 -5
  78. package/build/dist/Types/Email.js.map +1 -1
  79. package/build/dist/Types/Monitor/MonitorEvaluationSummary.js +2 -0
  80. package/build/dist/Types/Monitor/MonitorEvaluationSummary.js.map +1 -0
  81. package/build/dist/UI/Components/Filters/FiltersForm.js +2 -1
  82. package/build/dist/UI/Components/Filters/FiltersForm.js.map +1 -1
  83. package/package.json +5 -5
@@ -20,8 +20,10 @@ import IncidentStateTimelineService from "../../Services/IncidentStateTimelineSe
20
20
  import logger from "../Logger";
21
21
  import CaptureSpan from "../Telemetry/CaptureSpan";
22
22
  import MonitorTemplateUtil from "./MonitorTemplateUtil";
23
+ import OneUptimeDate from "../../../Types/Date";
23
24
  export default class MonitorIncident {
24
25
  static async checkOpenIncidentsAndCloseIfResolved(input) {
26
+ var _a, _b, _c, _d, _e;
25
27
  // check active incidents and if there are open incidents, do not cretae anothr incident.
26
28
  const openIncidents = await IncidentService.findBy({
27
29
  query: {
@@ -37,6 +39,7 @@ export default class MonitorIncident {
37
39
  createdCriteriaId: true,
38
40
  createdIncidentTemplateId: true,
39
41
  projectId: true,
42
+ incidentNumber: true,
40
43
  },
41
44
  props: {
42
45
  isRoot: true,
@@ -56,12 +59,21 @@ export default class MonitorIncident {
56
59
  rootCause: input.rootCause,
57
60
  dataToProcess: input.dataToProcess,
58
61
  });
62
+ (_a = input.evaluationSummary) === null || _a === void 0 ? void 0 : _a.events.push({
63
+ type: "incident-resolved",
64
+ title: `Incident resolved: ${(_b = openIncident.id) === null || _b === void 0 ? void 0 : _b.toString()}`,
65
+ message: "Incident auto-resolved because autoresolve is enabled for this criteria.",
66
+ relatedIncidentId: (_c = openIncident.id) === null || _c === void 0 ? void 0 : _c.toString(),
67
+ relatedIncidentNumber: openIncident.incidentNumber,
68
+ relatedCriteriaId: (_e = (_d = input.criteriaInstance) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.id,
69
+ at: OneUptimeDate.getCurrentDate(),
70
+ });
59
71
  }
60
72
  }
61
73
  return openIncidents;
62
74
  }
63
75
  static async criteriaMetCreateIncidentsAndUpdateMonitorStatus(input) {
64
- var _a, _b, _c, _d, _e, _f, _g, _h;
76
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
65
77
  // check open incidents
66
78
  logger.debug(`${(_a = input.monitor.id) === null || _a === void 0 ? void 0 : _a.toString()} - Check open incidents.`);
67
79
  // check active incidents and if there are open incidents, do not cretae anothr incident.
@@ -71,6 +83,7 @@ export default class MonitorIncident {
71
83
  rootCause: input.rootCause,
72
84
  criteriaInstance: input.criteriaInstance,
73
85
  dataToProcess: input.dataToProcess,
86
+ evaluationSummary: input.evaluationSummary,
74
87
  });
75
88
  if ((_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.createIncidents) {
76
89
  // create incidents
@@ -88,9 +101,18 @@ export default class MonitorIncident {
88
101
  logger.debug(`${(_d = input.monitor.id) === null || _d === void 0 ? void 0 : _d.toString()} - Open Incident ${(_e = alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.id) === null || _e === void 0 ? void 0 : _e.toString()}`);
89
102
  logger.debug(`${(_f = input.monitor.id) === null || _f === void 0 ? void 0 : _f.toString()} - Has open incident ${hasAlreadyOpenIncident}`);
90
103
  if (hasAlreadyOpenIncident) {
104
+ (_g = input.evaluationSummary) === null || _g === void 0 ? void 0 : _g.events.push({
105
+ type: "incident-skipped",
106
+ title: `Incident already active: ${criteriaIncident.title}`,
107
+ message: "Skipped creating a new incident because an active incident exists for this criteria.",
108
+ relatedCriteriaId: (_h = input.criteriaInstance.data) === null || _h === void 0 ? void 0 : _h.id,
109
+ relatedIncidentId: (_j = alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.id) === null || _j === void 0 ? void 0 : _j.toString(),
110
+ relatedIncidentNumber: alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.incidentNumber,
111
+ at: OneUptimeDate.getCurrentDate(),
112
+ });
91
113
  continue;
92
114
  }
93
- logger.debug(`${(_g = input.monitor.id) === null || _g === void 0 ? void 0 : _g.toString()} - Create incident.`);
115
+ logger.debug(`${(_k = input.monitor.id) === null || _k === void 0 ? void 0 : _k.toString()} - Create incident.`);
94
116
  const incident = new Incident();
95
117
  const storageMap = MonitorTemplateUtil.buildTemplateStorageMap({
96
118
  monitorType: input.monitor.monitorType,
@@ -137,7 +159,7 @@ export default class MonitorIncident {
137
159
  incident.createdCriteriaId = input.criteriaInstance.data.id.toString();
138
160
  incident.createdIncidentTemplateId = criteriaIncident.id.toString();
139
161
  incident.onCallDutyPolicies =
140
- ((_h = criteriaIncident.onCallPolicyIds) === null || _h === void 0 ? void 0 : _h.map((id) => {
162
+ ((_l = criteriaIncident.onCallPolicyIds) === null || _l === void 0 ? void 0 : _l.map((id) => {
141
163
  const onCallPolicy = new OnCallDutyPolicy();
142
164
  onCallPolicy._id = id.toString();
143
165
  return onCallPolicy;
@@ -157,14 +179,30 @@ export default class MonitorIncident {
157
179
  });
158
180
  }
159
181
  if (DisableAutomaticIncidentCreation) {
182
+ (_m = input.evaluationSummary) === null || _m === void 0 ? void 0 : _m.events.push({
183
+ type: "incident-skipped",
184
+ title: "Incident creation skipped",
185
+ message: "Automatic incident creation is disabled by environment configuration.",
186
+ relatedCriteriaId: (_o = input.criteriaInstance.data) === null || _o === void 0 ? void 0 : _o.id,
187
+ at: OneUptimeDate.getCurrentDate(),
188
+ });
160
189
  return;
161
190
  }
162
- await IncidentService.create({
191
+ const createdIncident = await IncidentService.create({
163
192
  data: incident,
164
193
  props: {
165
194
  isRoot: true,
166
195
  },
167
196
  });
197
+ (_p = input.evaluationSummary) === null || _p === void 0 ? void 0 : _p.events.push({
198
+ type: "incident-created",
199
+ title: `Incident created: ${createdIncident.title || criteriaIncident.title}`,
200
+ message: `Incident triggered from criteria "${((_q = input.criteriaInstance.data) === null || _q === void 0 ? void 0 : _q.name) || "Unnamed criteria"}".`,
201
+ relatedCriteriaId: (_r = input.criteriaInstance.data) === null || _r === void 0 ? void 0 : _r.id,
202
+ relatedIncidentId: (_s = createdIncident.id) === null || _s === void 0 ? void 0 : _s.toString(),
203
+ relatedIncidentNumber: createdIncident.incidentNumber,
204
+ at: OneUptimeDate.getCurrentDate(),
205
+ });
168
206
  }
169
207
  }
170
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorIncident.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorIncident.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorIncident.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorIncident.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import MonitorLogService from "../../Services/MonitorLogService";
2
+ import logger from "../Logger";
3
+ import OneUptimeDate from "../../../Types/Date";
4
+ import ObjectID from "../../../Types/ObjectID";
5
+ export default class MonitorLogUtil {
6
+ static saveMonitorLog(data) {
7
+ if (!data.monitorId) {
8
+ return;
9
+ }
10
+ if (!data.projectId) {
11
+ return;
12
+ }
13
+ if (!data.dataToProcess) {
14
+ return;
15
+ }
16
+ const logIngestionDate = OneUptimeDate.getCurrentDate();
17
+ const logTimestamp = OneUptimeDate.toClickhouseDateTime(logIngestionDate);
18
+ const monitorLogRow = {
19
+ _id: ObjectID.generate().toString(),
20
+ createdAt: logTimestamp,
21
+ updatedAt: logTimestamp,
22
+ projectId: data.projectId.toString(),
23
+ monitorId: data.monitorId.toString(),
24
+ time: logTimestamp,
25
+ logBody: JSON.parse(JSON.stringify(data.dataToProcess)),
26
+ };
27
+ MonitorLogService.insertJsonRows([monitorLogRow]).catch((err) => {
28
+ logger.error(err);
29
+ });
30
+ }
31
+ }
32
+ //# sourceMappingURL=MonitorLogUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorLogUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorLogUtil.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,MAAM,CAAC,cAAc,CAAC,IAI5B;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QAC9D,MAAM,YAAY,GAChB,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAe;YAChC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxD,CAAC;QAEF,iBAAiB,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACrE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,361 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import logger from "../Logger";
11
+ import CaptureSpan from "../Telemetry/CaptureSpan";
12
+ import TelemetryUtil from "../Telemetry/Telemetry";
13
+ import MetricService from "../../Services/MetricService";
14
+ import { MetricPointType, ServiceType, } from "../../../Models/AnalyticsModels/Metric";
15
+ import MetricType from "../../../Models/DatabaseModels/MetricType";
16
+ import MonitorMetricType from "../../../Types/Monitor/MonitorMetricType";
17
+ import { CheckOn } from "../../../Types/Monitor/CriteriaFilter";
18
+ import ObjectID from "../../../Types/ObjectID";
19
+ import OneUptimeDate from "../../../Types/Date";
20
+ export default class MonitorMetricUtil {
21
+ static buildMonitorMetricAttributes(data) {
22
+ const attributes = {
23
+ monitorId: data.monitorId.toString(),
24
+ projectId: data.projectId.toString(),
25
+ };
26
+ if (data.extraAttributes) {
27
+ Object.assign(attributes, data.extraAttributes);
28
+ }
29
+ if (data.monitorName) {
30
+ attributes["monitorName"] = data.monitorName;
31
+ }
32
+ if (data.probeName) {
33
+ attributes["probeName"] = data.probeName;
34
+ }
35
+ return attributes;
36
+ }
37
+ static buildMonitorMetricRow(data) {
38
+ var _a;
39
+ const ingestionDate = OneUptimeDate.getCurrentDate();
40
+ const ingestionTimestamp = OneUptimeDate.toClickhouseDateTime(ingestionDate);
41
+ const timeUnixNano = OneUptimeDate.toUnixNano(ingestionDate).toString();
42
+ const attributes = Object.assign({}, data.attributes);
43
+ const attributeKeys = TelemetryUtil.getAttributeKeys(attributes);
44
+ return {
45
+ _id: ObjectID.generate().toString(),
46
+ createdAt: ingestionTimestamp,
47
+ updatedAt: ingestionTimestamp,
48
+ projectId: data.projectId.toString(),
49
+ serviceId: data.monitorId.toString(),
50
+ serviceType: ServiceType.Monitor,
51
+ name: data.metricName,
52
+ aggregationTemporality: null,
53
+ metricPointType: data.metricPointType || MetricPointType.Sum,
54
+ time: ingestionTimestamp,
55
+ startTime: null,
56
+ timeUnixNano: timeUnixNano,
57
+ startTimeUnixNano: null,
58
+ attributes: attributes,
59
+ attributeKeys: attributeKeys,
60
+ isMonotonic: null,
61
+ count: null,
62
+ sum: null,
63
+ min: null,
64
+ max: null,
65
+ bucketCounts: [],
66
+ explicitBounds: [],
67
+ value: (_a = data.value) !== null && _a !== void 0 ? _a : null,
68
+ };
69
+ }
70
+ static async saveMonitorMetrics(data) {
71
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
72
+ if (!data.monitorId) {
73
+ return;
74
+ }
75
+ if (!data.projectId) {
76
+ return;
77
+ }
78
+ if (!data.dataToProcess) {
79
+ return;
80
+ }
81
+ const metricRows = [];
82
+ /*
83
+ * Metric name to serviceId map
84
+ * example: "cpu.usage" -> [serviceId1, serviceId2]
85
+ * since these are monitor metrics. They dont belong to any service so we can keep the array empty.
86
+ */
87
+ const metricNameServiceNameMap = {};
88
+ if (data.dataToProcess.basicInfrastructureMetrics) {
89
+ // store cpu, memory, disk metrics.
90
+ if (data.dataToProcess.requestReceivedAt) {
91
+ let isOnline = true;
92
+ const differenceInMinutes = OneUptimeDate.getDifferenceInMinutes(data.dataToProcess.requestReceivedAt, OneUptimeDate.getCurrentDate());
93
+ if (differenceInMinutes > 2) {
94
+ isOnline = false;
95
+ }
96
+ const attributes = this.buildMonitorMetricAttributes({
97
+ monitorId: data.monitorId,
98
+ projectId: data.projectId,
99
+ monitorName: data.monitorName,
100
+ probeName: data.probeName,
101
+ });
102
+ const metricRow = this.buildMonitorMetricRow({
103
+ projectId: data.projectId,
104
+ monitorId: data.monitorId,
105
+ metricName: MonitorMetricType.IsOnline,
106
+ value: isOnline ? 1 : 0,
107
+ attributes: attributes,
108
+ metricPointType: MetricPointType.Sum,
109
+ });
110
+ metricRows.push(metricRow);
111
+ // add MetricType
112
+ const metricType = new MetricType();
113
+ metricType.name = MonitorMetricType.IsOnline;
114
+ metricType.description = CheckOn.IsOnline + " status for monitor";
115
+ metricType.unit = "";
116
+ // add to map
117
+ metricNameServiceNameMap[MonitorMetricType.IsOnline] = metricType;
118
+ }
119
+ const basicMetrics = data.dataToProcess.basicInfrastructureMetrics;
120
+ if (!basicMetrics) {
121
+ return;
122
+ }
123
+ if (basicMetrics.cpuMetrics) {
124
+ const attributes = this.buildMonitorMetricAttributes({
125
+ monitorId: data.monitorId,
126
+ projectId: data.projectId,
127
+ monitorName: data.monitorName,
128
+ probeName: data.probeName,
129
+ });
130
+ const metricRow = this.buildMonitorMetricRow({
131
+ projectId: data.projectId,
132
+ monitorId: data.monitorId,
133
+ metricName: MonitorMetricType.CPUUsagePercent,
134
+ value: (_a = basicMetrics.cpuMetrics.percentUsed) !== null && _a !== void 0 ? _a : null,
135
+ attributes: attributes,
136
+ metricPointType: MetricPointType.Sum,
137
+ });
138
+ metricRows.push(metricRow);
139
+ const metricType = new MetricType();
140
+ metricType.name = MonitorMetricType.CPUUsagePercent;
141
+ metricType.description = CheckOn.CPUUsagePercent + " of Server/VM";
142
+ metricType.unit = "%";
143
+ metricNameServiceNameMap[MonitorMetricType.CPUUsagePercent] =
144
+ metricType;
145
+ }
146
+ if (basicMetrics.memoryMetrics) {
147
+ const attributes = this.buildMonitorMetricAttributes({
148
+ monitorId: data.monitorId,
149
+ projectId: data.projectId,
150
+ monitorName: data.monitorName,
151
+ probeName: data.probeName,
152
+ });
153
+ const metricRow = this.buildMonitorMetricRow({
154
+ projectId: data.projectId,
155
+ monitorId: data.monitorId,
156
+ metricName: MonitorMetricType.MemoryUsagePercent,
157
+ value: (_b = basicMetrics.memoryMetrics.percentUsed) !== null && _b !== void 0 ? _b : null,
158
+ attributes: attributes,
159
+ metricPointType: MetricPointType.Sum,
160
+ });
161
+ metricRows.push(metricRow);
162
+ const metricType = new MetricType();
163
+ metricType.name = MonitorMetricType.MemoryUsagePercent;
164
+ metricType.description = CheckOn.MemoryUsagePercent + " of Server/VM";
165
+ metricType.unit = "%";
166
+ metricNameServiceNameMap[MonitorMetricType.MemoryUsagePercent] =
167
+ metricType;
168
+ }
169
+ if (basicMetrics.diskMetrics && basicMetrics.diskMetrics.length > 0) {
170
+ for (const diskMetric of basicMetrics.diskMetrics) {
171
+ const extraAttributes = {};
172
+ if (diskMetric.diskPath) {
173
+ extraAttributes["diskPath"] = diskMetric.diskPath;
174
+ }
175
+ const attributes = this.buildMonitorMetricAttributes({
176
+ monitorId: data.monitorId,
177
+ projectId: data.projectId,
178
+ monitorName: data.monitorName,
179
+ probeName: data.probeName,
180
+ extraAttributes: extraAttributes,
181
+ });
182
+ const metricRow = this.buildMonitorMetricRow({
183
+ projectId: data.projectId,
184
+ monitorId: data.monitorId,
185
+ metricName: MonitorMetricType.DiskUsagePercent,
186
+ value: (_c = diskMetric.percentUsed) !== null && _c !== void 0 ? _c : null,
187
+ attributes: attributes,
188
+ metricPointType: MetricPointType.Sum,
189
+ });
190
+ metricRows.push(metricRow);
191
+ const metricType = new MetricType();
192
+ metricType.name = MonitorMetricType.DiskUsagePercent;
193
+ metricType.description = CheckOn.DiskUsagePercent + " of Server/VM";
194
+ metricType.unit = "%";
195
+ metricNameServiceNameMap[MonitorMetricType.DiskUsagePercent] =
196
+ metricType;
197
+ }
198
+ }
199
+ }
200
+ if ((_d = data.dataToProcess.customCodeMonitorResponse) === null || _d === void 0 ? void 0 : _d.executionTimeInMS) {
201
+ const extraAttributes = {
202
+ probeId: data.dataToProcess.probeId.toString(),
203
+ };
204
+ const attributes = this.buildMonitorMetricAttributes({
205
+ monitorId: data.monitorId,
206
+ projectId: data.projectId,
207
+ extraAttributes: extraAttributes,
208
+ });
209
+ const metricRow = this.buildMonitorMetricRow({
210
+ projectId: data.projectId,
211
+ monitorId: data.monitorId,
212
+ metricName: MonitorMetricType.ExecutionTime,
213
+ value: (_f = (_e = data.dataToProcess.customCodeMonitorResponse) === null || _e === void 0 ? void 0 : _e.executionTimeInMS) !== null && _f !== void 0 ? _f : null,
214
+ attributes: attributes,
215
+ metricPointType: MetricPointType.Sum,
216
+ });
217
+ metricRows.push(metricRow);
218
+ const metricType = new MetricType();
219
+ metricType.name = MonitorMetricType.ExecutionTime;
220
+ metricType.description = CheckOn.ExecutionTime + " of this monitor";
221
+ metricType.unit = "ms";
222
+ metricNameServiceNameMap[MonitorMetricType.ExecutionTime] = metricType;
223
+ }
224
+ if (data.dataToProcess &&
225
+ data.dataToProcess.syntheticMonitorResponse &&
226
+ (data.dataToProcess.syntheticMonitorResponse ||
227
+ []).length > 0) {
228
+ const syntheticResponses = data.dataToProcess.syntheticMonitorResponse ||
229
+ [];
230
+ for (const syntheticMonitorResponse of syntheticResponses) {
231
+ const extraAttributes = {
232
+ probeId: data.dataToProcess.probeId.toString(),
233
+ };
234
+ if (syntheticMonitorResponse.browserType) {
235
+ extraAttributes["browserType"] = syntheticMonitorResponse.browserType;
236
+ }
237
+ if (syntheticMonitorResponse.screenSizeType) {
238
+ extraAttributes["screenSizeType"] =
239
+ syntheticMonitorResponse.screenSizeType;
240
+ }
241
+ const attributes = this.buildMonitorMetricAttributes({
242
+ monitorId: data.monitorId,
243
+ projectId: data.projectId,
244
+ monitorName: data.monitorName,
245
+ probeName: data.probeName,
246
+ extraAttributes: extraAttributes,
247
+ });
248
+ const metricRow = this.buildMonitorMetricRow({
249
+ projectId: data.projectId,
250
+ monitorId: data.monitorId,
251
+ metricName: MonitorMetricType.ExecutionTime,
252
+ value: (_g = syntheticMonitorResponse.executionTimeInMS) !== null && _g !== void 0 ? _g : null,
253
+ attributes: attributes,
254
+ metricPointType: MetricPointType.Sum,
255
+ });
256
+ metricRows.push(metricRow);
257
+ const metricType = new MetricType();
258
+ metricType.name = MonitorMetricType.ExecutionTime;
259
+ metricType.description = CheckOn.ExecutionTime + " of this monitor";
260
+ metricType.unit = "ms";
261
+ metricNameServiceNameMap[MonitorMetricType.ExecutionTime] = metricType;
262
+ }
263
+ }
264
+ if (data.dataToProcess.responseTimeInMs) {
265
+ const extraAttributes = {
266
+ probeId: data.dataToProcess.probeId.toString(),
267
+ };
268
+ const attributes = this.buildMonitorMetricAttributes({
269
+ monitorId: data.monitorId,
270
+ projectId: data.projectId,
271
+ monitorName: data.monitorName,
272
+ probeName: data.probeName,
273
+ extraAttributes: extraAttributes,
274
+ });
275
+ const metricRow = this.buildMonitorMetricRow({
276
+ projectId: data.projectId,
277
+ monitorId: data.monitorId,
278
+ metricName: MonitorMetricType.ResponseTime,
279
+ value: (_h = data.dataToProcess.responseTimeInMs) !== null && _h !== void 0 ? _h : null,
280
+ attributes: attributes,
281
+ metricPointType: MetricPointType.Sum,
282
+ });
283
+ metricRows.push(metricRow);
284
+ const metricType = new MetricType();
285
+ metricType.name = MonitorMetricType.ResponseTime;
286
+ metricType.description = CheckOn.ResponseTime + " of this monitor";
287
+ metricType.unit = "ms";
288
+ metricNameServiceNameMap[MonitorMetricType.ResponseTime] = metricType;
289
+ }
290
+ if (data.dataToProcess.isOnline !== undefined) {
291
+ const extraAttributes = {
292
+ probeId: data.dataToProcess.probeId.toString(),
293
+ };
294
+ const attributes = this.buildMonitorMetricAttributes({
295
+ monitorId: data.monitorId,
296
+ projectId: data.projectId,
297
+ monitorName: data.monitorName,
298
+ probeName: data.probeName,
299
+ extraAttributes: extraAttributes,
300
+ });
301
+ const metricRow = this.buildMonitorMetricRow({
302
+ projectId: data.projectId,
303
+ monitorId: data.monitorId,
304
+ metricName: MonitorMetricType.IsOnline,
305
+ value: data.dataToProcess.isOnline ? 1 : 0,
306
+ attributes: attributes,
307
+ metricPointType: MetricPointType.Sum,
308
+ });
309
+ metricRows.push(metricRow);
310
+ const metricType = new MetricType();
311
+ metricType.name = MonitorMetricType.IsOnline;
312
+ metricType.description = CheckOn.IsOnline + " status for monitor";
313
+ metricType.unit = "";
314
+ metricNameServiceNameMap[MonitorMetricType.IsOnline] = metricType;
315
+ }
316
+ if (data.dataToProcess.responseCode) {
317
+ const extraAttributes = {
318
+ probeId: data.dataToProcess.probeId.toString(),
319
+ };
320
+ const attributes = this.buildMonitorMetricAttributes({
321
+ monitorId: data.monitorId,
322
+ projectId: data.projectId,
323
+ monitorName: data.monitorName,
324
+ probeName: data.probeName,
325
+ extraAttributes: extraAttributes,
326
+ });
327
+ const metricRow = this.buildMonitorMetricRow({
328
+ projectId: data.projectId,
329
+ monitorId: data.monitorId,
330
+ metricName: MonitorMetricType.ResponseStatusCode,
331
+ value: (_j = data.dataToProcess.responseCode) !== null && _j !== void 0 ? _j : null,
332
+ attributes: attributes,
333
+ metricPointType: MetricPointType.Sum,
334
+ });
335
+ metricRows.push(metricRow);
336
+ const metricType = new MetricType();
337
+ metricType.name = MonitorMetricType.ResponseStatusCode;
338
+ metricType.description = CheckOn.ResponseStatusCode + " for this monitor";
339
+ metricType.unit = "Status Code";
340
+ metricNameServiceNameMap[MonitorMetricType.ResponseStatusCode] =
341
+ metricType;
342
+ }
343
+ if (metricRows.length > 0) {
344
+ await MetricService.insertJsonRows(metricRows);
345
+ }
346
+ // index metrics
347
+ TelemetryUtil.indexMetricNameServiceNameMap({
348
+ projectId: data.projectId,
349
+ metricNameServiceNameMap: metricNameServiceNameMap,
350
+ }).catch((err) => {
351
+ logger.error(err);
352
+ });
353
+ }
354
+ }
355
+ __decorate([
356
+ CaptureSpan(),
357
+ __metadata("design:type", Function),
358
+ __metadata("design:paramtypes", [Object]),
359
+ __metadata("design:returntype", Promise)
360
+ ], MonitorMetricUtil, "saveMonitorMetrics", null);
361
+ //# sourceMappingURL=MonitorMetricUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorMetricUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorMetricUtil.ts"],"names":[],"mappings":"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"}