From 86f48f1c7616490f6bd6919acd482f4c8563b230 Mon Sep 17 00:00:00 2001 From: Anthony Truskinger Date: Thu, 2 Nov 2017 11:14:06 +1000 Subject: [PATCH] Adds some basic program stats to AP.exe Not tested yet. --- AudioAnalysis/AnalysisPrograms/MainEntry.cs | 2 ++ .../Production/MainEntryUtilities.cs | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/AudioAnalysis/AnalysisPrograms/MainEntry.cs b/AudioAnalysis/AnalysisPrograms/MainEntry.cs index a494a8526..e0590ae18 100755 --- a/AudioAnalysis/AnalysisPrograms/MainEntry.cs +++ b/AudioAnalysis/AnalysisPrograms/MainEntry.cs @@ -49,6 +49,8 @@ public static int Main(string[] args) // note: Exception handling can be found in CurrentDomainOnUnhandledException Execute(Arguments); + LogProgramStats(); + HangBeforeExit(); // finally return error level diff --git a/AudioAnalysis/AnalysisPrograms/Production/MainEntryUtilities.cs b/AudioAnalysis/AnalysisPrograms/Production/MainEntryUtilities.cs index 65a3fc9ab..1b8986bd9 100644 --- a/AudioAnalysis/AnalysisPrograms/Production/MainEntryUtilities.cs +++ b/AudioAnalysis/AnalysisPrograms/Production/MainEntryUtilities.cs @@ -548,5 +548,19 @@ private static void ModifyVerbosity(MainEntryArguments arguments) // LoggedConsole.WriteErrorLine("Clean wrapper ERROR"); // LoggedConsole.WriteFatalLine("Clean wrapper FATAL", new Exception("I'm a fake")); } + + private static void LogProgramStats() + { + var thisProcess = Process.GetCurrentProcess(); + var stats = new + { + Runtime = (DateTime.Now - thisProcess.StartTime).TotalSeconds, + PeakWorkingSet = thisProcess.PeakWorkingSet64, + }; + + var statsString = "Programs stats:\n" + Json.SerialiseToString(stats, prettyPrint: true); + + NoConsole.Log.Debug(statsString); + } } }