diff --git a/app.js b/app.js index dadd32531b1a2c227869ed5ede8a6c5fff9a6859..38fee1efd6115c749baf2146ac7d0a218104c65f 100644 --- a/app.js +++ b/app.js @@ -9,18 +9,18 @@ import { middlewareErrorHandler, middlewareUnknownRoute } from './utils/handleEr * watches for performance.mark entries * * each entry must follow the naming convention: - * performance.mark('<arbitaryName>_start'); - * performance.mark('<arbitaryName>_end'); + * performance.mark('<arbitaryName>:start'); + * performance.mark('<arbitaryName>:end'); * */ const observer = new PerformanceObserver((list, observer) => { for (const entry of list.getEntries()) { try { // check if mark is an endpoint - if (entry.name.endsWith('_end')) { + if (entry.name.endsWith(':end')) { // define names, based on entry name - const measurementName = entry.name.replace('_end', ''); - const startName = `${measurementName}_start`; + const measurementName = entry.name.replace(':end', ''); + const startName = `${measurementName}:start`; // calculate const measurement = performance.measure(measurementName, startName, entry.name); // log diff --git a/controllers/AI.js b/controllers/AI.js index df2ef69798f130140b9a19631fcfbc65186b8215..c4517cddbe0f1a083092aadeec075ea868282213 100644 --- a/controllers/AI.js +++ b/controllers/AI.js @@ -88,10 +88,9 @@ export const getChat = async (req, res, next) => { try { console.info(performance); // create chat and remember ID - const markStart = performance.mark('create_chat_start'); + performance.mark('create_chat:start'); req.body.chatId = await createChat(req.body.model, req.body.input); - const markEnd = performance.mark('create_chat_end'); - // console.log(performance.measure('createChat', 'create_chat_start', 'create_chat_end')); + performance.mark('create_chat:end'); // return return next(); } catch (error) { diff --git a/controllers/Auth.js b/controllers/Auth.js index 6d6e9ab98de590dd9bbef542083b2263af92b55f..c3b00913c7ed9c18ffa7c438cf438f686d365b23 100644 --- a/controllers/Auth.js +++ b/controllers/Auth.js @@ -55,7 +55,7 @@ export const login = async (req, res, next) => { // check credentials try { // search for matching document - performance.mark('login_start'); + performance.mark('login:start'); foundUser = await findOneRecord(User, { email: req.body.email }, '+password'); // wrong login name @@ -68,23 +68,23 @@ export const login = async (req, res, next) => { return res.status(401).json({ message: 'Your account is still unverified. Check your emails for the verification link.' }); } - // check for correct passwordperformance.mark('createAccessToken_start'); - performance.mark('bcryptComparePassword_start'); + // check for correct password + performance.mark('bcryptComparePassword:start'); if (await bcrypt.compare(req.body.password, foundUser.password)) { - performance.mark('bcryptComparePassword_end'); + performance.mark('bcryptComparePassword:end'); // remember document but remove confidential info const user = hideConfidentialFields(User, foundUser); // create jsonwebtoken - performance.mark('createAccessToken_start'); + performance.mark('createAccessToken:start'); const accessToken = createAccessToken({ id: user._id, role: user.role }); - performance.mark('createAccessToken_end'); - performance.mark('createRefreshToken_start'); + performance.mark('createAccessToken:end'); + performance.mark('createRefreshToken:start'); const refreshToken = await createRefreshToken({ id: user._id }); - performance.mark('createRefreshToken_end'); + performance.mark('createRefreshToken:end'); if (refreshToken == null) return res.status(500).json({ message: 'Error creating refresh token' }); - performance.mark('login_end'); + performance.mark('login:end'); // success return res .cookie('refreshToken', refreshToken, { httpOnly: true, sameSite: 'none', secure: true }) diff --git a/utils/handleDB.js b/utils/handleDB.js index 43b103faa4fd351a52e7347e9fb2662a4a45a87a..8ac754727c33f0eae8bf8c037101597c557c099d 100644 --- a/utils/handleDB.js +++ b/utils/handleDB.js @@ -64,7 +64,7 @@ export const createRecord = async (model, data) => { * @return {object} found document */ export const findOneRecord = async (model, searchObject = {}, fieldHandler = '') => { - performance.mark('findOneRecord_start'); + performance.mark('findOneRecord:start'); try { let foundRecord; if (!fieldHandler) { @@ -72,7 +72,7 @@ export const findOneRecord = async (model, searchObject = {}, fieldHandler = '') } else { foundRecord = await model.findOne(searchObject).select(fieldHandler); } - performance.mark('findOneRecord_end'); + performance.mark('findOneRecord:end'); return foundRecord; } catch (error) { throw error; diff --git a/utils/handleSchemes.js b/utils/handleSchemes.js index ad631277d8bcd6ff53d8f78f8a19f4640755ade2..e64af30de628d3ebd2ce4be501dc6ffd23487941 100644 --- a/utils/handleSchemes.js +++ b/utils/handleSchemes.js @@ -7,12 +7,12 @@ * @return {array} matching field names */ export const getConfidentialFields = (model) => { - performance.mark('getConfidentialFields_start'); + performance.mark('getConfidentialFields:start'); const schema = Object.entries(model.schema.paths); const confidentialFields = schema.filter(function (field) { return field[1].selected === false; }); - performance.mark('getConfidentialFields_end'); + performance.mark('getConfidentialFields:end'); return confidentialFields.map(field => field[0]); };