-
Notifications
You must be signed in to change notification settings - Fork 28
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
bug fixing and a couple updates #455
base: master
Are you sure you want to change the base?
bug fixing and a couple updates #455
Conversation
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.
Hey, thanks for this
I suspect this change will break support for prometheus_client <0.6.0?
yes, is there a need to support previous versions for a software that is still in |
Yes I think there is the need to support those older versions, as they are deployed in production. The fact it's 0.x doesn't change anything IMO - prometheus_client has been 0.x for a long time. It's not difficult to support older versions in this case:
|
@@ -164,7 +164,7 @@ | |||
'psycopg2-binary>=2.7.3.2,<3.0', | |||
], | |||
prometheus=[ | |||
'prometheus-client>=0.2.0,<0.5.0,!=0.4.0,!=0.4.1', | |||
'prometheus-client==0.6.0', |
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.
Note the comment at the top of setup.py - it is generated from setup.cfg, so that's where this change needs to be made, and run 'make setup.py' to update setup.py.
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.
thanks, will take a look
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've modified the setup.cfg
to include 0.6.0
.
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.
Hey, thanks for the fixes.
I would like to split the work supporting prometheus_client 0.6.0 out into a separate PR, if that's OK? And as discussed already, we need to maintain older prometheus_client lib compat, and I'd like to keep the != statements, as there are bad bugs in those releases that break multiprocss metrics.
I'd be happy to have a later PR to drop support for older prometheus_client, but we'd need to do a release to allow folks to transition.
Thanks!
a82957c
to
f3d3fdc
Compare
This pull request fixes 2 alerts when merging f3d3fdc into a990ef9 - view on LGTM.com fixed alerts:
Comment posted by LGTM.com |
@bloodearnest It seems that |
Hmm, those tests used to pass under 0.2.0 before.
But yes, happy to move the lower bound >=0.3 if make things easier for us.
…On Tue, 28 May 2019 at 12:35, Michael ***@***.***> wrote:
@bloodearnest <https://github.com/bloodearnest> It seems that
prometheus-client with version 0.2.0 doesn't collect metrics correctly to
generate_latest on the endpoint (
https://travis-ci.org/canonical-ols/talisker/jobs/538016434#L571) Do we
really need that 0.2.0 support? Can we skip this test for this build if
the functionality itself doesn't work?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#455?email_source=notifications&email_token=AAAAIERVTW33IHXPAMRWARLPXUKIZA5CNFSM4HPQBM7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWL2W7I#issuecomment-496479101>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAAIES2QEVGXA24OHXHJWTPXUKIZANCNFSM4HPQBM7A>
.
--
Simon
|
requirements.docs.txt
Outdated
@@ -1,2 +1,3 @@ | |||
Sphinx==2.0.1 | |||
# Sphinx==2.0.1 |
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.
Why was sphinx downgraded?
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.
Requires: Python >=3.5
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.
Hi, I think this is good to land, apart from the Sphinx downgrade? Edit: ignore me, I missed the test failures. Feel free to update the minimum prometheus_client to 0.3.0 if that helps. |
You want to avoid downgrading Sphinx version? I don't think I've understood your question, sorry. |
BTW, |
Yes. Sphinx is only used in the default development environment, and docs tox environment, both of which are python 3. Only talisker itself needs to support python2, the dev/build tooling is py3 only. |
Ok - does 0.4.2+ solve it? If so, lets make it >=0.4.2,<=0.6.0? I don't mind deprecating oldest versions, in general, I just don't like pinning to single version for libraries like Talisker, as it forces people to upgrade things all at once, and can get in the way of urgent bug fix releases. Especially with sth like prometheus, which is fairly crucial operationally. The prometheus_client project does not have a good record regards b/w compat releases, so we try move carefully there. And the multiprocess metrics stuff is very unpleasant, and reaches into prometheus_client by necessity, so it more likely to be break on new releases. I just notices we still have some production services on 0.3.x, I'll have to fix that :) |
ea6450e
to
647f0f3
Compare
tags = kwargs.get('tags') or {}
workaround:At some point
tags
key inkwargs
gets None and I receiveTypeError: 'NoneType' object does not support item assignment
on the line:tags['unit'] = config.unit