mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Instrumentation: Handle context.Canceled (#75867)
Ref #68480 Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
This commit is contained in:
committed by
GitHub
parent
aee8c91ac8
commit
90631360eb
@@ -59,6 +59,10 @@ func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if errors.Is(err, context.Canceled) {
|
||||
return nil, plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: query data request canceled: %w", err)
|
||||
}
|
||||
|
||||
return nil, plugins.ErrPluginDownstreamErrorBase.Errorf("client: failed to query data: %w", err)
|
||||
}
|
||||
|
||||
@@ -111,6 +115,10 @@ func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceReq
|
||||
|
||||
err := p.CallResource(ctx, req, wrappedSender)
|
||||
if err != nil {
|
||||
if errors.Is(err, context.Canceled) {
|
||||
return plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: call resource request canceled: %w", err)
|
||||
}
|
||||
|
||||
return plugins.ErrPluginDownstreamErrorBase.Errorf("client: failed to call resources: %w", err)
|
||||
}
|
||||
|
||||
@@ -129,6 +137,10 @@ func (s *Service) CollectMetrics(ctx context.Context, req *backend.CollectMetric
|
||||
|
||||
resp, err := p.CollectMetrics(ctx, req)
|
||||
if err != nil {
|
||||
if errors.Is(err, context.Canceled) {
|
||||
return nil, plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: collect metrics request canceled: %w", err)
|
||||
}
|
||||
|
||||
return nil, plugins.ErrPluginDownstreamErrorBase.Errorf("client: failed to collect metrics: %w", err)
|
||||
}
|
||||
|
||||
@@ -155,6 +167,10 @@ func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthReque
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if errors.Is(err, context.Canceled) {
|
||||
return nil, plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: check health request canceled: %w", err)
|
||||
}
|
||||
|
||||
return nil, plugins.ErrPluginHealthCheck.Errorf("client: failed to check health: %w", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,10 @@ func TestQueryData(t *testing.T) {
|
||||
err: errors.New("surprise surprise"),
|
||||
expectedError: plugins.ErrPluginDownstreamErrorBase,
|
||||
},
|
||||
{
|
||||
err: context.Canceled,
|
||||
expectedError: plugins.ErrPluginRequestCanceledErrorBase,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range tcs {
|
||||
@@ -99,6 +103,10 @@ func TestCheckHealth(t *testing.T) {
|
||||
err: errors.New("surprise surprise"),
|
||||
expectedError: plugins.ErrPluginHealthCheck,
|
||||
},
|
||||
{
|
||||
err: context.Canceled,
|
||||
expectedError: plugins.ErrPluginRequestCanceledErrorBase,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range tcs {
|
||||
|
||||
Reference in New Issue
Block a user