diff --git a/client/src/Hooks/monitorHooks.js b/client/src/Hooks/monitorHooks.js
index 970b5d97f..eb1e7acdc 100644
--- a/client/src/Hooks/monitorHooks.js
+++ b/client/src/Hooks/monitorHooks.js
@@ -369,6 +369,8 @@ const useUpdateMonitor = () => {
setIsLoading(true);
const updatedFields = {
name: monitor.name,
+ statusWindowSize: monitor.statusWindowSize,
+ statusWindowThreshold: monitor.statusWindowThreshold,
description: monitor.description,
interval: monitor.interval,
notifications: monitor.notifications,
diff --git a/client/src/Pages/Uptime/Create/index.jsx b/client/src/Pages/Uptime/Create/index.jsx
index 668d840af..c763071da 100644
--- a/client/src/Pages/Uptime/Create/index.jsx
+++ b/client/src/Pages/Uptime/Create/index.jsx
@@ -55,6 +55,8 @@ const UptimeCreate = ({ isClone = false }) => {
// States
const [monitor, setMonitor] = useState({
type: "http",
+ statusWindowSize: 5,
+ statusWindowThreshold: 60,
matchMethod: "equal",
expectedValue: "",
jsonPath: "",
@@ -177,7 +179,10 @@ const UptimeCreate = ({ isClone = false }) => {
? `http${https ? "s" : ""}://` + monitor.url
: monitor.url,
name: monitor.name || monitor.url.substring(0, 50),
+ statusWindowSize: monitor.statusWindowSize,
+ statusWindowThreshold: monitor.statusWindowThreshold,
type: monitor.type,
+
port:
monitor.type === "port" || monitor.type === "game" ? monitor.port : undefined,
interval: monitor.interval,
@@ -192,6 +197,8 @@ const UptimeCreate = ({ isClone = false }) => {
_id: monitor._id,
url: monitor.url,
name: monitor.name || monitor.url.substring(0, 50),
+ statusWindowSize: monitor.statusWindowSize,
+ statusWindowThreshold: monitor.statusWindowThreshold,
type: monitor.type,
matchMethod: monitor.matchMethod,
expectedValue: monitor.expectedValue,
@@ -602,6 +609,43 @@ const UptimeCreate = ({ isClone = false }) => {
/>
+
+
+
+ Incidents
+
+
+ {
+ "A sliding window is used to determine when a monitor goes down. The status of a monitor will only change when the percentage of checks in the sliding window meet the specified value."
+ }
+
+
+
+
+
+
+