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); + } } }