61 lines
1.4 KiB
JavaScript
61 lines
1.4 KiB
JavaScript
const WebSocket = require('ws');
|
|
|
|
const WS_SERVER_PORT = process.env.WS_SERVER_PORT || 8191;
|
|
|
|
class Metrics {
|
|
static interestingMetrics = [
|
|
'submit_sm',
|
|
'deliver_sm'
|
|
];
|
|
metrics = {};
|
|
|
|
constructor() {
|
|
}
|
|
|
|
processPdu(pdu) {
|
|
if (Metrics.interestingMetrics.indexOf(pdu.command) !== -1) {
|
|
let timestamp = Math.floor(new Date().getTime() / 1000);
|
|
|
|
if (!!!this.metrics[timestamp]) {
|
|
this.metrics[timestamp] = {};
|
|
}
|
|
if (!!!this.metrics[timestamp][pdu.command]) {
|
|
this.metrics[timestamp][pdu.command] = 0;
|
|
}
|
|
|
|
this.metrics[timestamp][pdu.command] += 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
let clientMetrics = new Metrics();
|
|
let centerMetrics = new Metrics();
|
|
|
|
const ws = new WebSocket(`ws://localhost:${WS_SERVER_PORT}`);
|
|
ws.on('open', () => {
|
|
console.log('WebSocket connection established');
|
|
ws.send("client:0");
|
|
});
|
|
ws.on('message', (data) => {
|
|
data = JSON.parse(data);
|
|
console.log(data);
|
|
});
|
|
|
|
const ws2 = new WebSocket(`ws://localhost:${WS_SERVER_PORT}`);
|
|
ws2.on('open', () => {
|
|
console.log('WebSocket connection established');
|
|
ws2.send("center:0");
|
|
});
|
|
ws2.on('message', (data) => {
|
|
data = JSON.parse(data);
|
|
console.log(data);
|
|
// if (data.type === 'pdu') {
|
|
// centerMetrics.processPdu(data.value);
|
|
// }
|
|
});
|
|
|
|
// setInterval(() => {
|
|
// console.log(clientMetrics.metrics);
|
|
// // console.log(centerMetrics.metrics);
|
|
// console.log("");
|
|
// }, 500);
|