Adjustments to profile saving logging logic

Bundle up profile save time and display in one line + do not log to file
Don't log when each profile is saved
Do not log to file how much fuel is left in generator
This commit is contained in:
Dev 2024-02-10 10:07:40 +00:00
parent 973b74bd98
commit b34edb0d3b
2 changed files with 11 additions and 6 deletions

View File

@ -487,7 +487,8 @@ export class HideoutHelper
fuelItemInSlot.upd = this.getAreaUpdObject(1, fuelRemaining, pointsConsumed); fuelItemInSlot.upd = this.getAreaUpdObject(1, fuelRemaining, pointsConsumed);
this.logger.debug( this.logger.debug(
`$Profile: ${pmcData._id} Generator has: ${fuelRemaining} fuel left in slot ${i + 1}`, `Profile: ${pmcData._id} Generator has: ${fuelRemaining} fuel left in slot ${i + 1}`,
true,
); );
hasFuelRemaining = true; hasFuelRemaining = true;

View File

@ -79,10 +79,13 @@ export class SaveServer
public save(): void public save(): void
{ {
// Save every profile // Save every profile
let totalTime = 0;
for (const sessionID in this.profiles) for (const sessionID in this.profiles)
{ {
this.saveProfile(sessionID); totalTime += this.saveProfile(sessionID);
} }
this.logger.debug(`Saved ${Object.keys(this.profiles).length} profiles, took: ${totalTime.toFixed(2)}ms`, true);
} }
/** /**
@ -172,7 +175,7 @@ export class SaveServer
// File found, store in profiles[] // File found, store in profiles[]
const start = performance.now(); const start = performance.now();
this.profiles[sessionID] = this.jsonUtil.deserialize(this.vfs.readFile(filePath), filename); this.profiles[sessionID] = this.jsonUtil.deserialize(this.vfs.readFile(filePath), filename);
this.logger.debug(`Profile ${sessionID} took ${performance.now() - start}ms to load.`); this.logger.debug(`Profile: ${sessionID} took: ${performance.now() - start}ms to load.`, true);
} }
// Run callbacks // Run callbacks
@ -186,8 +189,9 @@ export class SaveServer
* Save changes from in-memory profile to user/profiles json * Save changes from in-memory profile to user/profiles json
* Execute onBeforeSaveCallbacks callbacks prior to being saved to json * Execute onBeforeSaveCallbacks callbacks prior to being saved to json
* @param sessionID profile id (user/profiles/id.json) * @param sessionID profile id (user/profiles/id.json)
* @returns time taken to save in MS
*/ */
public saveProfile(sessionID: string): void public saveProfile(sessionID: string): number
{ {
const filePath = `${this.profileFilepath}${sessionID}.json`; const filePath = `${this.profileFilepath}${sessionID}.json`;
@ -217,9 +221,9 @@ export class SaveServer
this.saveMd5[sessionID] = String(fmd5); this.saveMd5[sessionID] = String(fmd5);
// save profile to disk // save profile to disk
this.vfs.writeFile(filePath, jsonProfile); this.vfs.writeFile(filePath, jsonProfile);
this.logger.debug(this.localisationService.getText("profile_saved", sessionID), true);
} }
this.logger.debug(`Profile ${sessionID} took ${performance.now() - start}ms to save.`);
return Number(performance.now() - start);
} }
/** /**