From 6d09108bbea3f1a966467290732976aed75e728a Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 5 Feb 2025 15:27:27 -0800 Subject: [PATCH] add additionalfields --- .../distributedUptimeController.js | 7 ++++- Server/db/models/DistributedUptimeCheck.js | 24 +++++++++++++++ Server/service/statusService.js | 30 +++++++++++++++++-- 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/Server/controllers/distributedUptimeController.js b/Server/controllers/distributedUptimeController.js index 09c1497cf..bef6662d3 100644 --- a/Server/controllers/distributedUptimeController.js +++ b/Server/controllers/distributedUptimeController.js @@ -54,8 +54,13 @@ class DistributedUptimeController { status, code: status_code, responseTime, + first_byte_took, + body_read_took, + dns_took, + conn_took, + connect_took, + tls_took, }; - if (error) { const code = status_code || this.NETWORK_ERROR; distributedUptimeResponse.code = code; diff --git a/Server/db/models/DistributedUptimeCheck.js b/Server/db/models/DistributedUptimeCheck.js index d09d9b47e..adbeffd09 100644 --- a/Server/db/models/DistributedUptimeCheck.js +++ b/Server/db/models/DistributedUptimeCheck.js @@ -61,6 +61,30 @@ const LocationSchema = new mongoose.Schema( const DistributedUptimeCheckSchema = mongoose.Schema( { ...BaseCheckSchema.obj, + first_byte_took: { + type: Number, + required: false, + }, + body_read_took: { + type: Number, + required: false, + }, + dns_took: { + type: Number, + required: false, + }, + conn_took: { + type: Number, + required: false, + }, + connect_took: { + type: Number, + required: false, + }, + tls_took: { + type: Number, + required: false, + }, location: { type: LocationSchema, required: false, diff --git a/Server/service/statusService.js b/Server/service/statusService.js index 04f654d59..fa263da75 100644 --- a/Server/service/statusService.js +++ b/Server/service/statusService.js @@ -83,8 +83,22 @@ class StatusService { * @returns {Object} The check object. */ buildCheck = (networkResponse) => { - const { monitorId, teamId, type, status, responseTime, code, message, payload } = - networkResponse; + const { + monitorId, + teamId, + type, + status, + responseTime, + code, + message, + payload, + first_byte_took, + body_read_took, + dns_took, + conn_took, + connect_took, + tls_took, + } = networkResponse; const check = { monitorId, @@ -93,6 +107,12 @@ class StatusService { statusCode: code, responseTime, message, + first_byte_took, + body_read_took, + dns_took, + conn_took, + connect_took, + tls_took, }; if (type === "distributed_http") { @@ -101,6 +121,12 @@ class StatusService { check.city = payload.city; check.location = payload.location; check.uptBurnt = payload.upt_burnt; + check.first_byte_took = payload.first_byte_took; + check.body_read_took = payload.body_read_took; + check.dns_took = payload.dns_took; + check.conn_took = payload.conn_took; + check.connect_took = payload.connect_took; + check.tls_took = payload.tls_took; } if (type === "pagespeed") {