-
Notifications
You must be signed in to change notification settings - Fork 888
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
Rename old env variables that use TRACE_ with TRACES_ #1382
Conversation
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
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.
Sorry, but OTEL_TRACES_SAMPLER sounds very unnatural. Are we sure we don't want to go the other way round and use TRACE_ everywhere? EDIT: Same with METRICS_EXPORTER vs METRIC_EXPORTER: Singular sounds more natural (and is one letter shorter 😃)
@Oberon00 :)) |
Thanks for the catch! Was wondering whether we had forgotten something or not :)
Not a strong opinion from me, as long as we stick to one or the another. I doubt there will be a perfect solution :/ |
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.
Since this PR is already by definition a bike-shedding discussion, I don't feel about making this a "Request changes": I strongly object to the plural form, which sounds like bad English to me. If we want consistency we should go with singular (both TRACE_ and METRIC_) everywhere.
@tigrannajaryan Any opinion on this? You were a big supporter of the plural as (IIRC) that's what is used in the Collector. (I'm fine either way, btw) |
The reason I suggest to use plural is we have a lot of code in Collector that uses plural which is also a public API of the Collector. If we were to change it then it will be a breaking change for third parties that rely on it (we are Beta - so formally we are allowed to do it). Plural form is also used in Collector config files, so it will be a breaking change for end users as well. Changing back to singular is at least inconvenience for third-party people who we will break. IMO, it is not worth it.
@Oberon00 to be fair, none of what you listed seems like a good enough justification to me. I may be wrong. |
OK, fair enough. But then isn't leaving everything as it is a good option as well? |
For practical reasons, it is already too much effort to rename the older enviornment variables.
Well, we already had a few mismatches here and there ( |
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.
LGTM (after conflict resolved in CHANGELOG.md
)
I think we should aim for consistency and use plural "everywhere". Unfortunately "everywhere" is not really 100% everywhere; a couple places in OTLP proto declarations we cannot touch because it will break the proto. But vast majority of Otel spec and code can use plural. Today it is a mix of plural and singular depending on the repo or are of work. |
I don't like the plurals, and this will break every language SDK out there, correct? So, we fix the collector, or we force all language maintainers to change? Seems like changing in one place (the collector) would be a much smaller impact. |
I would risk and guess that very little real users currently depend on SDK's env variable today as opposed to many users actually using Collector in production and a large number of developers . So the impact is not really smaller, it is bigger if we touch the Collector. Again, I may be wrong, I am probably not aware of production uses of SDKs, happy to be corrected. I do not mind doing the work and renaming everything in the Collector (it is easy to do) but the implications of the change I think are too big to do it. If we are not able to agree on a breaking change then this needs to be handled gracefully by supporting both plural and singular for a while (highly undesirable and a lot of extra work). |
How about supporting both plural and singular in the collector? Shouldn't be hard to implement either. |
Well, sadly we already broke them by renaming a few other things from
That's just avoiding the problem IMHO 😅 I personally suggest sticking to |
That's (in a way 😉 ) solving the problem. Only the singular would be spec'd and documented, and existing collector user's config continues to work. Language SDKs are free to do the same thing, or just support the final name. |
This is a good point. Since we already did this and this needs to be done regardless of plural/singular debate I think there is no point worrying about breaking SDKs anymore. SDKs are already broken. I do not see why we should also break the Collector. |
I don't understand what is solving the problem. Please clarify. |
I meant supporting both the previously existing plural names and the (hypothetical) new singular names. #1382 (comment) |
fwiw, the plural env var names ( |
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.
As a foreign language speaker both plural and singular are the same to me :) Thus consistency wins.
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Is the churn caused to collector users really necessary here? If we discover issues like this post 1.0 what's the plan then? I understand a desire for consistency, but in this case I think it is affecting real users. I'd like to echo @tigrannajaryan here. We need to be far more careful of changes NOW if we really want our 1.0 to be stable. This is exactly the kind of churn that can cause delays for minimal gain. I'd like to understand the plan for how to handle this kind of inconsistency post 1.0. Why not allow both variables with a migration period so there's no IMMEDIATE churn. |
We already broke them for the SDKs by renaming a few inconsistencies already, i.e. @tigrannajaryan Are there any environment variable that uses pipelines:
traces:
receivers: [otlp, opencensus, jaeger, zipkin] So I'm personally fine with the Collector using |
No, there is none in the Collector. |
Based on today's conversation at the Maintainers meeting call, I'd strongly suggest to go with In that regard, we do have enough approvals already, btw ;) cc @jsuereth |
@carlosalberto I think my point on stability was well discussed. Given the consideration, and the desire to still merge this, that's ok. Hopefully we'll change future behavior in this regard, and I think the right discussions have kicked off. Don't hold off on this for me :) |
…#1382) * Rename old env variables that use TRACE_ with TRACES_ Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com> * Update CHANGELOG.md Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com> Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Signed-off-by: Bogdan Drutu bogdandrutu@gmail.com
Follow-up after #1362