Zbigniew Jędrzejewski-Szmek d66047
From f201d0f2ca7adcfcbb854a83ff9a75b40ace7967 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek d66047
From: Lennart Poettering <lennart@poettering.net>
Zbigniew Jędrzejewski-Szmek d66047
Date: Wed, 27 Nov 2013 01:54:25 +0100
Zbigniew Jędrzejewski-Szmek d66047
Subject: [PATCH] journald: mention how long we needed to flush to /var in the
Zbigniew Jędrzejewski-Szmek d66047
 logs
Zbigniew Jędrzejewski-Szmek d66047
Zbigniew Jędrzejewski-Szmek d66047
(cherry picked from commit fbb634117d0b0ebd5b105e65b141e75ae9af7f8f)
Zbigniew Jędrzejewski-Szmek d66047
---
Zbigniew Jędrzejewski-Szmek d66047
 src/journal/journald-server.c | 11 ++++++++++-
Zbigniew Jędrzejewski-Szmek d66047
 1 file changed, 10 insertions(+), 1 deletion(-)
Zbigniew Jędrzejewski-Szmek d66047
Zbigniew Jędrzejewski-Szmek d66047
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
Zbigniew Jędrzejewski-Szmek d66047
index e03e413..a0a8e9c 100644
Zbigniew Jędrzejewski-Szmek d66047
--- a/src/journal/journald-server.c
Zbigniew Jędrzejewski-Szmek d66047
+++ b/src/journal/journald-server.c
Zbigniew Jędrzejewski-Szmek d66047
@@ -968,9 +968,12 @@ static int system_journal_open(Server *s) {
Zbigniew Jędrzejewski-Szmek d66047
 }
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
 int server_flush_to_var(Server *s) {
Zbigniew Jędrzejewski-Szmek d66047
-        int r;
Zbigniew Jędrzejewski-Szmek d66047
         sd_id128_t machine;
Zbigniew Jędrzejewski-Szmek d66047
         sd_journal *j = NULL;
Zbigniew Jędrzejewski-Szmek d66047
+        char ts[FORMAT_TIMESPAN_MAX];
Zbigniew Jędrzejewski-Szmek d66047
+        usec_t start;
Zbigniew Jędrzejewski-Szmek d66047
+        unsigned n = 0;
Zbigniew Jędrzejewski-Szmek d66047
+        int r;
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
         assert(s);
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
@@ -988,6 +991,8 @@ int server_flush_to_var(Server *s) {
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
         log_debug("Flushing to /var...");
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
+        start = now(CLOCK_MONOTONIC);
Zbigniew Jędrzejewski-Szmek d66047
+
Zbigniew Jędrzejewski-Szmek d66047
         r = sd_id128_get_machine(&machine);
Zbigniew Jędrzejewski-Szmek d66047
         if (r < 0)
Zbigniew Jędrzejewski-Szmek d66047
                 return r;
Zbigniew Jędrzejewski-Szmek d66047
@@ -1007,6 +1012,8 @@ int server_flush_to_var(Server *s) {
Zbigniew Jędrzejewski-Szmek d66047
                 f = j->current_file;
Zbigniew Jędrzejewski-Szmek d66047
                 assert(f && f->current_offset > 0);
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
+                n++;
Zbigniew Jędrzejewski-Szmek d66047
+
Zbigniew Jędrzejewski-Szmek d66047
                 r = journal_file_move_to_object(f, OBJECT_ENTRY, f->current_offset, &o);
Zbigniew Jędrzejewski-Szmek d66047
                 if (r < 0) {
Zbigniew Jędrzejewski-Szmek d66047
                         log_error("Can't read entry: %s", strerror(-r));
Zbigniew Jędrzejewski-Szmek d66047
@@ -1050,6 +1057,8 @@ finish:
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
         sd_journal_close(j);
Zbigniew Jędrzejewski-Szmek d66047
 
Zbigniew Jędrzejewski-Szmek d66047
+        server_driver_message(s, SD_ID128_NULL, "Time spent on flushing to /var is %s for %u entries.", format_timespan(ts, sizeof(ts), now(CLOCK_MONOTONIC) - start, 0), n);
Zbigniew Jędrzejewski-Szmek d66047
+
Zbigniew Jędrzejewski-Szmek d66047
         return r;
Zbigniew Jędrzejewski-Szmek d66047
 }
Zbigniew Jędrzejewski-Szmek d66047