HTTP Client: Outgoing tracing middleware (#34466)

Following #33439 this adds support for outgoing tracing middleware 
in HTTP client provider.

Fixes #24004
This commit is contained in:
Marcus Efraimsson
2021-05-20 11:16:55 +02:00
committed by GitHub
parent fc8f913761
commit 60d0c8d0ec
5 changed files with 252 additions and 12 deletions
@@ -5,6 +5,7 @@ import (
sdkhttpclient "github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
"github.com/grafana/grafana/pkg/infra/httpclient"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/setting"
)
@@ -12,8 +13,10 @@ var newProviderFunc = sdkhttpclient.NewProvider
// New creates a new HTTP client provider with pre-configured middlewares.
func New(cfg *setting.Cfg) httpclient.Provider {
logger := log.New("httpclient")
userAgent := fmt.Sprintf("Grafana/%s", cfg.BuildVersion)
middlewares := []sdkhttpclient.Middleware{
TracingMiddleware(logger),
DataSourceMetricsMiddleware(),
SetUserAgentMiddleware(userAgent),
sdkhttpclient.BasicAuthenticationMiddleware(),