* Refactor swagger docs * Scaffold refactor * Refactor crud tasks * fixup! Refactor crud tasks * Break down task layout * fixup! Break down task layout * fixup! fixup! Break down task layout * Cleanup comments * fixup! Cleanup comments * Cleanup obsolete code * Remove helpers
41 lines
931 B
JavaScript
41 lines
931 B
JavaScript
const { sequelize } = require('../models');
|
|
|
|
let queryCount = 0;
|
|
let queryStartTime = null;
|
|
let queries = [];
|
|
|
|
const enableQueryLogging = () => {
|
|
sequelize.options.logging = (sql, timing) => {
|
|
queryCount++;
|
|
const timestamp = Date.now() - (queryStartTime || Date.now());
|
|
queries.push({
|
|
num: queryCount,
|
|
sql: sql.substring(0, 300),
|
|
time: timestamp,
|
|
});
|
|
console.log(
|
|
`[Query ${queryCount} @ ${timestamp}ms] ${sql.substring(0, 200)}...`
|
|
);
|
|
};
|
|
};
|
|
|
|
const resetQueryCounter = () => {
|
|
queryCount = 0;
|
|
queryStartTime = Date.now();
|
|
queries = [];
|
|
};
|
|
|
|
const getQueryStats = () => {
|
|
const duration = queryStartTime ? Date.now() - queryStartTime : 0;
|
|
return {
|
|
count: queryCount,
|
|
duration,
|
|
queries,
|
|
};
|
|
};
|
|
|
|
module.exports = {
|
|
enableQueryLogging,
|
|
resetQueryCounter,
|
|
getQueryStats,
|
|
};
|