jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.58k stars 2.45k forks source link

[v2] How is tenancy handled / configured? Should it be part of storage config? #6108

Open yurishkuro opened 1 month ago

yurishkuro commented 1 month ago

This might just need some verification / findings, with code links.

shashank-priyadarshi commented 1 month ago

@yurishkuro can I please take this up?

yurishkuro commented 1 month ago

You can try

mahadzaryab1 commented 4 weeks ago

@yurishkuro do you have any more context on this issue? what are we looking to achieve? what do we want to deliver here?

yurishkuro commented 4 weeks ago

Here's what I am seeing:

$ rg tenancy cmd/jaeger
cmd/jaeger/internal/extension/jaegerquery/server.go
23: "github.com/jaegertracing/jaeger/pkg/tenancy"
86: tm := tenancy.NewManager(&s.config.Tenancy)

Seems query extension is using tenancy properly. But nothing else in v2 does?

Meanwhile, in v1 tenancy has top-level CLI flags:

cmd/query/app/flags.go
73: Tenancy tenancy.Options `mapstructure:"multi_tenancy"`

cmd/collector/app/flags/flags.go
171:    Tenancy tenancy.Options

Finally, somewhat of a weird thing, grpc storage is the only one that also has tenancy config:

plugin/storage/grpc/config.go
16: Tenancy                      tenancy.Options `mapstructure:"multi_tenancy"`

So some obvious questions:

Stepping back, multi-tenancy may not work in v2 at all without support from OTEL. There is a relevant discussion in this PR https://github.com/open-telemetry/opentelemetry-collector/pull/2495