Skip to content
Snippets Groups Projects
Commit dcc83ab7 authored by Markus Klose's avatar Markus Klose
Browse files

Added Metric MessageCounters

parent 22e2bcf5
No related branches found
No related tags found
No related merge requests found
......@@ -52,6 +52,30 @@ client.collectDefaultMetrics({register});
help: 'The total number of client connections'
}); */
const messageCounterIn = new client.Counter({
name: 'node_message_counter_in',
help: 'Counts the amount of incoming messages from clients to server'
});
const messageCounterOut = new client.Counter({
name: 'node_message_counter_out',
help: 'Counts the amount of outgoing messages from server to clients'
});
const messageAll = new client.Counter({
name: 'node_message_counter_All',
help: 'Counts the amount of times message to all users is used'
});
const messagePrivate = new client.Counter({
name: 'node_message_counter_Private',
help: 'Counts the amount of times private message is used'
});
const messageGroup = new client.Counter({
name: 'node_message_counter_Group',
help: 'Counts the amount of times group message is used'
});
const histogram = new client.Histogram({
name: 'node_request_duration_seconds',
......@@ -59,7 +83,11 @@ const histogram = new client.Histogram({
buckets: [1, 2, 5, 6, 10]
});
register.registerMetric(clientConnectionCounter);
register.registerMetric(messageCounterIn);
register.registerMetric(messageCounterOut);
register.registerMetric(messageAll);
register.registerMetric(messagePrivate);
register.registerMetric(messageGroup);
register.registerMetric(histogram);
app.use(bodyParser.json());
......@@ -104,7 +132,7 @@ app.get('/login', (req, res) => {
io.on('connection', (socket) => {
socket.on('userLogin', async function(response) {
clientConnectionCounter.inc(1);
//clientConnectionCounter.inc(1);
console.log("Connection");
await addUserToActiveUsers(response, socket);
});
......@@ -187,10 +215,16 @@ async function deleteUserFromActiveUsers(response, socket) {
*/
io.on('connection', (socket) => {
socket.on('chat message', (response) =>{
messageCounterIn.inc(1);
messageAll.inc(1);
var msg = response.msg;
var name = response.name;
var dateTime = new Date().toTimeString();
messageCounterOut.inc(activeUsers.size);
io.emit('chat message', {
msg : msg,
name : name,
......@@ -219,6 +253,9 @@ io.on('connection', (socket) => {
io.on('connection', (socket) => {
socket.on('private message', (response) => {
messageCounterIn.inc(1);
messagePrivate.inc(1);
var private_msg = response.msg;
var receiver = response.receiver;
var sender = response.name;
......@@ -227,12 +264,16 @@ io.on('connection', (socket) => {
for(var i = 0; i<array.length; i++) {
if(array[i][1] == receiver){
messageCounterOut.inc(2);
io.emit(receiver, {
msg : private_msg,
sender : sender,
receiver: receiver,
dateTime: dateTime
})
io.emit(sender, {
msg : private_msg,
sender : sender,
......@@ -266,6 +307,9 @@ io.on('connection', (socket) => {
*/
socket.on('groupMessage', (response) => {
messageCounterIn.inc(1);
messageGroup.inc(1);
let sender = response.name;
let receivers = response.receivers;
let groupMsg = response.groupMsg;
......@@ -279,6 +323,9 @@ io.on('connection', (socket) => {
console.log("sender", sender);
for (let i = 0; i<receivers.length; i++) {
messageCounterOut.inc(1);
io.emit(receivers[i].trim(), {
msg: groupMsg,
sender: sender,
......@@ -286,6 +333,9 @@ io.on('connection', (socket) => {
dateTime: dateTime
})
}
messageCounterOut.inc(1);
io.emit(sender, {
msg: groupMsg,
sender: sender,
......@@ -295,22 +345,6 @@ io.on('connection', (socket) => {
})
})
/* async function getKeyFromVal(receiver){
return new Promise( () => {
var array = Array.from(activeUsers);
console.log("usersArray: " + array);
var receiverSocketId;
for (var i = 0; i<array.length; i++){
console.log("array[i] ", array[i][0]);
if(array[i][1] == receiver) {
receiverSocketId = array[i][0];
resolve(receiverSocketId);
} else {
resolve("false");
}
}
})
} */
//Logs message from Socket to Console
io.on('connection', (socket) => {
......
......
......@@ -14,5 +14,5 @@ scrape_configs:
scrape_interval: 5s
# scheme: https
static_configs:
- targets: ['192.168.0.230:5000']
- targets: ['192.168.2.34:5000']
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment