mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
stats.js refactor
This commit is contained in:
parent
50a1dd91eb
commit
d4cd019f29
1 changed files with 65 additions and 81 deletions
144
utils/stat.js
144
utils/stat.js
|
@ -19,94 +19,78 @@
|
||||||
------------------------------------------------------------------------- */
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
LogStat: LogStat,
|
LogStat: LogStat,
|
||||||
Load: Load
|
Load: Load
|
||||||
};
|
|
||||||
|
|
||||||
var utils = require('./utils.js');
|
|
||||||
var logger = require('./logger.js');
|
|
||||||
|
|
||||||
const statFile = "stats/stats";
|
|
||||||
const vStatFile = "stats/vstats";
|
|
||||||
const writeInterval = 10;
|
|
||||||
|
|
||||||
var data = {};
|
|
||||||
var vData = {};
|
|
||||||
var writes = 0;
|
|
||||||
|
|
||||||
function Load() {
|
|
||||||
try {
|
|
||||||
var prevData = utils.ReadFile(statFile);
|
|
||||||
data = JSON.parse(prevData);
|
|
||||||
} catch (e) {
|
|
||||||
logger.Log("Error at loading logs! (@ first run its normal)", logger.GetColor("redbg"));
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
var prevVData = utils.ReadFile(vStatFile);
|
|
||||||
vData = JSON.parse(prevVData);
|
|
||||||
} catch (e) {
|
|
||||||
logger.Log("Error at loading visit logs! (@ first run its normal)", logger.GetColor("redbg"));
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function LogStat(url) {
|
var utils = require('../utils/utils.js')
|
||||||
Inc(url);
|
var logger = require('../utils/logger.js')
|
||||||
AddVisitStat(url);
|
|
||||||
Save();
|
const statFile = '../stats/stats'
|
||||||
|
const vStatFile = '../stats/vstats'
|
||||||
|
const writeInterval = 10
|
||||||
|
|
||||||
|
var data = {}
|
||||||
|
var vData = {}
|
||||||
|
var writes = 0
|
||||||
|
|
||||||
|
function Load () {
|
||||||
|
try {
|
||||||
|
var prevData = utils.ReadFile(statFile)
|
||||||
|
data = JSON.parse(prevData)
|
||||||
|
} catch (e) {
|
||||||
|
logger.Log('Error at loading logs! (@ first run its normal)', logger.GetColor('redbg'))
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var prevVData = utils.ReadFile(vStatFile)
|
||||||
|
vData = JSON.parse(prevVData)
|
||||||
|
} catch (e) {
|
||||||
|
logger.Log('Error at loading visit logs! (@ first run its normal)', logger.GetColor('redbg'))
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Inc(value) {
|
function LogStat (url) {
|
||||||
if (value.startsWith("/?"))
|
Inc(url)
|
||||||
value = "/";
|
AddVisitStat(url)
|
||||||
if (data[value] == undefined)
|
Save()
|
||||||
data[value] = 0;
|
|
||||||
data[value]++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function AddVisitStat(name) {
|
function Inc (value) {
|
||||||
var m = new Date();
|
if (value.startsWith('/?')) { value = '/' }
|
||||||
const now = m.getFullYear() + "/" +
|
if (data[value] == undefined) { data[value] = 0 }
|
||||||
("0" + (m.getMonth() + 1)).slice(-2) + "/" +
|
data[value]++
|
||||||
("0" + m.getDate()).slice(-2);
|
|
||||||
if (vData[now] == undefined)
|
|
||||||
vData[now] = {};
|
|
||||||
if (vData[now][name] == undefined)
|
|
||||||
vData[now][name] = 0;
|
|
||||||
vData[now][name]++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function AddVisitStat(name) {
|
function AddVisitStat (name) {
|
||||||
var m = new Date();
|
var m = new Date()
|
||||||
const now = m.getFullYear() + "/" +
|
const now = m.getFullYear() + '/' +
|
||||||
("0" + (m.getMonth() + 1)).slice(-2) + "/" +
|
('0' + (m.getMonth() + 1)).slice(-2) + '/' +
|
||||||
("0" + m.getDate()).slice(-2);
|
('0' + m.getDate()).slice(-2)
|
||||||
if (vData[now] == undefined)
|
if (vData[now] == undefined) { vData[now] = {} }
|
||||||
vData[now] = {};
|
if (vData[now][name] == undefined) { vData[now][name] = 0 }
|
||||||
if (vData[now][name] == undefined)
|
vData[now][name]++
|
||||||
vData[now][name] = 0;
|
|
||||||
vData[now][name]++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function Save() {
|
function Save () {
|
||||||
writes++;
|
writes++
|
||||||
if (writes == writeInterval) {
|
if (writes == writeInterval) {
|
||||||
try {
|
try {
|
||||||
utils.WriteFile(JSON.stringify(data), statFile);
|
utils.WriteFile(JSON.stringify(data), statFile)
|
||||||
// logger.Log("Stats wrote.");
|
// logger.Log("Stats wrote.");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.Log("Error at writing logs!", logger.GetColor("redbg"));
|
logger.Log('Error at writing logs!', logger.GetColor('redbg'))
|
||||||
console.log(e);
|
console.log(e)
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
utils.WriteFile(JSON.stringify(vData), vStatFile);
|
utils.WriteFile(JSON.stringify(vData), vStatFile)
|
||||||
// logger.Log("Stats wrote.");
|
// logger.Log("Stats wrote.");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.Log("Error at writing visit logs!", logger.GetColor("redbg"));
|
logger.Log('Error at writing visit logs!', logger.GetColor('redbg'))
|
||||||
console.log(e);
|
console.log(e)
|
||||||
}
|
}
|
||||||
writes = 0;
|
writes = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue