summaryrefslogtreecommitdiff
path: root/coredump-handler
diff options
context:
space:
mode:
authorlinxin <[email protected]>2023-04-27 17:20:57 +0800
committerlinxin <[email protected]>2023-04-27 17:20:57 +0800
commitcb077615ffe54db88f9412e416eec0424e927e9c (patch)
treee04a143db4968cff4452de32f5e0ad4776688801 /coredump-handler
parent00294bc452341f7b69e85ae93d2428f30c97d202 (diff)
1.修改kubectl debug 调用时切换工作目录 2.增加debug时参数能指定交互方式
Diffstat (limited to 'coredump-handler')
-rw-r--r--coredump-handler/coredump-handler.go19
-rw-r--r--coredump-handler/coredump-handler_test.go2
2 files changed, 12 insertions, 9 deletions
diff --git a/coredump-handler/coredump-handler.go b/coredump-handler/coredump-handler.go
index a59c939..a87eec8 100644
--- a/coredump-handler/coredump-handler.go
+++ b/coredump-handler/coredump-handler.go
@@ -55,8 +55,8 @@ func isDiskSufficient(pipe_config types.Pipeconfig) (bool, error) {
return true, nil
}
func createCoreDumpDir(pipe_config *types.Pipeconfig, args types.Coredump_config) error {
- pipe_config.File_base_path = fmt.Sprintf("%s/%s_%s_%d", pipe_config.File_base_path, args.Initial_ns_pid, args.Process_ns_pid, args.Timestamp)
- dirName := pipe_config.File_base_path
+ pipe_config.Storage = fmt.Sprintf("%s/%s_%s_%d_coredump", pipe_config.Storage, args.Initial_ns_pid, args.Process_ns_pid, args.Timestamp)
+ dirName := pipe_config.Storage
if _, err := os.Stat(dirName); os.IsNotExist(err) {
// 目录不存在,创建目录
if err := os.MkdirAll(dirName, os.ModePerm); err != nil {
@@ -212,9 +212,9 @@ func main() {
journal.Print(journal.PriErr, err.Error())
return
}
- coredump_config.Storage = pipe_config.File_base_path
+ coredump_config.Storage = pipe_config.Storage
//切换至存储coredump目录
- err = changeDirectory(pipe_config.File_base_path)
+ err = changeDirectory(pipe_config.Storage)
if err != nil {
journal.Print(journal.PriErr, err.Error())
return
@@ -228,19 +228,22 @@ func main() {
journal.Print(journal.PriInfo, err.Error())
}
}
+ if coredump_config.Image_id == "" {
+ coredump_config.Image_id = "NULL"
+ }
//根据配置项选择存储coredump文件方式
- if pipe_config.Save_model == 0 {
+ if pipe_config.Compress == false {
err = writeCoreDumpToFile(coredump_config)
if err != nil {
journal.Print(journal.PriErr, err.Error())
}
- coredump_config.Storage = fmt.Sprintf("%s/%s_%s_%d_coredump.info", pipe_config.File_base_path, coredump_config.Initial_ns_pid, coredump_config.Process_ns_pid, coredump_config.Timestamp)
- } else if pipe_config.Save_model == 1 {
+ coredump_config.Storage = fmt.Sprintf("%s/%s_%s_%d_coredump.info", pipe_config.Storage, coredump_config.Initial_ns_pid, coredump_config.Process_ns_pid, coredump_config.Timestamp)
+ } else if pipe_config.Compress == true {
err = compress(coredump_config)
if err != nil {
journal.Print(journal.PriErr, err.Error())
}
- coredump_config.Storage = fmt.Sprintf("%s/%s_%s_%d_coredump.info.zip", pipe_config.File_base_path, coredump_config.Initial_ns_pid, coredump_config.Process_ns_pid, coredump_config.Timestamp)
+ coredump_config.Storage = fmt.Sprintf("%s/%s_%s_%d_coredump.info.zip", pipe_config.Storage, coredump_config.Initial_ns_pid, coredump_config.Process_ns_pid, coredump_config.Timestamp)
}
//将image name写入coredump config
err = writeCoreConfig(coredump_config)
diff --git a/coredump-handler/coredump-handler_test.go b/coredump-handler/coredump-handler_test.go
index b8aef16..3d309c6 100644
--- a/coredump-handler/coredump-handler_test.go
+++ b/coredump-handler/coredump-handler_test.go
@@ -53,7 +53,7 @@ func TestIsDiskSufficient(t *testing.T) {
func TestCreateCoreDumpDir(t *testing.T) {
pipe_config := types.Pipeconfig{
- File_base_path: "/tmp",
+ Storage: "/tmp",
}
err := createCoreDumpDir(&pipe_config, coredump_config)
if err != nil {