-
Notifications
You must be signed in to change notification settings - Fork 650
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
v1.23.0 added an abstract method to Meter, breaking subclasses #3710
Comments
this issue is happening with us as well from yesterday, got below stacktrace while initialising opentelemetry metrics. we have also developed our own sdk on top of otel.
|
Are you sure this isn't a 3rd party interaction with the new code? Wrote a small program that uses OTel to push network performance to a dashboard. The previous version used OpenCensus. Last week I installed it on a Mac and on a Windows machine with zero issues. Today I installed it on a Raspberry Pi and it broke with the same last line as your logs. |
This is almost certainly unrelated but... Raspberry Pi which had this symptom was having trouble with dependency resolution. I was on pip 20.1. Upgraded to pip 24.0. Re-fetched my project dependencies. with |
This wasn't intentional (we added the method |
This was definitely a mistake
Can someone send a PR and we can try to make a patch release ASAP? |
Release should have the new fix: https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.24.0 |
We're developing an SDK that uses OpenTelemetry. This morning a user reported that after installing the SDK, everything they tried led to this error:
_ProxyMeter
here is our own subclass ofMeter
.The changelog says:
I think releasing this change violates semver, as it was a minor version release that created errors in previously compliant code.
If this is intentional because users aren't supposed to subclass
Meter
themselves, please let me know so that we can constrain the dependency to<1.24
to avoid any future surprises. We have subclasses ofSpan
,Tracer
,TracerProvider
,MeterProvider
,Meter
, and probably others, so from our perspective the abstract base classes need to be stable.If this wasn't intentional, then in future I think you could either:
@abstractmethod
) but that simplyraise NotImplementedError
. That way subclasses can still be instantiated.We've resolved the problem in our own library, but it's likely that there are other libraries currently giving new users the same error. That could be mitigated here by either:
pip install opentelemetry-sdk<2
will install 1.22.0, whilepip install opentelemetry-sdk==1.23.0
will still work.The text was updated successfully, but these errors were encountered: