summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-09-17 15:21:00 -0500
committerLennart Poettering <lennart@poettering.net>2013-09-17 15:21:30 -0500
commit0a244b8ecb6dfcb381fe831dc2aa9bacb2c12975 (patch)
treefbee0ff17b69ef47510e84912ea003ce1fa6021f
parent41a5ef639b248aa3d10609d9af5d0043b909d93c (diff)
journald: log the slice of a process along with each message in _SYSTEMD_SLICE=
-rw-r--r--man/systemd.journal-fields.xml19
-rw-r--r--src/journal/journald-server.c6
-rw-r--r--src/journal/journald-server.h2
3 files changed, 18 insertions, 9 deletions
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index cffcccb53e..8a15598e63 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -223,17 +223,20 @@
<term><varname>_SYSTEMD_UNIT=</varname></term>
<term><varname>_SYSTEMD_USER_UNIT=</varname></term>
<term><varname>_SYSTEMD_OWNER_UID=</varname></term>
+ <term><varname>_SYSTEMD_SLICE=</varname></term>
<listitem>
- <para>The control group path in
- the systemd hierarchy, the
+ <para>The control group path
+ in the systemd hierarchy, the
systemd session ID (if any),
- the systemd unit name (if any),
- the systemd user session unit name (if any)
- and the owner UID of the
- systemd session (if any) of
- the process the journal entry
- originates from.</para>
+ the systemd unit name (if
+ any), the systemd user session
+ unit name (if any), the owner
+ UID of the systemd session (if
+ any) and the systemd slice
+ unit of the process the
+ journal entry originates
+ from.</para>
</listitem>
</varlistentry>
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index ba211b3724..709fa8b7d0 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -638,6 +638,12 @@ static void dispatch_message_real(
IOVEC_SET_STRING(iovec[n++], x);
}
+ if (cg_path_get_slice(c, &t) >= 0) {
+ x = strappenda("_SYSTEMD_SLICE=", t);
+ free(t);
+ IOVEC_SET_STRING(iovec[n++], x);
+ }
+
free(c);
}
diff --git a/src/journal/journald-server.h b/src/journal/journald-server.h
index e856ef277a..238fc8c3fb 100644
--- a/src/journal/journald-server.h
+++ b/src/journal/journald-server.h
@@ -125,7 +125,7 @@ typedef struct Server {
bool sync_scheduled;
} Server;
-#define N_IOVEC_META_FIELDS 19
+#define N_IOVEC_META_FIELDS 20
#define N_IOVEC_KERNEL_FIELDS 64
#define N_IOVEC_UDEV_FIELDS 32
#define N_IOVEC_OBJECT_FIELDS 11