From 2b7f5c571a029d14109eb65b4f8903599ad575e6 Mon Sep 17 00:00:00 2001 From: Stephen Papierski Date: Fri, 10 Nov 2023 16:22:24 -0700 Subject: [PATCH 01/23] Add threshold line to ping chart --- ...11-10-slow-response-visual-improvements.js | 17 +++++++++ package.json | 1 + server/model/heartbeat.js | 2 + server/model/monitor.js | 2 + src/components/PingChart.vue | 37 ++++++++++++++++++- 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 db/knex_migrations/2023-11-10-slow-response-visual-improvements.js diff --git a/db/knex_migrations/2023-11-10-slow-response-visual-improvements.js b/db/knex_migrations/2023-11-10-slow-response-visual-improvements.js new file mode 100644 index 000000000..05fc950bd --- /dev/null +++ b/db/knex_migrations/2023-11-10-slow-response-visual-improvements.js @@ -0,0 +1,17 @@ +exports.up = function (knex) { + // add various slow response parameters + return knex.schema + .alterTable("heartbeat", function (table) { + table.integer("ping_status").nullable().defaultTo(null); + table.integer("ping_threshold").nullable().defaultTo(null); + }); +}; + +exports.down = function (knex) { + // remove various slow response parameters + return knex.schema + .alterTable("heartbeat", function (table) { + table.dropColumn("ping_status"); + table.dropColumn("ping_threshold"); + }); +}; diff --git a/package.json b/package.json index f11712658..7121e2f24 100644 --- a/package.json +++ b/package.json @@ -152,6 +152,7 @@ "bootstrap": "5.1.3", "chart.js": "~4.2.1", "chartjs-adapter-dayjs-4": "~1.0.4", + "chartjs-plugin-annotation": "~3.0.1", "concurrently": "^7.1.0", "core-js": "~3.26.1", "cronstrue": "~2.24.0", diff --git a/server/model/heartbeat.js b/server/model/heartbeat.js index cc86ef634..f9eae4ed2 100644 --- a/server/model/heartbeat.js +++ b/server/model/heartbeat.js @@ -36,6 +36,8 @@ class Heartbeat extends BeanModel { ping: this.ping, important: this.important, duration: this.duration, + pingThreshold: this.ping_threshold, + pingStatus: this.ping_status, }; } diff --git a/server/model/monitor.js b/server/model/monitor.js index b6b3ee933..c6bde39be 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -1529,6 +1529,8 @@ class Monitor extends BeanModel { return; } + bean.pingThreshold = threshold; + // Responding normally if (actualResponseTime < threshold) { if (bean.slowResponseCount === 0) { diff --git a/src/components/PingChart.vue b/src/components/PingChart.vue index c550b4b4f..9f4e89e0b 100644 --- a/src/components/PingChart.vue +++ b/src/components/PingChart.vue @@ -19,11 +19,12 @@