@@ -4,20 +4,21 @@ import (
44 "context"
55 "errors"
66 "fmt"
7+ "strings"
8+
79 "github.com/rs/zerolog/log"
810 "github.com/shirou/gopsutil/v4/process"
911 "github.com/steadybit/extension-jvm/extjvm/jvm/starttime"
1012 "github.com/steadybit/extension-kit/extruntime"
11- "strings"
1213)
1314
1415type JavaVm interface {
1516 Pid () int32
1617 CommandLine () string
1718 MainClass () string
1819 ClassPath () string
19- UserId () string
20- GroupId () string
20+ UserId () int
21+ GroupId () int
2122 Path () string
2223 Hostname () string
2324 HostFQDN () string
@@ -43,8 +44,8 @@ type defaultJavaVm struct {
4344 vmVendor string
4445 vmName string
4546 vmArgs string
46- userId string
47- groupId string
47+ userId int
48+ groupId int
4849 path string
4950 discoveredVia string
5051 hostname string
@@ -68,11 +69,11 @@ func (vm defaultJavaVm) ClassPath() string {
6869 return vm .classPath
6970}
7071
71- func (vm defaultJavaVm ) UserId () string {
72+ func (vm defaultJavaVm ) UserId () int {
7273 return vm .userId
7374}
7475
75- func (vm defaultJavaVm ) GroupId () string {
76+ func (vm defaultJavaVm ) GroupId () int {
7677 return vm .groupId
7778}
7879
@@ -126,11 +127,15 @@ func newJavaVm(p *process.Process, via string) *defaultJavaVm {
126127 }
127128
128129 if uids , err := p .Uids (); err == nil && len (uids ) > 0 {
129- vm .userId = fmt .Sprintf ("%d" , uids [0 ])
130+ vm .userId = int (uids [0 ])
131+ } else {
132+ vm .userId = - 1
130133 }
131134
132135 if gids , err := p .Gids (); err == nil && len (gids ) > 0 {
133- vm .groupId = fmt .Sprintf ("%d" , gids [0 ])
136+ vm .groupId = int (gids [0 ])
137+ } else {
138+ vm .groupId = - 1
134139 }
135140
136141 if processPath , err := getProcessPath (context .Background (), p ); err == nil && processPath != "" {
@@ -155,13 +160,12 @@ func (vm defaultJavaVm) StartTime() starttime.Time {
155160}
156161
157162func (vm defaultJavaVm ) ToDebugString () string {
158- return fmt .Sprintf ("JavaVm{pid=%d, discoveredVia=%s, commandLine=%s, mainClass=%s, classpath=%s, vmVersion=%s, vmVendor=%s, vmName=%s, vmArgs=%s, userId=%s , groupId=%s , path=%s}" ,
163+ return fmt .Sprintf ("JavaVm{pid=%d, discoveredVia=%s, commandLine=%s, mainClass=%s, classpath=%s, vmVersion=%s, vmVendor=%s, vmName=%s, vmArgs=%s, userId=%d , groupId=%d , path=%s}" ,
159164 vm .p .Pid , vm .discoveredVia , vm .commandLine , vm .mainClass , vm .classPath , vm .vmVersion , vm .vmVendor , vm .vmName , vm .vmArgs , vm .userId , vm .groupId , vm .path )
160165}
161166
162167func (vm defaultJavaVm ) ToInfoString () string {
163- return fmt .Sprintf ("JavaVm{pid=%d, discoveredVia=%s, mainClass=%s}" ,
164- vm .p .Pid , vm .discoveredVia , vm .mainClass )
168+ return fmt .Sprintf ("JavaVm{pid=%d (%d:%d), discoveredVia=%s, mainClass=%s}" , vm .p .Pid , vm .userId , vm .groupId , vm .discoveredVia , vm .mainClass )
165169}
166170
167171type defaultJavaVmInContainer struct {
@@ -179,11 +183,10 @@ func (vm defaultJavaVmInContainer) PidInContainer() int32 {
179183}
180184
181185func (vm defaultJavaVmInContainer ) ToDebugString () string {
182- return fmt .Sprintf ("JavaVm{pid=%d, containerId=%s, pidInContainer=%d, discoveredVia=%s, commandLine=%s, mainClass=%s, classpath=%s, vmVersion=%s, vmVendor=%s, vmName=%s, vmArgs=%s, userId=%s , groupId=%s , path=%s}" ,
186+ return fmt .Sprintf ("JavaVm{pid=%d, containerId=%s, pidInContainer=%d, discoveredVia=%s, commandLine=%s, mainClass=%s, classpath=%s, vmVersion=%s, vmVendor=%s, vmName=%s, vmArgs=%s, userId=%d , groupId=%d , path=%s}" ,
183187 vm .p .Pid , vm .containerId , vm .pidInContainer , vm .discoveredVia , vm .commandLine , vm .mainClass , vm .classPath , vm .vmVersion , vm .vmVendor , vm .vmName , vm .vmArgs , vm .userId , vm .groupId , vm .path )
184188}
185189
186190func (vm defaultJavaVmInContainer ) ToInfoString () string {
187- return fmt .Sprintf ("JavaVm{pid=%d, containerId=%s, discoveredVia=%s, mainClass=%s}" ,
188- vm .p .Pid , vm .containerId , vm .discoveredVia , vm .mainClass )
191+ return fmt .Sprintf ("JavaVm{pid=%d (%d:%d), containerId=%s, discoveredVia=%s, mainClass=%s}" , vm .p .Pid , vm .userId , vm .groupId , vm .containerId , vm .discoveredVia , vm .mainClass )
189192}
0 commit comments