You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a bit of a case study. The current implementation of jaeger-client-python doesn't support W3C trace headers, which some newer services in our stack not written in python are now using (via opencensus), thus we need to become compatible.
Having taken note that the opentracing & opencensus packages are (supposedly) merging into this package, I've been making an effort to update some existing python code bases. I stumbled upon the opentracer-shim in this project in hopes that I could easily swap out the loading of jaeger-client tracer and be good to go.
However, I've found that it isn't actually compatible in the same way. I've written a brief example to illustrate the issue which is based on a combination of my code, the opentracer examples and the shim example.
While true that I might just be being lazy and should probably just either go all in and refactor everything to use this package or help update the jaeger client (still making that choice), I wanted to raise the issue that the shim is not compatible with this basic example (as I was hoping it would be) without making some major changes in the code, making the shim not so much a shim.
Please run this example to see the breaking point.
Hint: it's the inject call that fails directly with a AttributeError: 'Span' object has no attribute 'trace_id', but seems to stem from a deeper architectural incompatibility.
This is a bit of a case study. The current implementation of jaeger-client-python doesn't support W3C trace headers, which some newer services in our stack not written in python are now using (via
opencensus
), thus we need to become compatible.Having taken note that the
opentracing
&opencensus
packages are (supposedly) merging into this package, I've been making an effort to update some existing python code bases. I stumbled upon theopentracer-shim
in this project in hopes that I could easily swap out the loading of jaeger-client tracer and be good to go.However, I've found that it isn't actually compatible in the same way. I've written a brief example to illustrate the issue which is based on a combination of my code, the opentracer examples and the shim example.
While true that I might just be being lazy and should probably just either go all in and refactor everything to use this package or help update the jaeger client (still making that choice), I wanted to raise the issue that the shim is not compatible with this basic example (as I was hoping it would be) without making some major changes in the code, making the shim not so much a shim.
Please run this example to see the breaking point.
Hint: it's the
inject
call that fails directly with aAttributeError: 'Span' object has no attribute 'trace_id'
, but seems to stem from a deeper architectural incompatibility.requirements
example.py
Any thoughts or ideas appreciated. Thanks!
The text was updated successfully, but these errors were encountered: