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 { Student } from './class/student.js';
|
||||
import { Teacher } from './class/teacher.js';
|
||||
import { writeMetricsToFile } from './utility/writeMetrics.js';
|
||||
|
||||
const BASE_URL = 'http://localhost';
|
||||
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.');
|
||||
}
|
||||
|
||||
function generateReport(){
|
||||
function generateReport() {
|
||||
console.log('Toutes les tâches ont été terminées.');
|
||||
console.log('--- Résultats du test de charge ---');
|
||||
console.log(`Salles créées : ${metrics.roomsCreated}`);
|
||||
console.log(`Échecs de création de salles : ${metrics.roomsFailed}`);
|
||||
console.log(`Enseignants connectés : ${metrics.teachersConnected}`);
|
||||
console.log(`Échecs de connexion des enseignants : ${metrics.teachersFailed}`);
|
||||
console.log(`Étudiants connectés : ${metrics.studentsConnected}`);
|
||||
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('Utilisation de la mémoire :', process.memoryUsage());
|
||||
console.log('--- Résultats du test de charge ---');
|
||||
console.log(`Salles créées : ${metrics.roomsCreated}`);
|
||||
console.log(`Échecs de création de salles : ${metrics.roomsFailed}`);
|
||||
console.log(`Enseignants connectés : ${metrics.teachersConnected}`);
|
||||
console.log(`Échecs de connexion des enseignants : ${metrics.teachersFailed}`);
|
||||
console.log(`Étudiants connectés : ${metrics.studentsConnected}`);
|
||||
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('Utilisation de la mémoire :', process.memoryUsage());
|
||||
writeMetricsToFile( metrics);
|
||||
}
|
||||
|
||||
async function main() {
|
||||
|
|
@ -129,7 +131,7 @@ async function main() {
|
|||
await addAndConnectStudents();
|
||||
|
||||
metrics.endTime = new Date();
|
||||
|
||||
|
||||
generateReport();
|
||||
} catch (error) {
|
||||
console.error('Une erreur est survenue :', error.message);
|
||||
|
|
|
|||
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