Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Incorporate an OTel-wide maturity matrix #290
Incorporate an OTel-wide maturity matrix #290
Changes from 2 commits
fc3e4a2
d482037
4ac56ce
4ba4f5c
710f8ca
61d0637
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should the integrations and exporters be also tracked? Zipking and Jaeger exporters, integrations like SpringBoot, etc.?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO we should focus solely on SDK/API for trace/metric/context here and allow exporters and integrations to simply reference their stability or maturity against the lower level components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some integrations and exporters are the baseline for the stability as you cannot use API/SDK without ability to export it. Similar for integrations. I'm not sure how automaticInstrumentation here is different than integrations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, that's a good point, although I don't know how to square it. Automatic instrumentation does seem to require integrations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, I think that end-users expect at least some of these (OT exporter, Jaeger exporter, Prometheus exporter, basic HTTP integrations) to be tracked
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not want to suggest that we try to maintain a full compatibility matrix with framework-level things like Spring. The "registry" seems like the right place to track that sort of thing.
By "automaticInstrumentation", I meant specifically the idea of "no-code" (literally) installation of the OpenTelemetry instrumentation. This is an important requirement for many brownfield services that are no longer actively maintained but nevertheless participate in transactions. As such, I would not like to extend the definition to "1-line code changes" that nevertheless require recompilation.
@SergeyKanzhelev re your comment:
I disagree – they may be the baseline for "usefulness", but not for stability.
Given the possibly large diversity of exporters in the future, I would personally prefer that we:
Remember that we're not debating how this information is displayed on a website at the moment, we're just debating what should be considered "internal" to OpenTelemetry rather than a plugin/etc. The website can absolutely bring in the maturity levels for popular exporters in designated languages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to avoid situation when OT is only usable with the specific vendor exporter. This is why I think we should declare some baseline exporters here. It may be minimum functionality and not scalable, but must be reliable and stable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder about the 'diversity of exporters' -- Yuri could probably weigh in here, but I suspect that many "vendors", both OSS and commercial, would like to simply accept OTel data format natively and thus not require an exporter at all.
With that in mind, this feels like a transient issue; Yes, there'll be maturity levels for exporters but over time those exporters simply won't matter since your backend will accept the data with no translation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not immediately. It may take a while
Yes, but if we intent to track progress towards 1.0 I'd suggest to include tracking of this transient issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SergeyKanzhelev I'm going to continue to push back on this... if I want to use Jaeger's exporter and it's the only thing that's mature for my given language, IMO that's fine. Now, whether the SIGs would feel comfortable marking their APIs as "stable" (or even "beta") with zero or one exporter implemented is a different question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest to include the link to the issues query on GitHub showing what's left for this area. It may be an optional attribute
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a little hesitant to do this since in the early stages, that list will have lots of errors of omission and could lead to a false sense of security...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we declare it as optional so I can use it for .NET?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO it'd be good to have a URL field in the schema that points to the repo.