Add windows signal support for dumping metrics

This commit is contained in:
Abhishek Pandey 2023-04-04 20:25:41 -07:00
parent 9a8ec2505f
commit 000086fcb6
4 changed files with 13 additions and 3 deletions

View File

@ -117,7 +117,7 @@ require (
golang.org/x/mod v0.9.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.6.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/text v0.8.0 // indirect
google.golang.org/genproto v0.0.0-20230320184635-7606e756e683 // indirect
google.golang.org/grpc v1.54.0 // indirect

View File

@ -600,6 +600,8 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=

View File

@ -8,6 +8,7 @@ import (
"syscall"
"github.com/armon/go-metrics"
"golang.org/x/sys/unix"
"github.com/alcionai/corso/src/pkg/logger"
)
@ -16,4 +17,8 @@ func signalDump(ctx context.Context) {
if err := syscall.Kill(syscall.Getpid(), metrics.DefaultSignal); err != nil {
logger.CtxErr(ctx, err).Error("metrics interval signal")
}
if err := unix.Kill(syscall.Getpid(), metrics.DefaultSignal); err != nil {
logger.CtxErr(ctx, err).Error("metrics interval signal")
}
}

View File

@ -2,10 +2,13 @@ package events
import (
"context"
"github.com/alcionai/corso/src/pkg/logger"
"golang.org/x/sys/windows"
"signal"
"syscall"
)
func signalDump(ctx context.Context) {
logger.Ctx(ctx).Warn("cannot send signal on Windows")
//logger.Ctx(ctx).Warn("cannot send signal on Windows")
windows.GenerateConsoleCtrlEvent(syscall.CTRL_BREAK_EVENT, syscall.Getpid())
}