debug improved

This commit is contained in:
Wolfgang Hottgenroth
2017-08-28 12:39:53 +02:00
parent 9356a81fd1
commit 5b909f5a7a
8 changed files with 55 additions and 47 deletions

View File

@ -1,10 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const nodemailer = require("nodemailer");
const log = require("./log");
const CallChain = require("./callchain");
const Processor = require("./processor");
const config = require("./config");
const CHECK_PERIOD = 60; // seconds
class ClientEntry {
}
@ -12,40 +10,20 @@ class MissingEventProcessor extends Processor.AProcessor {
constructor() {
super("MissingEventProcessor");
this.clientMap = new Map();
this.smtp = nodemailer.createTransport({
host: config.dict.smtpHost,
port: config.dict.smtpPort,
secure: false,
tls: {
rejectUnauthorized: false
}
});
this.timer = setInterval(() => {
this.clientMap.forEach((value, key) => {
let currentTime = new Date().getTime();
let elapsedTime = currentTime - value.lastEvent;
log.info(`Checking ${key}, elapsed: ${elapsedTime / 1000}, avg. delay: ${value.avgDelay / 1000}`);
log.info(`MissingEventProcessor: Checking ${key}, elapsed: ${elapsedTime / 1000}, avg. delay: ${value.avgDelay / 1000}`);
if ((value.avgDelay != 0) && (elapsedTime > (value.avgDelay * 3))) {
let mail = {
from: config.dict.smtpSender,
to: config.dict.smtpReceiver,
subject: `Missing Event Detected for ${key}`,
text: `Missing Event Detected: ${key}, elapsed: ${elapsedTime / 1000}, avg. delay: ${value.avgDelay / 1000}`
};
this.smtp.sendMail(mail)
.then((v) => {
log.info(`Missing event info mail sent, ${v.response}`);
})
.catch((reason) => {
log.error(`Failure when sending missing event info: ${reason}`);
});
log.sendAlarmMail(`Missing Event Detected: ${key}, elapsed: ${elapsedTime / 1000}, avg. delay: ${value.avgDelay / 1000}`);
}
});
}, CHECK_PERIOD * 1000);
}
process(message) {
let client = message.metadata.client;
log.info(`Event for client ${client}`);
log.info(`MissingEventProcessor: Event for client ${client}`);
let currentTime = new Date().getTime();
if (this.clientMap.has(client)) {
let clientEntry = this.clientMap.get(client);
@ -58,7 +36,7 @@ class MissingEventProcessor extends Processor.AProcessor {
clientEntry.avgDelay = clientEntry.delaySum / clientEntry.count;
}
this.clientMap.set(client, clientEntry);
log.info(`Entry for ${client} updated`);
log.info(`MissingEventProcessor: Entry for ${client} updated`);
}
else {
let clientEntry = new ClientEntry();
@ -69,7 +47,7 @@ class MissingEventProcessor extends Processor.AProcessor {
clientEntry.delaySum = 0;
clientEntry.avgDelay = 0;
this.clientMap.set(client, clientEntry);
log.info(`Entry for ${client} inserted`);
log.info(`MissingEventProcessor: Entry for ${client} inserted`);
}
}
}