util: added logs for slow gRPC calls

This commit adds a gRPC middleware that logs calls that
keep running after their deadline.

Adds --logslowopinterval cmdline argument to pass the log rate.

Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
This commit is contained in:
Robert Vasek
2024-09-17 15:52:30 +02:00
committed by mergify[bot]
parent 56d08e1b4d
commit 7a727c2a43
8 changed files with 114 additions and 14 deletions

View File

@ -85,9 +85,9 @@ func (cas *CSIAddonsServer) RegisterService(svc CSIAddonsService) {
// Start creates the internal gRPC server, and registers the CSIAddonsServices.
// The internal gRPC server is started in it's own go-routine when no error is
// returned.
func (cas *CSIAddonsServer) Start() error {
func (cas *CSIAddonsServer) Start(middlewareConfig csicommon.MiddlewareServerOptionConfig) error {
// create the gRPC server and register services
cas.server = grpc.NewServer(csicommon.NewMiddlewareServerOption())
cas.server = grpc.NewServer(csicommon.NewMiddlewareServerOption(middlewareConfig))
for _, svc := range cas.services {
svc.RegisterService(cas.server)