mirror of
https://github.com/OneUptime/oneuptime
synced 2024-11-21 22:59:07 +00:00
Fix probeId conversion to string in ProbeMonitorResponseService
This commit is contained in:
parent
28f4f0f37c
commit
038684e512
@ -470,7 +470,7 @@ export default class ProbeMonitorResponseService {
|
|||||||
data.dataToProcess as ProbeMonitorResponse
|
data.dataToProcess as ProbeMonitorResponse
|
||||||
).responseTimeInMs;
|
).responseTimeInMs;
|
||||||
monitorMetricsByMinute.miscData = {
|
monitorMetricsByMinute.miscData = {
|
||||||
probeId: (data.dataToProcess as ProbeMonitorResponse).probeId,
|
probeId: (data.dataToProcess as ProbeMonitorResponse).probeId.toString(),
|
||||||
};
|
};
|
||||||
|
|
||||||
itemsToSave.push(monitorMetricsByMinute);
|
itemsToSave.push(monitorMetricsByMinute);
|
||||||
@ -486,7 +486,7 @@ export default class ProbeMonitorResponseService {
|
|||||||
data.dataToProcess as ProbeMonitorResponse
|
data.dataToProcess as ProbeMonitorResponse
|
||||||
).responseCode;
|
).responseCode;
|
||||||
monitorMetricsByMinute.miscData = {
|
monitorMetricsByMinute.miscData = {
|
||||||
probeId: (data.dataToProcess as ProbeMonitorResponse).probeId,
|
probeId: (data.dataToProcess as ProbeMonitorResponse).probeId.toString(),
|
||||||
};
|
};
|
||||||
|
|
||||||
itemsToSave.push(monitorMetricsByMinute);
|
itemsToSave.push(monitorMetricsByMinute);
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
AxisLeft,
|
AxisLeft,
|
||||||
AxisType,
|
AxisType,
|
||||||
ChartCurve,
|
ChartCurve,
|
||||||
|
LineChartData,
|
||||||
LineChartDataItem,
|
LineChartDataItem,
|
||||||
LineChartPoint,
|
LineChartPoint,
|
||||||
XScale,
|
XScale,
|
||||||
@ -47,7 +48,7 @@ export class MonitorCharts {
|
|||||||
public static getDistinctMiscDataFromMonitorMetricsByMinute(data: {
|
public static getDistinctMiscDataFromMonitorMetricsByMinute(data: {
|
||||||
monitorMetricsByMinute: Array<MonitorMetricsByMinute>;
|
monitorMetricsByMinute: Array<MonitorMetricsByMinute>;
|
||||||
checkOn: CheckOn;
|
checkOn: CheckOn;
|
||||||
}): Array<JSONObject | undefined> {
|
}): Array<JSONObject> {
|
||||||
const miscData: Array<JSONObject | undefined> =
|
const miscData: Array<JSONObject | undefined> =
|
||||||
data.monitorMetricsByMinute
|
data.monitorMetricsByMinute
|
||||||
.filter((item: MonitorMetricsByMinute) => {
|
.filter((item: MonitorMetricsByMinute) => {
|
||||||
@ -69,13 +70,34 @@ export class MonitorCharts {
|
|||||||
}) === index
|
}) === index
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
).filter((item: JSONObject | undefined) => {
|
||||||
|
return !!item;
|
||||||
|
}) as Array<JSONObject>;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static getChartData(data: {
|
||||||
|
monitorMetricsByMinute: Array<MonitorMetricsByMinute>;
|
||||||
|
checkOn: CheckOn;
|
||||||
|
miscData: JSONObject | undefined;
|
||||||
|
}): LineChartData {
|
||||||
|
|
||||||
|
const { monitorMetricsByMinute, checkOn } = data;
|
||||||
|
|
||||||
|
return {
|
||||||
|
id: `line-${Text.generateRandomNumber()}`,
|
||||||
|
data: MonitorCharts.getDataForCharts({
|
||||||
|
monitorMetricsByMinute,
|
||||||
|
checkOn: checkOn,
|
||||||
|
miscData: data.miscData,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static getChartProps(data: {
|
public static getChartProps(data: {
|
||||||
monitorMetricsByMinute: Array<MonitorMetricsByMinute>;
|
monitorMetricsByMinute: Array<MonitorMetricsByMinute>;
|
||||||
checkOn: CheckOn;
|
checkOn: CheckOn;
|
||||||
miscData: JSONObject | undefined;
|
miscData: Array<JSONObject> | undefined;
|
||||||
}): Chart {
|
}): Chart {
|
||||||
const { monitorMetricsByMinute, checkOn } = data;
|
const { monitorMetricsByMinute, checkOn } = data;
|
||||||
|
|
||||||
@ -85,27 +107,36 @@ export class MonitorCharts {
|
|||||||
checkOn: checkOn,
|
checkOn: checkOn,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const chartData: Array<LineChartData> = [];
|
||||||
|
|
||||||
|
if(!data.miscData) {
|
||||||
|
chartData.push(MonitorCharts.getChartData({
|
||||||
|
monitorMetricsByMinute,
|
||||||
|
checkOn,
|
||||||
|
miscData: undefined,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (const miscData of data.miscData || []) {
|
||||||
|
chartData.push(MonitorCharts.getChartData({
|
||||||
|
monitorMetricsByMinute,
|
||||||
|
checkOn,
|
||||||
|
miscData: miscData,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: `chart-${Text.generateRandomNumber()}`,
|
id: `chart-${Text.generateRandomNumber()}`,
|
||||||
type: ChartType.LINE,
|
type: ChartType.LINE,
|
||||||
title: MonitorCharts.getChartTitle({
|
title: MonitorCharts.getChartTitle({
|
||||||
checkOn: checkOn,
|
checkOn: checkOn
|
||||||
miscData: data.miscData,
|
|
||||||
}),
|
}),
|
||||||
description: MonitorCharts.getChartDescription({
|
description: MonitorCharts.getChartDescription({
|
||||||
checkOn: checkOn,
|
checkOn: checkOn,
|
||||||
}),
|
}),
|
||||||
props: {
|
props: {
|
||||||
data: [
|
data: chartData,
|
||||||
{
|
|
||||||
id: `line-${Text.generateRandomNumber()}`,
|
|
||||||
data: MonitorCharts.getDataForCharts({
|
|
||||||
monitorMetricsByMinute,
|
|
||||||
checkOn: checkOn,
|
|
||||||
miscData: data.miscData,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
xScale: MonitorCharts.getXScaleFor({
|
xScale: MonitorCharts.getXScaleFor({
|
||||||
monitorMetricsByMinute,
|
monitorMetricsByMinute,
|
||||||
}),
|
}),
|
||||||
@ -146,22 +177,22 @@ export class MonitorCharts {
|
|||||||
const charts: Array<Chart> = [];
|
const charts: Array<Chart> = [];
|
||||||
|
|
||||||
for (const checkOn of checkOns) {
|
for (const checkOn of checkOns) {
|
||||||
const distinctMiscData: Array<JSONObject | undefined> =
|
const distinctMiscData: Array<JSONObject> =
|
||||||
MonitorCharts.getDistinctMiscDataFromMonitorMetricsByMinute({
|
MonitorCharts.getDistinctMiscDataFromMonitorMetricsByMinute({
|
||||||
monitorMetricsByMinute,
|
monitorMetricsByMinute,
|
||||||
checkOn,
|
checkOn,
|
||||||
|
}).filter((item: JSONObject | undefined) => {
|
||||||
|
return !!item;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (distinctMiscData.length > 0) {
|
if (distinctMiscData.length > 0) {
|
||||||
for (const miscData of distinctMiscData) {
|
charts.push(
|
||||||
charts.push(
|
MonitorCharts.getChartProps({
|
||||||
MonitorCharts.getChartProps({
|
monitorMetricsByMinute,
|
||||||
monitorMetricsByMinute,
|
checkOn,
|
||||||
checkOn,
|
miscData: distinctMiscData,
|
||||||
miscData,
|
})
|
||||||
})
|
);
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
charts.push(
|
charts.push(
|
||||||
MonitorCharts.getChartProps({
|
MonitorCharts.getChartProps({
|
||||||
@ -208,15 +239,7 @@ export class MonitorCharts {
|
|||||||
|
|
||||||
public static getChartTitle(data: {
|
public static getChartTitle(data: {
|
||||||
checkOn: CheckOn;
|
checkOn: CheckOn;
|
||||||
miscData: JSONObject | undefined;
|
|
||||||
}): string {
|
}): string {
|
||||||
if (data.checkOn === CheckOn.DiskUsagePercent) {
|
|
||||||
return (
|
|
||||||
'Disk Usage (in %)' +
|
|
||||||
(data.miscData ? ` for ${data.miscData['diskPath']}` : '')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return data.checkOn;
|
return data.checkOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +222,30 @@ services:
|
|||||||
network: host
|
network: host
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./Probe/Dockerfile
|
dockerfile: ./Probe/Dockerfile
|
||||||
|
|
||||||
|
probe-2:
|
||||||
|
volumes:
|
||||||
|
- ./Probe:/usr/src/app
|
||||||
|
# Use node modules of the container and not host system.
|
||||||
|
# https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder
|
||||||
|
- /usr/src/app/node_modules/
|
||||||
|
- ./Common:/usr/src/Common
|
||||||
|
- ./Model:/usr/src/Model
|
||||||
|
- ./CommonServer:/usr/src/CommonServer
|
||||||
|
- ./CommonUI:/usr/src/CommonUI
|
||||||
|
- /usr/src/Common/node_modules/
|
||||||
|
- /usr/src/CommonUI/node_modules/
|
||||||
|
- /usr/src/CommonServer/node_modules/
|
||||||
|
- /usr/src/Model/node_modules/
|
||||||
|
extends:
|
||||||
|
file: ./docker-compose.base.yml
|
||||||
|
service: probe-2
|
||||||
|
ports:
|
||||||
|
- '9656:9229' # Debugging port.
|
||||||
|
build:
|
||||||
|
network: host
|
||||||
|
context: .
|
||||||
|
dockerfile: ./Probe/Dockerfile
|
||||||
|
|
||||||
ingestor:
|
ingestor:
|
||||||
volumes:
|
volumes:
|
||||||
|
Loading…
Reference in New Issue
Block a user