reduce the cost to store the respnoses by lowering the limit and changing to brotli
This commit is contained in:
parent
751fe1bbf5
commit
27a84759b1
@ -2,7 +2,7 @@ exports.up = function (knex) {
|
||||
return knex.schema.alterTable("monitor", function (table) {
|
||||
table.boolean("save_response").notNullable().defaultTo(false);
|
||||
table.boolean("save_error_response").notNullable().defaultTo(true);
|
||||
table.integer("response_max_length").notNullable().defaultTo(10240); // Default 10KB
|
||||
table.integer("response_max_length").notNullable().defaultTo(256); // Default 256B
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
const { BeanModel } = require("redbean-node/dist/bean-model");
|
||||
const zlib = require("node:zlib");
|
||||
const { promisify } = require("node:util");
|
||||
const gunzip = promisify(zlib.gunzip);
|
||||
const brotliDecompress = promisify(zlib.brotliDecompress);
|
||||
|
||||
/**
|
||||
* status:
|
||||
@ -73,8 +73,8 @@ class Heartbeat extends BeanModel {
|
||||
}
|
||||
|
||||
try {
|
||||
// Offload gzip decode from main event loop to libuv thread pool
|
||||
return (await gunzip(Buffer.from(response, "base64"))).toString("utf8");
|
||||
// Offload brotli decode from main event loop to libuv thread pool
|
||||
return (await brotliDecompress(Buffer.from(response, "base64"))).toString("utf8");
|
||||
} catch (error) {
|
||||
return response;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ const https = require("https");
|
||||
const http = require("http");
|
||||
const zlib = require("node:zlib");
|
||||
const { promisify } = require("node:util");
|
||||
const gzip = promisify(zlib.gzip);
|
||||
const brotliCompress = promisify(zlib.brotliCompress);
|
||||
const DomainExpiry = require("./domain_expiry");
|
||||
|
||||
const rootCertificates = rootCertificatesFingerprints();
|
||||
@ -1174,8 +1174,8 @@ class Monitor extends BeanModel {
|
||||
responseData = responseData.substring(0, maxSize) + "... (truncated)";
|
||||
}
|
||||
|
||||
// Offload gzip compression from main event loop to libuv thread pool
|
||||
bean.response = (await gzip(Buffer.from(responseData, "utf8"))).toString("base64");
|
||||
// Offload brotli compression from main event loop to libuv thread pool
|
||||
bean.response = (await brotliCompress(Buffer.from(responseData, "utf8"))).toString("base64");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -2269,7 +2269,7 @@ const monitorDefaults = {
|
||||
accepted_statuscodes: ["200-299"],
|
||||
saveResponse: false,
|
||||
saveErrorResponse: true,
|
||||
responseMaxLength: 10240,
|
||||
responseMaxLength: 256,
|
||||
dns_resolve_type: "A",
|
||||
dns_resolve_server: "1.1.1.1",
|
||||
docker_container: "",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user