Plugins: Add backend target to instrumentation (#61980)

* add target

* fix test
This commit is contained in:
Will Browne
2023-01-24 16:18:34 +01:00
committed by GitHub
parent 6e126596e0
commit 958eea2f78
7 changed files with 68 additions and 18 deletions
+18 -6
View File
@@ -35,14 +35,17 @@ func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest)
return nil, fmt.Errorf("req cannot be nil")
}
plugin, exists := s.plugin(ctx, req.PluginContext.PluginID)
p, exists := s.plugin(ctx, req.PluginContext.PluginID)
if !exists {
return nil, plugins.ErrPluginNotRegistered.Errorf("%w", backendplugin.ErrPluginNotRegistered)
}
var resp *backend.QueryDataResponse
err := instrumentation.InstrumentQueryDataRequest(ctx, &req.PluginContext, s.cfg, func() (innerErr error) {
resp, innerErr = plugin.QueryData(ctx, req)
err := instrumentation.InstrumentQueryDataRequest(ctx, &req.PluginContext, instrumentation.Cfg{
LogDatasourceRequests: s.cfg.LogDatasourceRequests,
Target: p.Target(),
}, func() (innerErr error) {
resp, innerErr = p.QueryData(ctx, req)
return
})
@@ -83,7 +86,10 @@ func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceReq
if !exists {
return backendplugin.ErrPluginNotRegistered
}
err := instrumentation.InstrumentCallResourceRequest(ctx, &req.PluginContext, s.cfg, func() error {
err := instrumentation.InstrumentCallResourceRequest(ctx, &req.PluginContext, instrumentation.Cfg{
LogDatasourceRequests: s.cfg.LogDatasourceRequests,
Target: p.Target(),
}, func() error {
removeConnectionHeaders(req.Headers)
removeHopByHopHeaders(req.Headers)
@@ -120,7 +126,10 @@ func (s *Service) CollectMetrics(ctx context.Context, req *backend.CollectMetric
}
var resp *backend.CollectMetricsResult
err := instrumentation.InstrumentCollectMetrics(ctx, &req.PluginContext, s.cfg, func() (innerErr error) {
err := instrumentation.InstrumentCollectMetrics(ctx, &req.PluginContext, instrumentation.Cfg{
LogDatasourceRequests: s.cfg.LogDatasourceRequests,
Target: p.Target(),
}, func() (innerErr error) {
resp, innerErr = p.CollectMetrics(ctx, req)
return
})
@@ -142,7 +151,10 @@ func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthReque
}
var resp *backend.CheckHealthResult
err := instrumentation.InstrumentCheckHealthRequest(ctx, &req.PluginContext, s.cfg, func() (innerErr error) {
err := instrumentation.InstrumentCheckHealthRequest(ctx, &req.PluginContext, instrumentation.Cfg{
LogDatasourceRequests: s.cfg.LogDatasourceRequests,
Target: p.Target(),
}, func() (innerErr error) {
resp, innerErr = p.CheckHealth(ctx, req)
return
})