write to file base

This commit is contained in:
MathieuSevignyLavallee 2024-11-15 20:09:56 -05:00
parent f835c733a1
commit 5c24ae56a9
5 changed files with 93 additions and 11 deletions

View file

@ -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);

View 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
}
}

View 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
}
}

View 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
}
}

View file

@ -0,0 +1,26 @@
import fs from 'fs';
/**
* Écrit les métriques dans un fichier JSON.
* @param {string} filename - Nom du fichier é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()}.`);
}
});
}