diff --git a/utils/actions.js b/utils/actions.js index 44ba9b3..321de76 100644 --- a/utils/actions.js +++ b/utils/actions.js @@ -92,7 +92,7 @@ function ProcessIncomingRequest (data) { let subjRow = '\t' + d.subj if (d.id) { subjRow += ' ( CID: ' + logger.logHashed(d.id) + ')' - idStats.LogId(d.id) + idStats.LogId(d.id, d.subj) } logger.Log(subjRow) if (d.version !== undefined) { msg += '. Version: ' + d.version } diff --git a/utils/ids.js b/utils/ids.js index 7dcb506..44b0bf7 100644 --- a/utils/ids.js +++ b/utils/ids.js @@ -28,7 +28,7 @@ const logger = require('../utils/logger.js') const idStatFile = 'stats/idstats' const idVStatFile = 'stats/idvstats' -const writeInterval = 10 +const writeInterval = 1 let data = {} let vData = {} @@ -52,23 +52,41 @@ function Load () { } } -function LogId (id) { - Inc(id) - AddVisitStat(id) +function LogId (id, subj) { + Inc(id, subj) + AddVisitStat(id, subj) Save() } -function Inc (value) { - if (data[value] === undefined) { data[value] = 0 } - data[value]++ +function AddSubjToList (list, subj) { + if (list.indexOf(subj) === -1) { + list.push(subj) + } } -function AddVisitStat (name) { +function Inc (value, subj) { + if (data[value] === undefined) { + data[value] = { + count: 0, + subjs: [] + } + } + data[value].count++ + AddSubjToList(data[value].subjs, subj) +} + +function AddVisitStat (name, subj) { var m = new Date() const now = m.getFullYear() + '/' + ('0' + (m.getMonth() + 1)).slice(-2) + '/' + ('0' + m.getDate()).slice(-2) if (vData[now] === undefined) { vData[now] = {} } - if (vData[now][name] === undefined) { vData[now][name] = 0 } - vData[now][name]++ + if (vData[now][name] === undefined) { + vData[now][name] = { + count: 0, + subjs: [] + } + } + vData[now][name].count++ + AddSubjToList(vData[now][name].subjs, subj) } function Save () {