diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-09-17 15:21:00 -0500 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-09-17 15:21:30 -0500 |
commit | 0a244b8ecb6dfcb381fe831dc2aa9bacb2c12975 (patch) | |
tree | fbee0ff17b69ef47510e84912ea003ce1fa6021f | |
parent | 41a5ef639b248aa3d10609d9af5d0043b909d93c (diff) |
journald: log the slice of a process along with each message in _SYSTEMD_SLICE=
-rw-r--r-- | man/systemd.journal-fields.xml | 19 | ||||
-rw-r--r-- | src/journal/journald-server.c | 6 | ||||
-rw-r--r-- | src/journal/journald-server.h | 2 |
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 |