Messages in this thread | | | Date | Mon, 16 May 2016 14:41:03 -0700 | From | Calvin Owens <> | Subject | Re: [RFC][PATCH] printk: Add option to append kernel version to the dict |
| |
On Sunday 05/15 at 00:19 +0200, Richard Weinberger wrote: > On Fri, May 13, 2016 at 10:58 PM, Calvin Owens <calvinowens@fb.com> wrote: > > We use netconsole to collect kernel logs from all the servers at > > Facebook. We use this patch internally so each logline has a record of > > which kernel version emitted it. > > > > At first glance, this might seem lazy: as you would expect, we have a > > database which records which kernel version a host is currently running. > > But there are a lot of situations where that database cannot be current: > > early-ish boot crashes are probably the best example, but even beyond > > that there are lots of varieties of kernel brokenness that can prevent > > the database from being updated. Doing it explicitly this way ensures > > that we always know exactly what version emitted a given message. > > > > Doing it in printk() itself rather than extended netconsole ends up > > being much simpler, and has the advantage that future extended console > > implementations will be able to benefit from this as well. > > > > Signed-off-by: Calvin Owens <calvinowens@fb.com> > > --- > > init/Kconfig | 8 ++++++++ > > kernel/printk/printk.c | 14 ++++++++++++++ > > 2 files changed, 22 insertions(+) > > I don't think adding a new config option is appropriate. > How about adding a log format string tunable to netconsole?
Like a generic way to append arbitrary key/val to the dict? It would still need to be configured via the kernel cmdline or at compile time: I can't rely getting to userspace.
I had steered away from something more general like that because it didn't seem worth the trobule, but I can certainly go that route: what sort of format specifiers would we want? I only care about UTS_RELEASE, but I suppose UTS_NODENAME and UTS_VERSION might be handy in some cases?
Thanks, Calvin
> -- > Thanks, > //richard
| |