mirror of
https://github.com/ets-cfuhrman-pfe/EvalueTonSavoir.git
synced 2025-08-11 21:23:54 -04:00
write to file base
This commit is contained in:
parent
f835c733a1
commit
5c24ae56a9
5 changed files with 93 additions and 11 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
import { attemptLoginOrRegister, createRoomContainer } from './utility/apiServices.js';
|
import { attemptLoginOrRegister, createRoomContainer } from './utility/apiServices.js';
|
||||||
import { Student } from './class/student.js';
|
import { Student } from './class/student.js';
|
||||||
import { Teacher } from './class/teacher.js';
|
import { Teacher } from './class/teacher.js';
|
||||||
|
import { writeMetricsToFile } from './utility/writeMetrics.js';
|
||||||
|
|
||||||
const BASE_URL = 'http://localhost';
|
const BASE_URL = 'http://localhost';
|
||||||
const user = { username: 'admin@example.com', password: 'adminPassword' };
|
const user = { username: 'admin@example.com', password: 'adminPassword' };
|
||||||
|
|
@ -105,17 +106,18 @@ function closeAllSockets() {
|
||||||
console.log('Toutes les connexions Socket.IO ont été déconnectées.');
|
console.log('Toutes les connexions Socket.IO ont été déconnectées.');
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateReport(){
|
function generateReport() {
|
||||||
console.log('Toutes les tâches ont été terminées.');
|
console.log('Toutes les tâches ont été terminées.');
|
||||||
console.log('--- Résultats du test de charge ---');
|
console.log('--- Résultats du test de charge ---');
|
||||||
console.log(`Salles créées : ${metrics.roomsCreated}`);
|
console.log(`Salles créées : ${metrics.roomsCreated}`);
|
||||||
console.log(`Échecs de création de salles : ${metrics.roomsFailed}`);
|
console.log(`Échecs de création de salles : ${metrics.roomsFailed}`);
|
||||||
console.log(`Enseignants connectés : ${metrics.teachersConnected}`);
|
console.log(`Enseignants connectés : ${metrics.teachersConnected}`);
|
||||||
console.log(`Échecs de connexion des enseignants : ${metrics.teachersFailed}`);
|
console.log(`Échecs de connexion des enseignants : ${metrics.teachersFailed}`);
|
||||||
console.log(`Étudiants connectés : ${metrics.studentsConnected}`);
|
console.log(`Étudiants connectés : ${metrics.studentsConnected}`);
|
||||||
console.log(`Échecs de connexion des étudiants : ${metrics.studentsFailed}`);
|
console.log(`Échecs de connexion des étudiants : ${metrics.studentsFailed}`);
|
||||||
console.log(`Durée totale d'exécution : ${(metrics.endTime - metrics.startTime) / 1000}s`);
|
console.log(`Durée totale d'exécution : ${(metrics.endTime - metrics.startTime) / 1000}s`);
|
||||||
console.log('Utilisation de la mémoire :', process.memoryUsage());
|
console.log('Utilisation de la mémoire :', process.memoryUsage());
|
||||||
|
writeMetricsToFile( metrics);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
|
|
|
||||||
18
test/stressTest/metrics/metrics_report.json
Normal file
18
test/stressTest/metrics/metrics_report.json
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"roomsCreated": 5,
|
||||||
|
"roomsFailed": 0,
|
||||||
|
"teachersConnected": 5,
|
||||||
|
"teachersFailed": 0,
|
||||||
|
"studentsConnected": 295,
|
||||||
|
"studentsFailed": 0,
|
||||||
|
"startTime": "2024-11-16T01:06:28.606Z",
|
||||||
|
"endTime": "2024-11-16T01:06:31.135Z",
|
||||||
|
"executionTime": 2.529,
|
||||||
|
"memoryUsage": {
|
||||||
|
"rss": 72040448,
|
||||||
|
"heapTotal": 51122176,
|
||||||
|
"heapUsed": 23656264,
|
||||||
|
"external": 4503630,
|
||||||
|
"arrayBuffers": 170538
|
||||||
|
}
|
||||||
|
}
|
||||||
18
test/stressTest/metrics_report_1731719315629
Normal file
18
test/stressTest/metrics_report_1731719315629
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"roomsCreated": 5,
|
||||||
|
"roomsFailed": 0,
|
||||||
|
"teachersConnected": 5,
|
||||||
|
"teachersFailed": 0,
|
||||||
|
"studentsConnected": 295,
|
||||||
|
"studentsFailed": 0,
|
||||||
|
"startTime": "2024-11-16T01:08:33.133Z",
|
||||||
|
"endTime": "2024-11-16T01:08:35.626Z",
|
||||||
|
"executionTime": 2.493,
|
||||||
|
"memoryUsage": {
|
||||||
|
"rss": 71737344,
|
||||||
|
"heapTotal": 51122176,
|
||||||
|
"heapUsed": 23472768,
|
||||||
|
"external": 4499368,
|
||||||
|
"arrayBuffers": 166276
|
||||||
|
}
|
||||||
|
}
|
||||||
18
test/stressTest/metrics_report_1731719370035
Normal file
18
test/stressTest/metrics_report_1731719370035
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"roomsCreated": 5,
|
||||||
|
"roomsFailed": 0,
|
||||||
|
"teachersConnected": 5,
|
||||||
|
"teachersFailed": 0,
|
||||||
|
"studentsConnected": 295,
|
||||||
|
"studentsFailed": 0,
|
||||||
|
"startTime": "2024-11-16T01:09:27.129Z",
|
||||||
|
"endTime": "2024-11-16T01:09:30.032Z",
|
||||||
|
"executionTime": 2.903,
|
||||||
|
"memoryUsage": {
|
||||||
|
"rss": 72146944,
|
||||||
|
"heapTotal": 50860032,
|
||||||
|
"heapUsed": 22783944,
|
||||||
|
"external": 4496062,
|
||||||
|
"arrayBuffers": 162970
|
||||||
|
}
|
||||||
|
}
|
||||||
26
test/stressTest/utility/writeMetrics.js
Normal file
26
test/stressTest/utility/writeMetrics.js
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
import fs from 'fs';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Écrit les métriques dans un fichier JSON.
|
||||||
|
* @param {string} filename - Nom du fichier où écrire les métriques.
|
||||||
|
* @param {Object} metrics - Objet contenant les métriques à enregistrer.
|
||||||
|
*/
|
||||||
|
export function writeMetricsToFile(metrics) {
|
||||||
|
const metricsData = {
|
||||||
|
...metrics,
|
||||||
|
startTime: metrics.startTime?.toISOString(),
|
||||||
|
endTime: metrics.endTime?.toISOString(),
|
||||||
|
executionTime: metrics.endTime && metrics.startTime
|
||||||
|
? (metrics.endTime - metrics.startTime) / 1000
|
||||||
|
: null,
|
||||||
|
memoryUsage: process.memoryUsage(),
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFile(`metrics_report_${Date.now()}`, JSON.stringify(metricsData, null, 4), (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Erreur lors de l\'écriture des métriques dans le fichier :', err.message);
|
||||||
|
} else {
|
||||||
|
console.log(`Métriques enregistrées dans le fichier metrics_report_${Date.now()}.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue