-
Notifications
You must be signed in to change notification settings - Fork 161
2.0.0 Release #65
Comments
Follow-up of a concern I had while discussing the PR referenced in this issue (#64):
After thinking about it and taking in consideration use cases we have, I would like to continue the discussion here about the current implementation of I would prefer to expose the functionality for Tracer implementers (or Said that, if my first point makes sense, we should consider having a default value so that we cover most of the cases (optional parameter). Then we may have two questions:
My opinions:
/cc @carlosalberto @tedsuo @yurishkuro @clutchski @beberlei @wkiser @itsderek23 (will add other contributors/tracer implementers as soon I'll be in touch with them). |
Hey @palazzem, thanks a lot for the feedback.
I think Java can stay default-less for now (in the future, when people may need to add such default value to Java, they will have to consider how it would fit with the rest of the languages/platforms, but that's another story).
Based on the feedback, I'd go for
This is a good compromise, I think (while still keeping the |
I agree that |
Totally agreed. If we don't have metrics to say what is good, I'd say to force it to be explicit for Java.
OK great! thanks for your feedbacks @tedsuo and @carlosalberto! |
@palazzem Yes, I'm on the works of putting together the async frameworks examples + put the default + minor updates, and then will start doing the fun to do a second RC ;) Thanks again for the feedback! |
@carlosalberto the
The goal is to be capable of asserting a set of tags or metadata for a given request, where the test client only has a response object. I'm playing with the 2.0.0rc branch of this lib with this django middleware |
Hey @SEJeff
Usually, for the tests or examples, we do create a new settings.OPENTRACING_TRACER = MockTracer() # repeat per test case
client = Client()
... Otherwise it gets too complicated, indeed, to handle what responses belongs to what operation. Hope that helps ;) |
At dailymotion, we are looking forward that new version 2, do you have any idea when it will be released? |
@tsunammis I hope in the incoming weeks (2-3, I'd say, but not more than that) - we needed a little more time to test the asynchronous frameworks (Tornado, asyncio, gevent) to make sure it's all good (cc @yurishkuro ) In the meantime we will be preparing documentation (to be put in readthedocs.io). Thanks and we will keep you posted ;) |
@carlosalberto Great! Good luck! |
@carlosalberto let me know if I can help someway (coding, reviews etc..). We're already testing it in our system, if you want we can share some results / caveats (especially for Tornado). |
@carlosalberto what is the plan for https://github.com/opentracing/opentracing-python/blob/v2.0.0/testbed/span_propagation.py ? It seems without it the new API is not actually usable in most frameworks, so it would make sense to have this module published, maybe as part of the official opentracing lib (it can use conditional imports). |
Agreed with @yurishkuro. Specific implementations of |
Hey @palazzem @yurishkuro. So my original plan was to publish a polished version each of those ones (as well with proper tests and documentation) in their respective So based in your feedback I'm wondering if we should indeed publish them as part of this repository too (as we do for |
We should have more people opine on that decision. I don't have strong preference for including them here vs contrib, but a slight preference for this repo to reduce the noise in dependencies. One concern would be versioning, say tornado comes with a version that makes existing ScopeManager for it incompatible, we'd have to do an OpenTracing lib release. We'd also potentially have to keep multiple versions (but that's regardless of the repo). |
In general, I would prefer having these implementations under this repository. Multiple versioning could be a real concern, especially because we may need to make new changes (hopefully not) in the future. In the same repository, it's easier to provide backward/forward compatibility of a specific implementation, making the release process straightforward. |
As for Instana, we'll be testing the v2 pre-release packages this week but overall everything looks good. Also 👍 on centralizing the framework specific |
When are we planning to release this ? |
Hey everybody - I'd like to do the release rather very soon - existing issues are mostly #82 and #83 (and maybe some further, slight documentation touches for putting our stuff into https://readthedocs.org/) Question for tracer implementors: have you ported/tested your own implementations under this API (maybe in a branch at the moment)? That's a nice thing to have before going forward and doing the actual release ;) Let us know ;) |
@carlosalberto Did you have a chance to replace context propagation in https://github.com/uber-common/opentracing-python-instrumentation/ with the scope manager? To me that would be the deciding test (and iirc that project uses mock tracer). Are there any real Trace implementations upgraded to 2.x? |
We're good to go @ Instana: instana/python-sensor#74 I believe this release has some breaking changes from prior versions. Should tracer implementations have some OT documentation to link to with the releases to best describe the changes in v2.0? |
@carlosalberto I've reviewed and approved both PRs. The API is good from our side and it's a great improvement from the 1.x version. I guess we can just do the change @yurishkuro suggested so we can see if it's working properly? Any help with that? |
@yurishkuro The Lightstep tracer is also updated to use I will try to squeeze some time to do the |
Hey @pglombardo thanks for the update.
We will have a small Changelog, and we will put a blog entry to describe the changes overall (once we remaining bits are tested/ready). Think that would be enough for you? |
Sure thats enough thanks @carlosalberto - just so each tracer implementation doesn't have to write their own docs explaining the changes. Somewhere central/authoritative to refer to... |
Hey @yurishkuro Hey, sorry for the late ping. I went and tried out porting the mentioned instrumentation, and a prototype exists here: https://github.com/carlosalberto/opentracing-python-instrumentation/tree/ot_scopemanager_integration Notes on the approach here (as they could be too long to be posted here ;) ) https://gist.github.com/carlosalberto/d49fe6ce785d23639d55c2dc004a3f0c Let me know. |
Hey everybody - I was supposed to put a link to the Release Notes draft, but don't see it here (probably posted it elsewhere by mistake :/ ). Anyway, let me know or comment something right in the document :) https://docs.google.com/document/d/1ub2YNH1QLBi60F-syyvTzt-uu9wIYVX2BwE54dWad3c/edit?usp=sharing |
@carlosalberto left a comment! Thanks for sharing the document! |
@palazzem @pglombardo @yurishkuro I have updated the document after some feedback (the important part is mentioning the asynchronous frameworks part). Let me know ;) |
The updated doc looks great/very helpful. Thanks! |
Waiting for the last important item, which is #89 Feedback appreciated! |
Merged and released. Thanks you all for your time, code and feedback! |
This issue tracks the push for releasing the new 2.0.0 API for OpenTracing-Python.
Based on the Java 0.31 API, the next version of the Python edition of OpenTracing is now available and ready for testing.
RC Branch: https://github.com/opentracing/opentracing-python/tree/v2.0.0
Current Status
Scope
concept has been brought from the Java API, and is being validated.Tracer.start_active_span()
defaultsfinish_on_close=True
, after feedback received for the first Release Candidate.start_active_span
has been defined to haveoperation_name
as a required parameter, as opposed to how it's handled instart_span
.Scope.span
), following the current style (Span.context
, for example).testbed
suite, which includes a few instrumentation patterns, so API changes and experimental features can be tested out there. This is the equivalent toopentracing-testbed
for the Java API.basictracer-python
has been updated as well.Release process
v2.0.0
branch.master
will continue to point at the latest patch version of thev2.0.0
branch, until2.0.0
is officially released.2.0.0.rc1
,2.0.0.rc2
, etc.Current RC snapshots
The text was updated successfully, but these errors were encountered: