-
Notifications
You must be signed in to change notification settings - Fork 192
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
Create OpenTracing Shim #747
Create OpenTracing Shim #747
Comments
I'm guessing this one doesn't need to be thought out from scratch too much, and just following along with another language's implementation (or 2) with the spec at hand will get 90% of the way there. Like for JS it looks like they managed this in roughly 400 lines of TS code - https://github.com/open-telemetry/opentelemetry-js/tree/f59c5b268bd60778d7a0d185a6044688f9e3dd51/packages/opentelemetry-shim-opentracing If no one's able to pick this up after the next week or so, I might be able to and take a crack at it |
@Grunet - are you still planning on working on this? |
Am a little personally underwater atm (ideally will not be in ~2-3 weeks) but once not was planning to take a stab at #723 first. But if this is a higher priority I can definitely try this first (and announce when I'm starting on it). Otherwise totally cool if someone else wants to take a shot. I did not look into it too deeply before. |
Looking at it more closely now, I have 2 other observations
I'm starting at a new gig next week so won't have much time right after that probably, but I do have a day off before then, so I will see how far I can get with 1) and then drop any notes on partial/progress here |
So there are a total of 27 methods across 5 interfaces that you need to fill out to make any OpenTracing-PHP implementation (including an OTEL-backed one as is needed here) Scaffolding the initial files and taking a stab at the first 7 methods for OpenTracing's "Tracer" interface ended up taking me roughly around 7 hours (a large chunk of which was trying to understand-then-translate Java and JS's behaviors for the methods I didn't conceptually understand as well up front. I'm looking at you propagation lol). I also totally skipped some things for that interface implementation (like translating span creation options between OpenTracing and OTEL) just to try to get something in place for all of the methods. You can see where I got to here - https://github.com/Grunet/opentelemetry-php/pull/6/files I sadly most likely won't have mind energy in the next few weeks to carry this to completion, so anyone feel free to pick up from there as needed (but I will also aim to loop back if/when I do to see how I can help!) |
It looks like no other SIG has implemented this yet: https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md#opentracing-compatibility so, my vote is to drop this as a requirement for a GA release. |
Specification Reference:
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/opentracing.md
OpenTracing PHP repository:
https://github.com/opentracing/opentracing-php
The text was updated successfully, but these errors were encountered: