chiark / gitweb /
main: profile unit file loading
authorLennart Poettering <lennart@poettering.net>
Thu, 28 Jul 2011 21:41:57 +0000 (23:41 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 28 Jul 2011 21:41:57 +0000 (23:41 +0200)
src/main.c

index b181447..25b6e87 100644 (file)
@@ -1013,6 +1013,8 @@ static void test_cgroups(void) {
 int main(int argc, char *argv[]) {
         Manager *m = NULL;
         int r, retval = EXIT_FAILURE;
+        usec_t before_startup, after_startup;
+        char timespan[FORMAT_TIMESPAN_MAX];
         FDSet *fds = NULL;
         bool reexecute = false;
         const char *shutdown_verb = NULL;
@@ -1227,6 +1229,8 @@ int main(int argc, char *argv[]) {
         if (arg_default_controllers)
                 manager_set_default_controllers(m, arg_default_controllers);
 
+        before_startup = now(CLOCK_MONOTONIC);
+
         if ((r = manager_startup(m, serialization, fds)) < 0)
                 log_error("Failed to fully start up daemon: %s", strerror(-r));
 
@@ -1294,6 +1298,10 @@ int main(int argc, char *argv[]) {
                 }
         }
 
+        after_startup = now(CLOCK_MONOTONIC);
+        log_debug("Loaded units and determined initial transaction in %s.",
+                  format_timespan(timespan, sizeof(timespan), after_startup - before_startup));
+
         for (;;) {
                 if ((r = manager_loop(m)) < 0) {
                         log_error("Failed to run mainloop: %s", strerror(-r));