diff --git a/src/core/environment.go b/src/core/environment.go index 07446786d2..2a6d58a449 100644 --- a/src/core/environment.go +++ b/src/core/environment.go @@ -606,6 +606,7 @@ func (env *EnvironmentType) Processes() (result []*Process) { cmd, _ := p.CmdlineWithContext(ctx) if env.isNginxProcess(name, cmd) { + log.Infof("-------------------- %v", name) nginxProcesses[pid] = p } @@ -656,7 +657,9 @@ func (env *EnvironmentType) Processes() (result []*Process) { } func (env *EnvironmentType) isNginxProcess(name string, cmd string) bool { - return name == "nginx" && !strings.Contains(cmd, "upgrade") && strings.HasPrefix(cmd, "nginx:") + isNameValid := name == "nginx" || name == "nginx-debug" + isCmdValid := strings.HasPrefix(cmd, "nginx:") || strings.HasPrefix(cmd, "{nginx-debug} nginx:") + return !strings.Contains(cmd, "upgrade") && isNameValid && isCmdValid } func getNginxProcessExe(nginxProcess *process.Process) string { diff --git a/src/core/environment_test.go b/src/core/environment_test.go index 5093c1e5a6..6bf6408f54 100644 --- a/src/core/environment_test.go +++ b/src/core/environment_test.go @@ -1145,6 +1145,18 @@ func TestGetNginxProcess(t *testing.T) { cmd: "nginx: upgrade", expect: false, }, + { + name: "nginx-debug process", + pName: "nginx-debug", + cmd: "nginx: master process /usr/sbin/nginx-debug -c /etc/nginx/nginx.conf", + expect: true, + }, + { + name: "nginx-debug process", + pName: "nginx-debug", + cmd: "{nginx-debug} nginx: master process /usr/sbin/nginx-debug -g daemon off;", + expect: true, + }, } for _, tt := range tests { diff --git a/test/integration/vendor/github.com/nginx/agent/v2/src/core/environment.go b/test/integration/vendor/github.com/nginx/agent/v2/src/core/environment.go index 07446786d2..2a6d58a449 100644 --- a/test/integration/vendor/github.com/nginx/agent/v2/src/core/environment.go +++ b/test/integration/vendor/github.com/nginx/agent/v2/src/core/environment.go @@ -606,6 +606,7 @@ func (env *EnvironmentType) Processes() (result []*Process) { cmd, _ := p.CmdlineWithContext(ctx) if env.isNginxProcess(name, cmd) { + log.Infof("-------------------- %v", name) nginxProcesses[pid] = p } @@ -656,7 +657,9 @@ func (env *EnvironmentType) Processes() (result []*Process) { } func (env *EnvironmentType) isNginxProcess(name string, cmd string) bool { - return name == "nginx" && !strings.Contains(cmd, "upgrade") && strings.HasPrefix(cmd, "nginx:") + isNameValid := name == "nginx" || name == "nginx-debug" + isCmdValid := strings.HasPrefix(cmd, "nginx:") || strings.HasPrefix(cmd, "{nginx-debug} nginx:") + return !strings.Contains(cmd, "upgrade") && isNameValid && isCmdValid } func getNginxProcessExe(nginxProcess *process.Process) string { diff --git a/test/performance/vendor/github.com/nginx/agent/v2/src/core/environment.go b/test/performance/vendor/github.com/nginx/agent/v2/src/core/environment.go index 07446786d2..2a6d58a449 100644 --- a/test/performance/vendor/github.com/nginx/agent/v2/src/core/environment.go +++ b/test/performance/vendor/github.com/nginx/agent/v2/src/core/environment.go @@ -606,6 +606,7 @@ func (env *EnvironmentType) Processes() (result []*Process) { cmd, _ := p.CmdlineWithContext(ctx) if env.isNginxProcess(name, cmd) { + log.Infof("-------------------- %v", name) nginxProcesses[pid] = p } @@ -656,7 +657,9 @@ func (env *EnvironmentType) Processes() (result []*Process) { } func (env *EnvironmentType) isNginxProcess(name string, cmd string) bool { - return name == "nginx" && !strings.Contains(cmd, "upgrade") && strings.HasPrefix(cmd, "nginx:") + isNameValid := name == "nginx" || name == "nginx-debug" + isCmdValid := strings.HasPrefix(cmd, "nginx:") || strings.HasPrefix(cmd, "{nginx-debug} nginx:") + return !strings.Contains(cmd, "upgrade") && isNameValid && isCmdValid } func getNginxProcessExe(nginxProcess *process.Process) string {