K8s: Add tracer provider to config (#77003)

This commit is contained in:
Todd Treece 2023-10-25 15:19:44 -04:00 committed by GitHub
parent 8d7dfbc7b9
commit bf8af608a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -25,6 +25,7 @@ import (
trace "go.opentelemetry.io/otel/trace"
"github.com/go-kit/log/level"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/setting"
)
@ -110,6 +111,10 @@ func ParseSettings(cfg *setting.Cfg) (*TracingService, error) {
return ots, err
}
func (ots *TracingService) GetTracerProvider() tracerProvider {
return ots.tracerProvider
}
func TraceIDFromContext(ctx context.Context, requireSampled bool) string {
spanCtx := trace.SpanContextFromContext(ctx)
if !spanCtx.HasTraceID() || !spanCtx.IsValid() || (requireSampled && !spanCtx.IsSampled()) {

View File

@ -28,6 +28,7 @@ import (
"github.com/grafana/grafana/pkg/api/routing"
"github.com/grafana/grafana/pkg/infra/appcontext"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/middleware"
"github.com/grafana/grafana/pkg/modules"
"github.com/grafana/grafana/pkg/registry"
@ -89,6 +90,8 @@ type service struct {
handler web.Handler
builders []APIGroupBuilder
tracing *tracing.TracingService
authorizer authorizer.Authorizer
}
@ -96,12 +99,14 @@ func ProvideService(
cfg *setting.Cfg,
rr routing.RouteRegister,
authz authorizer.Authorizer,
tracing *tracing.TracingService,
) (*service, error) {
s := &service{
config: newConfig(cfg),
rr: rr,
stopCh: make(chan struct{}),
builders: []APIGroupBuilder{},
tracing: tracing,
authorizer: authz,
}
@ -258,6 +263,8 @@ func (s *service) start(ctx context.Context) error {
return genericapiserver.DefaultBuildHandlerChain(requestHandler, c)
}
serverConfig.TracerProvider = s.tracing.GetTracerProvider()
// Create the server
server, err := serverConfig.Complete().New("grafana-apiserver", genericapiserver.NewEmptyDelegate())
if err != nil {