mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
refactor: Update monitor interfaces to use consistent naming
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
@@ -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: [],
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user