-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optionally supply tenancy when reporting spans v2 #3750
Conversation
Signed-off-by: Ed Snible <[email protected]>
Signed-off-by: Ed Snible <[email protected]>
Signed-off-by: Ed Snible <[email protected]>
Codecov Report
@@ Coverage Diff @@
## main #3750 +/- ##
==========================================
- Coverage 97.49% 97.45% -0.05%
==========================================
Files 271 271
Lines 16004 16056 +52
==========================================
+ Hits 15603 15647 +44
- Misses 317 323 +6
- Partials 84 86 +2
Continue to review full report at Codecov.
|
Could you describe what solution specifically you're implementing? There seems to be a mix of things, but the main issue with agent being multi-tenant does not seem to be addressed. |
I'd like to operate a cloud-based service that consumes OpenTelemetry traces and provides a Jaeger UI and gRPC query API. I have a reverse proxy that implements single-sign-on and adds a header, My goal is to allow different groups of users to interact with the same Jaeger and see different data. I did a proof-of-concept at #3605 with a multi-tenant memory storage and partial implementation of multi-tenant collecting and query. I am now trying to complete that work correctly, in small PRs. After #3688 the tenant from the PostSpans header is passed along to storage. While working on a similar PR to pass the header from the query API to the spanstore I noticed Jaeger's logs reporting that if multitenant collection was enabled the opentracing middleware spans for query were being rejected because they lacked tenancy. I believe the self-traces from Jaeger's HTTP server "belong" to the service operator, not the service user. This is why I created #3742 , to supply a service-operator tenant for those spans. You correctly pointed out that I wasn't thinking about reporting in general. I only thought of correcting the span dropping introduced by my tenant checking on PostSpans. It does make sense to let the developer choose if reporting is done based on the active tenant or an "internal" tenant. I've spent a day looking at the code and creating draft PRs. I tried a hack where I encode the tenant as a tag. A clean solution will require either a multitenant |
Basically, in order to support self-reported spans, we have these options with additional work in each:
Could we just ignore the problem of self-reported spans for now and focus more on the production-quality deployments by enabling collector and query service? |
Replacement for #3742
This PR attempts to address #3742 (comment)
I am creating this as a draft, for direction, to make sure I understand the requirement before doing all of the necessary work.