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

Prometheus connected to Chatserver

parent bdbff849
Branches
No related tags found
No related merge requests found
...@@ -6,6 +6,8 @@ services: ...@@ -6,6 +6,8 @@ services:
container_name: prometheus container_name: prometheus
ports: ports:
- "9090:9090" - "9090:9090"
expose:
- 9090
volumes: volumes:
- ./prometheus:/etc/prometheus - ./prometheus:/etc/prometheus
- prometheus-data:/prometheus - prometheus-data:/prometheus
...@@ -34,6 +36,8 @@ services: ...@@ -34,6 +36,8 @@ services:
build: . build: .
ports: ports:
- 5000:5000 - 5000:5000
expose:
- 5000
volumes: volumes:
- ./:/code - ./:/code
depends_on: depends_on:
... ...
......
...@@ -6,13 +6,13 @@ const https = require('https'); ...@@ -6,13 +6,13 @@ const https = require('https');
const fs = require('fs'); const fs = require('fs');
const { mongo, default: mongoose } = require('mongoose'); const { mongo, default: mongoose } = require('mongoose');
//http Server //http Server
//const server = http.createServer(app); const server = http.createServer(app);
//https Server //https Server
const server = https.createServer({ /* const server = https.createServer({
key: fs.readFileSync(__dirname + '/tls/key.pem'), key: fs.readFileSync(__dirname + '/tls/key.pem'),
cert: fs.readFileSync(__dirname + '/tls/cert.pem'), cert: fs.readFileSync(__dirname + '/tls/cert.pem'),
}, app); }, app); */
const { Server } = require("socket.io"); const { Server } = require("socket.io");
const io = new Server(server); const io = new Server(server);
...@@ -24,6 +24,28 @@ const authenticationRoute = require('./routes/auth'); ...@@ -24,6 +24,28 @@ const authenticationRoute = require('./routes/auth');
const { response } = require('express'); const { response } = require('express');
const { resolve } = require('path'); const { resolve } = require('path');
const promClient = require('prom-client');
// Create a Registry to register the metrics
const register = new promClient.Registry();
promClient.collectDefaultMetrics({
app: 'node-application-monitoring-app',
prefix: 'node_',
timeout: 10000,
gcDurationBuckets: [0.001, 0.01, 0.1, 1, 2, 5],
register
});
app.get('/metrics', async (req, res) => {
console.log("===========================================================================================================================================Pissen und Furzen");
res.setHeader('Content-Type', register.contentType);
res.send(await register.metrics());
});
//DB Connection //DB Connection
//mongoose.connect("mongodb://mongodb:27017/cloudComputing"); //mongoose.connect("mongodb://mongodb:27017/cloudComputing");
...@@ -66,7 +88,7 @@ app.get('/login', (req, res) => { ...@@ -66,7 +88,7 @@ app.get('/login', (req, res) => {
/** /**
* Summary: * Summary:
* Function for handling updating the List of users eho are currently online. * Function for handling updating the List of users who are currently online.
* *
* *
* Description: * Description:
...@@ -125,7 +147,7 @@ async function addUserToActiveUsers(response, socket) { ...@@ -125,7 +147,7 @@ async function addUserToActiveUsers(response, socket) {
* Function to delete a user from the map of users, who are currently online. * Function to delete a user from the map of users, who are currently online.
* *
* Description: * Description:
* Function will take the socketID from the socket, of the client, who is disconneting. * Function will take the socketID from the socket, of the promClient, who is disconneting.
* The socketID and its value (username) will be deleted from map activeUsers. * The socketID and its value (username) will be deleted from map activeUsers.
* After deleting the socketID and username io.emit() is called and the upodated userList is sent to all users who are currently online. * After deleting the socketID and username io.emit() is called and the upodated userList is sent to all users who are currently online.
* *
...@@ -302,7 +324,7 @@ io.on('connection', (socket) => { ...@@ -302,7 +324,7 @@ io.on('connection', (socket) => {
* *
* *
* Description: * Description:
* By triggering the 'sendImage' Event, the function emits the given files url to client * By triggering the 'sendImage' Event, the function emits the given files url to promClient
* *
* @listens socket.on() 'sendImage' event * @listens socket.on() 'sendImage' event
*/ */
...@@ -318,7 +340,7 @@ io.on("connection", (socket) => { ...@@ -318,7 +340,7 @@ io.on("connection", (socket) => {
* *
* *
* Description: * Description:
* By triggering the 'sendVideo' Event, the function emits the given files url to client * By triggering the 'sendVideo' Event, the function emits the given files url to promClient
* *
* @listens socket.on() 'sendVideo' event * @listens socket.on() 'sendVideo' event
*/ */
...@@ -334,7 +356,7 @@ io.on("connection", (socket) => { ...@@ -334,7 +356,7 @@ io.on("connection", (socket) => {
* *
* *
* Description: * Description:
* By triggering the 'sendAudio' Event, the function emits the given files url to client * By triggering the 'sendAudio' Event, the function emits the given files url to promClient
* *
* @listens socket.on() 'sendAudio' event * @listens socket.on() 'sendAudio' event
*/ */
... ...
......
...@@ -229,6 +229,11 @@ ...@@ -229,6 +229,11 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/bintrees": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz",
"integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw=="
},
"node_modules/body-parser": { "node_modules/body-parser": {
"version": "1.20.1", "version": "1.20.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
...@@ -508,9 +513,9 @@ ...@@ -508,9 +513,9 @@
} }
}, },
"node_modules/engine.io": { "node_modules/engine.io": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"dependencies": { "dependencies": {
"@types/cookie": "^0.4.1", "@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12", "@types/cors": "^2.8.12",
...@@ -683,19 +688,6 @@ ...@@ -683,19 +688,6 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
}, },
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
...@@ -1472,6 +1464,17 @@ ...@@ -1472,6 +1464,17 @@
"url": "https://github.com/sponsors/jonschlinkert" "url": "https://github.com/sponsors/jonschlinkert"
} }
}, },
"node_modules/prom-client": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.1.0.tgz",
"integrity": "sha512-iFWCchQmi4170omLpFXbzz62SQTmPhtBL35v0qGEVRHKcqIeiexaoYeP0vfZTujxEq3tA87iqOdRbC9svS1B9A==",
"dependencies": {
"tdigest": "^0.1.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/proxy-addr": { "node_modules/proxy-addr": {
"version": "2.0.7", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
...@@ -1882,6 +1885,14 @@ ...@@ -1882,6 +1885,14 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/tdigest": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz",
"integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==",
"dependencies": {
"bintrees": "1.0.2"
}
},
"node_modules/to-regex-range": { "node_modules/to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
... ...
......
...@@ -87,7 +87,6 @@ For more information on the client refer to the ...@@ -87,7 +87,6 @@ For more information on the client refer to the
- **Future proof** - **Future proof**
- **100% Node.JS core style** - **100% Node.JS core style**
- No API sugar (left for higher level projects) - No API sugar (left for higher level projects)
- Written in readable vanilla JavaScript
## API ## API
... ...
......
...@@ -119,7 +119,7 @@ function decodePacket(data, binaryType, utf8decode) { ...@@ -119,7 +119,7 @@ function decodePacket(data, binaryType, utf8decode) {
if (typeof data === 'string') { if (typeof data === 'string') {
type = data.charAt(0); type = data.charAt(0);
if (type === 'b') { if (type === 'b') {
return decodeBase64Packet(data.substr(1), binaryType); return decodeBase64Packet(data.slice(1), binaryType);
} }
if (utf8decode) { if (utf8decode) {
data = tryDecode(data); data = tryDecode(data);
...@@ -131,7 +131,7 @@ function decodePacket(data, binaryType, utf8decode) { ...@@ -131,7 +131,7 @@ function decodePacket(data, binaryType, utf8decode) {
return err; return err;
} }
if (data.length > 1) { if (data.length > 1) {
return { type: packetslist[type], data: data.substring(1) }; return { type: packetslist[type], data: data.slice(1) };
} }
else { else {
return { type: packetslist[type] }; return { type: packetslist[type] };
...@@ -169,7 +169,7 @@ function tryDecode(data) { ...@@ -169,7 +169,7 @@ function tryDecode(data) {
*/ */
function decodeBase64Packet(msg, binaryType) { function decodeBase64Packet(msg, binaryType) {
var type = packetslist[msg.charAt(0)]; var type = packetslist[msg.charAt(0)];
var data = Buffer.from(msg.substr(1), 'base64'); var data = Buffer.from(msg.slice(1), 'base64');
if (binaryType === 'arraybuffer') { if (binaryType === 'arraybuffer') {
var abv = new Uint8Array(data.length); var abv = new Uint8Array(data.length);
for (var i = 0; i < abv.length; i++) { for (var i = 0; i < abv.length; i++) {
...@@ -268,7 +268,7 @@ function decodePayload(data, binaryType, callback) { ...@@ -268,7 +268,7 @@ function decodePayload(data, binaryType, callback) {
// parser error - ignoring payload // parser error - ignoring payload
return callback(err, 0, 1); return callback(err, 0, 1);
} }
msg = data.substr(i + 1, n); msg = data.slice(i + 1, i + 1 + n);
if (length != msg.length) { if (length != msg.length) {
// parser error - ignoring payload // parser error - ignoring payload
return callback(err, 0, 1); return callback(err, 0, 1);
... ...
......
...@@ -391,7 +391,7 @@ class Server extends BaseServer { ...@@ -391,7 +391,7 @@ class Server extends BaseServer {
abortUpgrade(socket, errorCode, errorContext); abortUpgrade(socket, errorCode, errorContext);
return; return;
} }
const head = Buffer.from(upgradeHead); // eslint-disable-line node/no-deprecated-api const head = Buffer.from(upgradeHead);
upgradeHead = null; upgradeHead = null;
// delegate to ws // delegate to ws
this.ws.handleUpgrade(req, socket, head, websocket => { this.ws.handleUpgrade(req, socket, head, websocket => {
...@@ -468,7 +468,7 @@ class Server extends BaseServer { ...@@ -468,7 +468,7 @@ class Server extends BaseServer {
// normalize path // normalize path
path += "/"; path += "/";
function check(req) { function check(req) {
return path === req.url.substr(0, path.length); return path === req.url.slice(0, path.length);
} }
// cache and clean up listeners // cache and clean up listeners
const listeners = server.listeners("request").slice(0); const listeners = server.listeners("request").slice(0);
...@@ -502,6 +502,9 @@ class Server extends BaseServer { ...@@ -502,6 +502,9 @@ class Server extends BaseServer {
setTimeout(function () { setTimeout(function () {
// @ts-ignore // @ts-ignore
if (socket.writable && socket.bytesWritten <= 0) { if (socket.writable && socket.bytesWritten <= 0) {
socket.on("error", e => {
debug("error while destroying upgrade: %s", e.message);
});
return socket.end(); return socket.end();
} }
}, destroyUpgradeTimeout); }, destroyUpgradeTimeout);
... ...
......
{ {
"name": "engine.io", "name": "engine.io",
"version": "6.2.0", "version": "6.2.1",
"description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server", "description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server",
"type": "commonjs", "type": "commonjs",
"main": "./build/engine.io.js", "main": "./build/engine.io.js",
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
}, },
"devDependencies": { "devDependencies": {
"babel-eslint": "^8.0.2", "babel-eslint": "^8.0.2",
"eiows": "^3.8.0", "eiows": "^4.1.2",
"engine.io-client": "6.2.0", "engine.io-client": "6.2.0",
"engine.io-client-v3": "npm:engine.io-client@3.5.2", "engine.io-client-v3": "npm:engine.io-client@3.5.2",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
...@@ -53,17 +53,17 @@ ...@@ -53,17 +53,17 @@
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"superagent": "^3.8.1", "superagent": "^3.8.1",
"typescript": "^4.4.3", "typescript": "^4.4.3",
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.0.0" "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.15.0"
}, },
"scripts": { "scripts": {
"compile": "rimraf ./build && tsc", "compile": "rimraf ./build && tsc",
"test": "npm run compile && npm run format:check && npm run test:default && npm run test:compat-v3 && npm run test:eiows && npm run test:uws", "test": "npm run compile && npm run format:check && npm run test:default && npm run test:compat-v3",
"test:default": "mocha --bail --exit", "test:default": "mocha --bail --exit",
"test:compat-v3": "EIO_CLIENT=3 mocha --exit", "test:compat-v3": "EIO_CLIENT=3 mocha --exit",
"test:eiows": "EIO_WS_ENGINE=eiows mocha --exit", "test:eiows": "EIO_WS_ENGINE=eiows mocha --exit",
"test:uws": "EIO_WS_ENGINE=uws mocha --exit", "test:uws": "EIO_WS_ENGINE=uws mocha --exit",
"format:check": "prettier --check 'lib/**/*.ts' 'test/**/*.js'", "format:check": "prettier --check \"lib/**/*.ts\" \"test/**/*.js\"",
"format:fix": "prettier --write 'lib/**/*.ts' 'test/**/*.js'", "format:fix": "prettier --write \"lib/**/*.ts\" \"test/**/*.js\"",
"prepack": "npm run compile" "prepack": "npm run compile"
}, },
"repository": { "repository": {
... ...
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"mongoose": "^6.6.7", "mongoose": "^6.6.7",
"nodemon": "^2.0.20", "nodemon": "^2.0.20",
"prom-client": "^14.1.0",
"socket.io": "^4.5.3" "socket.io": "^4.5.3"
} }
}, },
...@@ -246,6 +247,11 @@ ...@@ -246,6 +247,11 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/bintrees": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz",
"integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw=="
},
"node_modules/body-parser": { "node_modules/body-parser": {
"version": "1.20.1", "version": "1.20.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
...@@ -525,9 +531,9 @@ ...@@ -525,9 +531,9 @@
} }
}, },
"node_modules/engine.io": { "node_modules/engine.io": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"dependencies": { "dependencies": {
"@types/cookie": "^0.4.1", "@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12", "@types/cors": "^2.8.12",
...@@ -1489,6 +1495,17 @@ ...@@ -1489,6 +1495,17 @@
"url": "https://github.com/sponsors/jonschlinkert" "url": "https://github.com/sponsors/jonschlinkert"
} }
}, },
"node_modules/prom-client": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.1.0.tgz",
"integrity": "sha512-iFWCchQmi4170omLpFXbzz62SQTmPhtBL35v0qGEVRHKcqIeiexaoYeP0vfZTujxEq3tA87iqOdRbC9svS1B9A==",
"dependencies": {
"tdigest": "^0.1.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/proxy-addr": { "node_modules/proxy-addr": {
"version": "2.0.7", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
...@@ -1899,6 +1916,14 @@ ...@@ -1899,6 +1916,14 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/tdigest": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz",
"integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==",
"dependencies": {
"bintrees": "1.0.2"
}
},
"node_modules/to-regex-range": { "node_modules/to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
...@@ -2213,6 +2238,11 @@ ...@@ -2213,6 +2238,11 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
}, },
"bintrees": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz",
"integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw=="
},
"body-parser": { "body-parser": {
"version": "1.20.1", "version": "1.20.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
...@@ -2414,9 +2444,9 @@ ...@@ -2414,9 +2444,9 @@
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
}, },
"engine.io": { "engine.io": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"requires": { "requires": {
"@types/cookie": "^0.4.1", "@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12", "@types/cors": "^2.8.12",
...@@ -3144,6 +3174,14 @@ ...@@ -3144,6 +3174,14 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
}, },
"prom-client": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.1.0.tgz",
"integrity": "sha512-iFWCchQmi4170omLpFXbzz62SQTmPhtBL35v0qGEVRHKcqIeiexaoYeP0vfZTujxEq3tA87iqOdRbC9svS1B9A==",
"requires": {
"tdigest": "^0.1.1"
}
},
"proxy-addr": { "proxy-addr": {
"version": "2.0.7", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
...@@ -3452,6 +3490,14 @@ ...@@ -3452,6 +3490,14 @@
"yallist": "^4.0.0" "yallist": "^4.0.0"
} }
}, },
"tdigest": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz",
"integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==",
"requires": {
"bintrees": "1.0.2"
}
},
"to-regex-range": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
... ...
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"mongoose": "^6.6.7", "mongoose": "^6.6.7",
"nodemon": "^2.0.20", "nodemon": "^2.0.20",
"prom-client": "^14.1.0",
"socket.io": "^4.5.3" "socket.io": "^4.5.3"
} }
} }
...@@ -20,7 +20,7 @@ scrape_configs: ...@@ -20,7 +20,7 @@ scrape_configs:
- job_name: 'chatroom' - job_name: 'chatroom'
scrape_interval: 5s scrape_interval: 5s
scheme: https # scheme: https
static_configs: static_configs:
- targets: ['localhost:5000'] - targets: ['192.168.128.1:5000']
\ No newline at end of file
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
redirect: 'follow' redirect: 'follow'
}; };
fetch("https://localhost:3000/login", requestOptions) fetch("http://localhost:5000/login", requestOptions)
.then(response => response.json()) .then(response => response.json())
.then((result) => { .then((result) => {
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
redirect: 'follow' redirect: 'follow'
}; };
fetch("https://localhost:3000/authenticate", requestOptions) fetch("http://localhost:5000/authenticate", requestOptions)
.then((response) => { .then((response) => {
if (response.status === 200) { if (response.status === 200) {
... ...
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
redirect: 'follow' redirect: 'follow'
}; };
fetch("https://localhost:3000/register", requestOptions) fetch("http://localhost:5000/register", requestOptions)
.then((response) => { .then((response) => {
if(response.ok){ if(response.ok){
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment