43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From 7f483b7d5a6bd88ea35f5dcf1a5fea5d165044fe Mon Sep 17 00:00:00 2001
|
|
From: lixiang172 <lixiang172@huawei.com>
|
|
Date: Tue, 12 Feb 2019 15:22:06 +0800
|
|
Subject: [PATCH 18/27] containerd-shim: Dump log to file when docker
|
|
received signal
|
|
|
|
reason: Dump stack log to file when docker received "kill -SIGUSR1
|
|
PID" signal
|
|
The name of log files is "shim-stack-[time].log".
|
|
The log file can be found at:
|
|
/run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/container-id/shim-stack-[time].log
|
|
|
|
Change-Id: I6d7e03c9a0fd36e9a76f1dd45cfd5312985d03f8
|
|
Signed-off-by: lixiang172 <lixiang172@huawei.com>
|
|
---
|
|
cmd/containerd-shim/main_unix.go | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/cmd/containerd-shim/main_unix.go b/cmd/containerd-shim/main_unix.go
|
|
index d1f41b0..38b3eb4 100644
|
|
--- a/cmd/containerd-shim/main_unix.go
|
|
+++ b/cmd/containerd-shim/main_unix.go
|
|
@@ -246,6 +246,8 @@ func handleSignals(logger *logrus.Entry, signals chan os.Signal, server *ttrpc.S
|
|
}
|
|
}
|
|
|
|
+const stacksLogNameTemplate = "shim-stacks-%s.log"
|
|
+
|
|
func dumpStacks(logger *logrus.Entry) {
|
|
var (
|
|
buf []byte
|
|
@@ -258,6 +260,7 @@ func dumpStacks(logger *logrus.Entry) {
|
|
bufferLen *= 2
|
|
}
|
|
buf = buf[:stackSize]
|
|
+ ioutil.WriteFile(fmt.Sprintf(stacksLogNameTemplate, strings.Replace(time.Now().Format(time.RFC3339), ":", "", -1)), buf, 0600)
|
|
logger.Infof("=== BEGIN goroutine stack dump ===\n%s\n=== END goroutine stack dump ===", buf)
|
|
}
|
|
|
|
--
|
|
2.7.4.3
|
|
|