refactor: Update monitor interfaces to use consistent naming

This commit is contained in:
Simon Larsen
2024-08-04 19:39:36 -06:00
parent 5c3175f9e7
commit 29764ae7c7
12 changed files with 95 additions and 95 deletions

View File

@@ -1,10 +1,10 @@
import CustomCodeMonitor from "../CustomCodeMonitor/CustomCodeMonitor";
import CustomCodeMonitorResponse from "../CustomCodeMonitor/CustomCodeMonitorResponse";
import BrowserType from "./BrowserType";
import ScreenSizeType from "./ScreenSizeType";
import Screenshots from "./Screenshot";
export default interface SyntheticMonitor
extends CustomCodeMonitor {
extends CustomCodeMonitorResponse {
screenshots?: Screenshots | undefined; // base 64 encoded screenshots
browserType: BrowserType;
screenSizeType: ScreenSizeType;

View File

@@ -3,9 +3,9 @@ import URL from "../API/URL";
import Dictionary from "../Dictionary";
import IP from "../IP/IP";
import { JSONObject } from "../JSON";
import CustomCodeMonitor from "../Monitor/CustomCodeMonitor/CustomCodeMonitor";
import SslMonitor from "../Monitor/SSLMonitor/SslMonitor";
import SyntheticMonitor from "../Monitor/SyntheticMonitors/SyntheticMonitor";
import CustomCodeMonitorResponse from "../Monitor/CustomCodeMonitor/CustomCodeMonitorResponse";
import SslMonitorResponse from "../Monitor/SSLMonitor/SslMonitorResponse";
import SyntheticMonitorResponse from "../Monitor/SyntheticMonitors/SyntheticMonitorResponse";
import ObjectID from "../ObjectID";
import Port from "../Port";
@@ -21,8 +21,8 @@ export default interface ProbeMonitor {
monitorId: ObjectID;
probeId: ObjectID;
failureCause: string;
sslResponse?: SslMonitor | undefined;
syntheticMonitor?: Array<SyntheticMonitor> | undefined;
customCodeMonitor?: CustomCodeMonitor | undefined;
sslResponse?: SslMonitorResponse| undefined;
syntheticMonitor?: Array<SyntheticMonitorResponse> | undefined;
customCodeMonitor?: CustomCodeMonitorResponse | undefined;
monitoredAt: Date;
}

View File

@@ -7,7 +7,7 @@ import {
CriteriaFilter,
FilterType,
} from "Common/Types/Monitor/CriteriaFilter";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
import Typeof from "Common/Types/Typeof";
export default class APIRequestCriteria {
@@ -46,7 +46,7 @@ export default class APIRequestCriteria {
if (input.criteriaFilter.checkOn === CheckOn.IsOnline) {
const currentIsOnline: boolean | Array<boolean> =
(overTimeValue as Array<boolean>) ||
(input.dataToProcess as ProbeMonitor).isOnline;
(input.dataToProcess as ProbeMonitorResponse).isOnline;
return CompareCriteria.compareCriteriaBoolean({
value: currentIsOnline,
@@ -60,7 +60,7 @@ export default class APIRequestCriteria {
const value: Array<number> | number =
(overTimeValue as Array<number>) ||
(input.dataToProcess as ProbeMonitor).responseTimeInMs!;
(input.dataToProcess as ProbeMonitorResponse).responseTimeInMs!;
return CompareCriteria.compareCriteriaNumbers({
value: value,
@@ -75,7 +75,7 @@ export default class APIRequestCriteria {
const value: Array<number> | number =
(overTimeValue as Array<number>) ||
(input.dataToProcess as ProbeMonitor).responseCode!;
(input.dataToProcess as ProbeMonitorResponse).responseCode!;
return CompareCriteria.compareCriteriaNumbers({
value: value,
@@ -86,7 +86,7 @@ export default class APIRequestCriteria {
if (input.criteriaFilter.checkOn === CheckOn.ResponseBody) {
let responseBody: string | JSONObject | undefined = (
input.dataToProcess as ProbeMonitor
input.dataToProcess as ProbeMonitorResponse
).responseBody;
if (responseBody && typeof responseBody === Typeof.Object) {
@@ -123,7 +123,7 @@ export default class APIRequestCriteria {
if (input.criteriaFilter.checkOn === CheckOn.ResponseHeader) {
const headerKeys: Array<string> = Object.keys(
(input.dataToProcess as ProbeMonitor).responseHeaders || {},
(input.dataToProcess as ProbeMonitorResponse).responseHeaders || {},
).map((key: string) => {
return key.toLowerCase();
});
@@ -154,7 +154,7 @@ export default class APIRequestCriteria {
if (input.criteriaFilter.checkOn === CheckOn.ResponseHeaderValue) {
const headerValues: Array<string> = Object.values(
(input.dataToProcess as ProbeMonitor).responseHeaders || {},
(input.dataToProcess as ProbeMonitorResponse).responseHeaders || {},
).map((key: string) => {
return key.toLowerCase();
});

View File

@@ -1,10 +1,10 @@
import CompareCriteria from "./CompareCriteria";
import { CheckOn, CriteriaFilter } from "Common/Types/Monitor/CriteriaFilter";
import CustomCodeMonitor from "Common/Types/Monitor/CustomCodeMonitor/CustomCodeMonitor";
import CustomCodeMonitorResponse from "Common/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse";
export default class CustomCodeMonitoringCriteria {
public static async isMonitorInstanceCriteriaFilterMet(input: {
Monitor: CustomCodeMonitor;
Monitor: CustomCodeMonitorResponse;
criteriaFilter: CriteriaFilter;
}): Promise<string | null> {
// Server Monitoring Checks
@@ -12,7 +12,7 @@ export default class CustomCodeMonitoringCriteria {
let threshold: number | string | undefined | null =
input.criteriaFilter.value;
const syntheticMonitor: CustomCodeMonitor =
const syntheticMonitor: CustomCodeMonitorResponse =
input.Monitor;
if (input.criteriaFilter.checkOn === CheckOn.ExecutionTime) {

View File

@@ -11,7 +11,7 @@ import IncomingMonitorRequest from "Common/Types/Monitor/IncomingMonitor/Incomin
import Typeof from "Common/Types/Typeof";
import EvaluateOverTime from "./EvaluateOverTime";
import CompareCriteria from "./CompareCriteria";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
export default class IncomingRequestCriteria {
public static async isMonitorInstanceCriteriaFilterMet(input: {
@@ -60,7 +60,7 @@ export default class IncomingRequestCriteria {
if (input.criteriaFilter.checkOn === CheckOn.IsOnline) {
const currentIsOnline: boolean | Array<boolean> =
(overTimeValue as Array<boolean>) ||
(input.dataToProcess as ProbeMonitor).isOnline;
(input.dataToProcess as ProbeMonitorResponse).isOnline;
return CompareCriteria.compareCriteriaBoolean({
value: currentIsOnline,

View File

@@ -6,8 +6,8 @@ import {
CriteriaFilter,
FilterType,
} from "Common/Types/Monitor/CriteriaFilter";
import SslMonitor from "Common/Types/Monitor/SSLMonitor/SslMonitor";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import SslMonitorResponse from "Common/Types/Monitor/SSLMonitor/SslMonitorResponse";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
import EvaluateOverTime from "./EvaluateOverTime";
export default class ServerMonitorCriteria {
@@ -18,10 +18,10 @@ export default class ServerMonitorCriteria {
let threshold: number | string | undefined | null =
input.criteriaFilter.value;
const dataToProcess: ProbeMonitor =
input.dataToProcess as ProbeMonitor;
const dataToProcess: ProbeMonitorResponse =
input.dataToProcess as ProbeMonitorResponse;
const sslResponse: SslMonitor | undefined =
const sslResponse: SslMonitorResponse | undefined =
dataToProcess.sslResponse;
let overTimeValue: Array<number | boolean> | number | boolean | undefined =
@@ -49,7 +49,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.checkOn === CheckOn.IsOnline) {
const currentIsOnline: boolean | Array<boolean> =
(overTimeValue as Array<boolean>) ||
(input.dataToProcess as ProbeMonitor).isOnline;
(input.dataToProcess as ProbeMonitorResponse).isOnline;
return CompareCriteria.compareCriteriaBoolean({
value: currentIsOnline,

View File

@@ -9,9 +9,9 @@ import {
CriteriaFilter,
FilterType,
} from "Common/Types/Monitor/CriteriaFilter";
import ServerMonitor, {
import ServerMonitorResponse, {
ServerProcess,
} from "Common/Types/Monitor/ServerMonitor/ServerMonitor";
} from "Common/Types/Monitor/ServerMonitor/ServerMonitorResponse";
export default class ServerMonitorCriteria {
public static async isMonitorInstanceCriteriaFilterMet(input: {
@@ -45,7 +45,7 @@ export default class ServerMonitorCriteria {
}
}
const lastCheckTime: Date = (input.dataToProcess as ServerMonitor)
const lastCheckTime: Date = (input.dataToProcess as ServerMonitorResponse)
.requestReceivedAt;
const differenceInMinutes: number = OneUptimeDate.getDifferenceInMinutes(
@@ -92,13 +92,13 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.CPUUsagePercent &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
threshold = CompareCriteria.convertToNumber(threshold);
const currentCpuPercent: number | Array<number> =
(overTimeValue as Array<number>) ||
(input.dataToProcess as ServerMonitor)
(input.dataToProcess as ServerMonitorResponse)
.basicInfrastructureMetrics?.cpuMetrics.percentUsed ||
0;
@@ -111,13 +111,13 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.MemoryUsagePercent &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
threshold = CompareCriteria.convertToNumber(threshold);
const memoryPercent: number | Array<number> =
(overTimeValue as Array<number>) ||
(input.dataToProcess as ServerMonitor)
(input.dataToProcess as ServerMonitorResponse)
.basicInfrastructureMetrics?.memoryMetrics.percentUsed ||
0;
@@ -130,7 +130,7 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.DiskUsagePercent &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
threshold = CompareCriteria.convertToNumber(threshold);
@@ -139,7 +139,7 @@ export default class ServerMonitorCriteria {
const diskPercent: number =
(
input.dataToProcess as ServerMonitor
input.dataToProcess as ServerMonitorResponse
).basicInfrastructureMetrics?.diskMetrics.filter(
(item: BasicDiskMetrics) => {
return (
@@ -159,7 +159,7 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.ServerProcessName &&
threshold &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
const thresholdProcessName: string = threshold
.toString()
@@ -168,7 +168,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsExecuting) {
const processNames: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.name.trim().toLowerCase();
},
@@ -183,7 +183,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsNotExecuting) {
const processNames: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.name.trim().toLowerCase();
},
@@ -200,7 +200,7 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.ServerProcessPID &&
threshold &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
const thresholdProcessPID: string = threshold
.toString()
@@ -209,7 +209,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsExecuting) {
const processPIDs: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.pid.toString().trim().toLowerCase();
},
@@ -224,7 +224,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsNotExecuting) {
const processPIDs: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.pid.toString().trim().toLowerCase();
},
@@ -243,7 +243,7 @@ export default class ServerMonitorCriteria {
if (
input.criteriaFilter.checkOn === CheckOn.ServerProcessCommand &&
threshold &&
!(input.dataToProcess as ServerMonitor).onlyCheckRequestReceivedAt
!(input.dataToProcess as ServerMonitorResponse).onlyCheckRequestReceivedAt
) {
const thresholdProcessCommand: string = threshold
.toString()
@@ -252,7 +252,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsExecuting) {
const processCommands: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.command.trim().toLowerCase();
},
@@ -267,7 +267,7 @@ export default class ServerMonitorCriteria {
if (input.criteriaFilter.filterType === FilterType.IsNotExecuting) {
const processCommands: Array<string> =
(input.dataToProcess as ServerMonitor)?.processes?.map(
(input.dataToProcess as ServerMonitorResponse)?.processes?.map(
(item: ServerProcess) => {
return item.command.trim().toLowerCase();
},

View File

@@ -1,11 +1,11 @@
import CompareCriteria from "./CompareCriteria";
import CustomCodeMonitoringCriteria from "./CustomCodeMonitorCriteria";
import { CheckOn, CriteriaFilter } from "Common/Types/Monitor/CriteriaFilter";
import SyntheticMonitor from "Common/Types/Monitor/SyntheticMonitors/SyntheticMonitor";
import SyntheticMonitorResponse from "Common/Types/Monitor/SyntheticMonitors/SyntheticMonitorResponse";
export default class SyntheticMonitoringCriteria {
public static async isMonitorInstanceCriteriaFilterMet(input: {
Monitor: Array<SyntheticMonitor>;
Monitor: Array<SyntheticMonitorResponse>;
criteriaFilter: CriteriaFilter;
}): Promise<string | null> {
for (const syntheticMonitor of input.Monitor) {

View File

@@ -1,10 +1,10 @@
import IncomingMonitorRequest from "Common/Types/Monitor/IncomingMonitor/IncomingMonitorRequest";
import ServerMonitor from "Common/Types/Monitor/ServerMonitor/ServerMonitor";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import ServerMonitorResponse from "Common/Types/Monitor/ServerMonitor/ServerMonitorResponse";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
type DataToProcess =
| ProbeMonitor
| ProbeMonitorResponse
| IncomingMonitorRequest
| ServerMonitor;
| ServerMonitorResponse;
export default DataToProcess;

View File

@@ -26,7 +26,7 @@ import {
CriteriaFilter,
FilterCondition,
} from "Common/Types/Monitor/CriteriaFilter";
import CustomCodeMonitor from "Common/Types/Monitor/CustomCodeMonitor/CustomCodeMonitor";
import CustomCodeMonitor from "Common/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse";
import IncomingMonitorRequest from "Common/Types/Monitor/IncomingMonitor/IncomingMonitorRequest";
import MonitorCriteria from "Common/Types/Monitor/MonitorCriteria";
import MonitorCriteriaInstance from "Common/Types/Monitor/MonitorCriteriaInstance";
@@ -35,10 +35,10 @@ import MonitorSteps from "Common/Types/Monitor/MonitorSteps";
import MonitorType, {
MonitorTypeHelper,
} from "Common/Types/Monitor/MonitorType";
import ServerMonitor from "Common/Types/Monitor/ServerMonitor/ServerMonitor";
import ServerMonitor from "Common/Types/Monitor/ServerMonitor/ServerMonitorResponse";
import ObjectID from "Common/Types/ObjectID";
import ProbeApiIngestResponse from "Common/Types/Probe/ProbeApiIngestResponse";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
import Typeof from "Common/Types/Typeof";
import MonitorMetricsByMinute from "Model/AnalyticsModels/MonitorMetricsByMinute";
import Incident from "Model/Models/Incident";
@@ -128,13 +128,13 @@ export default class MonitorResourceService {
monitor.monitorType &&
MonitorTypeHelper.isProbableMonitor(monitor.monitorType)
) {
dataToProcess = dataToProcess as ProbeMonitor;
if ((dataToProcess as ProbeMonitor).probeId) {
dataToProcess = dataToProcess as ProbeMonitorResponse;
if ((dataToProcess as ProbeMonitorResponse).probeId) {
const monitorProbe: MonitorProbe | null =
await MonitorProbeService.findOneBy({
query: {
monitorId: monitor.id!,
probeId: (dataToProcess as ProbeMonitor).probeId!,
probeId: (dataToProcess as ProbeMonitorResponse).probeId!,
},
select: {
lastMonitoringLog: true,
@@ -151,13 +151,13 @@ export default class MonitorResourceService {
await MonitorProbeService.updateOneBy({
query: {
monitorId: monitor.id!,
probeId: (dataToProcess as ProbeMonitor).probeId!,
probeId: (dataToProcess as ProbeMonitorResponse).probeId!,
},
data: {
lastMonitoringLog: {
...(monitorProbe.lastMonitoringLog || {}),
[(
dataToProcess as ProbeMonitor
dataToProcess as ProbeMonitorResponse
).monitorStepId.toString()]: {
...JSON.parse(JSON.stringify(dataToProcess)),
monitoredAt: OneUptimeDate.getCurrentDate(),
@@ -204,7 +204,7 @@ export default class MonitorResourceService {
serverMonitorRequestReceivedAt: (
dataToProcess as ServerMonitor
).requestReceivedAt!,
serverMonitor: dataToProcess as ServerMonitor, // this could be redundant as we are already saving this in the incomingMonitorRequest. we should remove this in the future.
serverMonitorResponse: dataToProcess as ServerMonitor, // this could be redundant as we are already saving this in the incomingMonitorRequest. we should remove this in the future.
},
props: {
isRoot: true,
@@ -280,12 +280,12 @@ export default class MonitorResourceService {
const monitorStep: MonitorStep | undefined =
monitorSteps.data.monitorStepsInstanceArray[0];
if ((dataToProcess as ProbeMonitor).monitorStepId) {
if ((dataToProcess as ProbeMonitorResponse).monitorStepId) {
monitorSteps.data.monitorStepsInstanceArray.find(
(monitorStep: MonitorStep) => {
return (
monitorStep.id.toString() ===
(dataToProcess as ProbeMonitor).monitorStepId.toString()
(dataToProcess as ProbeMonitorResponse).monitorStepId.toString()
);
},
);
@@ -477,25 +477,25 @@ export default class MonitorResourceService {
}
}
if ((data.dataToProcess as ProbeMonitor).responseTimeInMs) {
if ((data.dataToProcess as ProbeMonitorResponse).responseTimeInMs) {
const monitorMetricsByMinute: MonitorMetricsByMinute =
new MonitorMetricsByMinute();
monitorMetricsByMinute.monitorId = data.monitorId;
monitorMetricsByMinute.projectId = data.projectId;
monitorMetricsByMinute.metricType = CheckOn.ResponseTime;
monitorMetricsByMinute.metricValue = (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).responseTimeInMs;
monitorMetricsByMinute.miscData = {
probeId: (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).probeId.toString(),
};
itemsToSave.push(monitorMetricsByMinute);
}
if ((data.dataToProcess as ProbeMonitor).isOnline !== undefined) {
if ((data.dataToProcess as ProbeMonitorResponse).isOnline !== undefined) {
const monitorMetricsByMinute: MonitorMetricsByMinute =
new MonitorMetricsByMinute();
monitorMetricsByMinute.monitorId = data.monitorId;
@@ -504,38 +504,38 @@ export default class MonitorResourceService {
monitorMetricsByMinute.metricValue = 0;
monitorMetricsByMinute.miscData = {
probeId: (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).probeId.toString(),
};
if ((data.dataToProcess as ProbeMonitor).isOnline) {
if ((data.dataToProcess as ProbeMonitorResponse).isOnline) {
monitorMetricsByMinute.metricValue = 1;
}
itemsToSave.push(monitorMetricsByMinute);
}
if ((data.dataToProcess as ProbeMonitor).responseCode) {
if ((data.dataToProcess as ProbeMonitorResponse).responseCode) {
const monitorMetricsByMinute: MonitorMetricsByMinute =
new MonitorMetricsByMinute();
monitorMetricsByMinute.monitorId = data.monitorId;
monitorMetricsByMinute.projectId = data.projectId;
monitorMetricsByMinute.metricType = CheckOn.ResponseStatusCode;
monitorMetricsByMinute.metricValue = (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).responseCode;
monitorMetricsByMinute.miscData = {
probeId: (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).probeId.toString(),
};
itemsToSave.push(monitorMetricsByMinute);
}
if ((data.dataToProcess as ProbeMonitor).syntheticMonitor) {
if ((data.dataToProcess as ProbeMonitorResponse).syntheticMonitor) {
for (const syntheticMonitor of (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).syntheticMonitor || []) {
const monitorMetricsByMinute: MonitorMetricsByMinute =
new MonitorMetricsByMinute();
@@ -546,7 +546,7 @@ export default class MonitorResourceService {
syntheticMonitor.executionTimeInMS;
monitorMetricsByMinute.miscData = {
probeId: (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).probeId.toString(),
browserType: syntheticMonitor.browserType,
screenSizeType: syntheticMonitor.screenSizeType,
@@ -557,10 +557,10 @@ export default class MonitorResourceService {
}
if (
(data.dataToProcess as ProbeMonitor).customCodeMonitor
(data.dataToProcess as ProbeMonitorResponse).customCodeMonitor
) {
const customCodeMonitor: CustomCodeMonitor = (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).customCodeMonitor!;
const monitorMetricsByMinute: MonitorMetricsByMinute =
@@ -572,7 +572,7 @@ export default class MonitorResourceService {
customCodeMonitor.executionTimeInMS;
monitorMetricsByMinute.miscData = {
probeId: (
data.dataToProcess as ProbeMonitor
data.dataToProcess as ProbeMonitorResponse
).probeId.toString(),
};
@@ -791,10 +791,10 @@ export default class MonitorResourceService {
if (
input.dataToProcess &&
(input.dataToProcess as ProbeMonitor).probeId
(input.dataToProcess as ProbeMonitorResponse).probeId
) {
incident.createdByProbeId = (
input.dataToProcess as ProbeMonitor
input.dataToProcess as ProbeMonitorResponse
).probeId;
}
@@ -816,7 +816,7 @@ export default class MonitorResourceService {
openIncident: Incident;
rootCause: string;
dataToProcess:
| ProbeMonitor
| ProbeMonitorResponse
| IncomingMonitorRequest
| DataToProcess;
}): Promise<void> {
@@ -933,9 +933,9 @@ export default class MonitorResourceService {
`;
}
if ((input.dataToProcess as ProbeMonitor).failureCause) {
if ((input.dataToProcess as ProbeMonitorResponse).failureCause) {
input.probeApiIngestResponse.rootCause += `
**Cause**: ${(input.dataToProcess as ProbeMonitor).failureCause || ""}
**Cause**: ${(input.dataToProcess as ProbeMonitorResponse).failureCause || ""}
`;
}
break;
@@ -1046,11 +1046,11 @@ export default class MonitorResourceService {
let responseBody: JSONObject | null = null;
try {
responseBody = JSON.parse(
((input.dataToProcess as ProbeMonitor)
((input.dataToProcess as ProbeMonitorResponse)
.responseBody as string) || "{}",
);
} catch (err) {
responseBody = (input.dataToProcess as ProbeMonitor)
responseBody = (input.dataToProcess as ProbeMonitorResponse)
.responseBody as JSONObject;
}
@@ -1064,13 +1064,13 @@ export default class MonitorResourceService {
storageMap = {
responseBody: responseBody,
responseHeaders: (input.dataToProcess as ProbeMonitor)
responseHeaders: (input.dataToProcess as ProbeMonitorResponse)
.responseHeaders,
responseStatusCode: (input.dataToProcess as ProbeMonitor)
responseStatusCode: (input.dataToProcess as ProbeMonitorResponse)
.responseCode,
responseTimeInMs: (input.dataToProcess as ProbeMonitor)
responseTimeInMs: (input.dataToProcess as ProbeMonitorResponse)
.responseTimeInMs,
isOnline: (input.dataToProcess as ProbeMonitor).isOnline,
isOnline: (input.dataToProcess as ProbeMonitorResponse).isOnline,
};
}
@@ -1129,11 +1129,11 @@ export default class MonitorResourceService {
if (
input.monitor.monitorType === MonitorType.CustomJavaScriptCode &&
(input.dataToProcess as ProbeMonitor).customCodeMonitor
(input.dataToProcess as ProbeMonitorResponse).customCodeMonitor
) {
const criteriaResult: string | null =
await CustomCodeMonitoringCriteria.isMonitorInstanceCriteriaFilterMet({
Monitor: (input.dataToProcess as ProbeMonitor)
Monitor: (input.dataToProcess as ProbeMonitorResponse)
.customCodeMonitor!,
criteriaFilter: input.criteriaFilter,
});
@@ -1145,12 +1145,12 @@ export default class MonitorResourceService {
if (
input.monitor.monitorType === MonitorType.SyntheticMonitor &&
(input.dataToProcess as ProbeMonitor).syntheticMonitor
(input.dataToProcess as ProbeMonitorResponse).syntheticMonitor
) {
const criteriaResult: string | null =
await SyntheticMonitoringCriteria.isMonitorInstanceCriteriaFilterMet({
Monitor:
(input.dataToProcess as ProbeMonitor)
(input.dataToProcess as ProbeMonitorResponse)
.syntheticMonitor || [],
criteriaFilter: input.criteriaFilter,
});

View File

@@ -22,7 +22,7 @@ import { JSONObject } from "Common/Types/JSON";
import IncomingMonitorRequest from "Common/Types/Monitor/IncomingMonitor/IncomingMonitorRequest";
import MonitorSteps from "Common/Types/Monitor/MonitorSteps";
import MonitorType from "Common/Types/Monitor/MonitorType";
import ServerMonitor from "Common/Types/Monitor/ServerMonitor/ServerMonitor";
import ServerMonitorResponse from "Common/Types/Monitor/ServerMonitor/ServerMonitorResponse";
import ObjectID from "Common/Types/ObjectID";
import Permission from "Common/Types/Permission";
import {
@@ -993,7 +993,7 @@ export default class Monitor extends BaseModel {
type: ColumnType.JSON,
nullable: true,
})
public serverMonitor?: ServerMonitor = undefined;
public serverMonitorResponse?: ServerMonitorResponse = undefined;
@ColumnAccessControl({
create: [],

View File

@@ -18,10 +18,10 @@ import Dictionary from "Common/Types/Dictionary";
import IconProp from "Common/Types/Icon/IconProp";
import ObjectID from "Common/Types/ObjectID";
import Permission from "Common/Types/Permission";
import ProbeMonitor from "Common/Types/Monitor/Monitor";
import ProbeMonitorResponse from "Common/Types/Probe/ProbeMonitorResponse";
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
export type MonitorStepProbeResponse = Dictionary<ProbeMonitor>;
export type MonitorStepProbeResponse = Dictionary<ProbeMonitorResponse>;
@EnableDocumentation()
@TenantColumn("projectId")