-
Notifications
You must be signed in to change notification settings - Fork 182
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
What is the implication of breaking changes to stable semantic conventions #772
Comments
Regarding this question about extending database and messaging system-specific metrics (see also #760), the following two use cases were discussed in the semconv SIG on Feb 26th to illustrate the impact of the different options to telemetry consumers.
Every outlined option breaks or impedes one of those two use cases, so we would need to decide which impediments we want to impose on telemetry consumers. |
One flavor that could be added to the options (2) and (3) above:
|
I believe we've also entertained an option 1.5 when it comes to adding an attribute to a metric which is quite similar to @arminru suggestion above:
|
Related discussion #675 (comment): The SemVer 2.0 is specific to public API and semconv do not strictly fit into this category. It's a common practice to do some behavior-breaking changes without major version update. E.g. certain bug fixes or improvements can fit into this category. Some changes bring significant improvement to user experience, e.g. adding a route/operation name to HTTP client metric and changing the span name accordingly. While decision in each case can vary, we should have a process to allow some low risk/high-reward breaking changes without a major version update. This process should involve weighting pros and cons. |
As semantic conventions for HTTP are declared stable (and hopefully messaging and databases will follow soon), certain changes outlined in the version and stability document are prohibited.
For metrics, those prohibited changes also include the addition of additional attributes to an existing (stable) metric (see #722 for further discussions). As this drastically limits the extensibility of existing stable metrics, in discussions around messaging and database metrics the question came up whether there should be a defined process for such breaking changes (for example adding additional attributes to an existing stable metric).
The following options might be possible (this is not an exhaustive list):
a. Instead of adding attributes to an existing metric, a new metric with the additional attributes would need to be added.
Especially in regards to databases and messaging system-specific metrics this question is important. There is a goal of providing stable semantic conventions and instrumentation libraries for such systems, however, with those systems and their instrumentation evolving it is doubtful whether relying on a never-changing set of metric attributes is feasible.
The text was updated successfully, but these errors were encountered: