Browse Source

Logging startup

Source commit: 7db6239e04346dced18df1b2758bb99a5495b1c6
Martin Prikryl 2 months ago
parent
commit
dc67883c8e
2 changed files with 26 additions and 13 deletions
  1. 1 0
      source/core/CoreMain.cpp
  2. 25 13
      source/windows/WinMain.cpp

+ 1 - 0
source/core/CoreMain.cpp

@@ -146,6 +146,7 @@ void CoreLoad()
   // should be noop, unless exception occurred above
   ConfigStorage->CloseAll();
 
+  AppLog(L"Loading sites");
   StoredSessions = new TStoredSessionList();
 
   try

+ 25 - 13
source/windows/WinMain.cpp

@@ -497,32 +497,42 @@ void InterfaceStartDontMeasure()
   StartupThread->Terminate();
 }
 //---------------------------------------------------------------------------
+int TensOfSecondBetween(TDateTime ANow, TDateTime AThen)
+{
+  return static_cast<int>(MilliSecondsBetween(ANow, AThen) / 100);
+}
+//---------------------------------------------------------------------------
 void AddStartupSequence(const UnicodeString & Tag)
 {
-  int SequenceTensOfSecond = static_cast<int>(MilliSecondsBetween(Now(), LastStartupStartupSequence) / 100);
+  int SequenceTensOfSecond = TensOfSecondBetween(Now(), LastStartupStartupSequence);
   LastStartupStartupSequence = Now();
   AddToList(StartupSequence, FORMAT(L"%s:%d", (Tag, SequenceTensOfSecond)), L",");
 }
 //---------------------------------------------------------------------------
 void InterfaceStarted()
 {
-  if ((Started != TDateTime()) && (LifetimeRuns > 0))
+  if (Started != TDateTime())
   {
     // deliberate downcast
-    int StartupSeconds = static_cast<int>(SecondsBetween(Now(), Started));
+    int StartupTensOfSecond = TensOfSecondBetween(Now(), Started);
+    int StartupSeconds = StartupTensOfSecond / 10;
     int StartupSecondsReal = DebugNotNull(StartupThread)->GetStartupSeconds();
-    if (LifetimeRuns == 1)
-    {
-      Configuration->Usage->Set(L"StartupSeconds1", StartupSeconds);
-    }
-    else if (LifetimeRuns == 2)
+    AppLogFmt(L"Startup time: %d.%d s (real: %d s)", (StartupTensOfSecond / 10, StartupTensOfSecond % 10, StartupSecondsReal));
+    if (LifetimeRuns > 0)
     {
-      Configuration->Usage->Set(L"StartupSeconds2", StartupSeconds);
+      if (LifetimeRuns == 1)
+      {
+        Configuration->Usage->Set(L"StartupSeconds1", StartupSeconds);
+      }
+      else if (LifetimeRuns == 2)
+      {
+        Configuration->Usage->Set(L"StartupSeconds2", StartupSeconds);
+      }
+      Configuration->Usage->Set(L"StartupSecondsLast", StartupSeconds);
+      Configuration->Usage->Set(L"StartupSecondsLastReal", StartupSecondsReal);
+      AddStartupSequence(L"I");
+      Configuration->Usage->Set(L"StartupSequenceLast", StartupSequence);
     }
-    Configuration->Usage->Set(L"StartupSecondsLast", StartupSeconds);
-    Configuration->Usage->Set(L"StartupSecondsLastReal", StartupSecondsReal);
-    AddStartupSequence(L"I");
-    Configuration->Usage->Set(L"StartupSequenceLast", StartupSequence);
   }
   StartupThread->Terminate();
 }
@@ -1372,7 +1382,9 @@ int __fastcall Execute()
                   }
 
                   AddStartupSequence(L"R");
+                  AppLog(L"Running...");
                   Application->Run();
+                  AppLog(L"Terminated.");
                   // to allow dialog boxes show later (like from CheckConfigurationForceSave)
                   SetAppTerminated(False);
                 }