Comments (4)
Hey @gioragutt
I am stuck with the same question I would be very happy if you could share your findings or how you decided to move forward.
from opentracing-javascript.
My 0.02 would be to use opentelemetry-web and proxy OTLP to jaeger via an OpenTelemetry Collector.
from opentracing-javascript.
Hey guys, I've come to use zipkin-javascript-opentracing, and configured jaeger, and my backend services, to accept the zipkin format.
I'll explain more once Bayren finishes raping Barcelona 🤦🏻♂️
from opentracing-javascript.
So, I'm not in front of source code, but I might as well share.
What I ended up doing was using zipkin-javascript-opentracing
. The typing provided in @types is pretty awful, so I had to write my own in a .d.ts
.
My goal is to write a library for angular, which would work with the built in HttpClient
and the HttpInterceptor
middleware infrastructure to make tracing automatic, and allow whatever means of customization needed.
Since I end up sending zipkin
headers, I had to change my backend tracing library to accept zipkin headers.
I'm using Java, so it was pretty easy. All I had to do was make my initialization code use Configuration.fromEnv()
to initialize the Tracer
, and this in turn allowed me to use the JAEGER_PROPAGATION
environment variable.
It took some time to get things to work, considering zipkin-javascript-opentracing
doesn't follow the opentracing Tracer
api completely, but things end up working... well, good enough.
I would definitely prefer having native bindings for jaeger, since it would work out of the box, and follow all the best practices.
Another caveat that I noticed and is worth mentioning - I'm not sure if it's the zipkin format not supporting logs, or just zipkin-javascript-opentracing
, but all the things I log end up becoming tags
when viewed in the jaeger ui.
@austinlparker I'm not really aware of all the details of opentelemetry, just like really high-level stuff, but it might be a good solution. Regardless, setting up Opentelemetry is also an operational overhead, which is not my to carry (but of the DevOps team). I provided the simplest solution I could find, which would contain as little hacks as possible.
If the need will rise to improve the tracing, my successors (considering I'll be leaving the company soon), will hopefully be able to carry out the changes.
from opentracing-javascript.
Related Issues (20)
- MockTracer._allocSpan is private and can't be overwritten HOT 2
- Why not use interfaces instead of classes? HOT 13
- automatic tracer HOT 2
- Inject and Extract with BINARY format HOT 2
- [Feature Request] forEachBaggageItems on SpanContext
- Default import is not working in some contexts HOT 7
- Left me hanging - "the case where..."
- Trace should provide a method to get active span like other language API does
- Consider marking Span.constructor protected
- Is this project dead? HOT 1
- `__esModule` is `true` while no default export provided, breaks interoperability HOT 2
- trace should expose close function HOT 1
- SpanContext should expose a proper traceId and spanId
- MockTracer does not allow testing tags
- How to I chain traces over more than two processes? HOT 13
- Type checks won't always work in Reference creating functions HOT 3
- Span tag values should be `string`s, `boolean`s or `number`s HOT 2
- After latest release we have blocker issue HOT 11
- Set a span parent without using the context
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentracing-javascript.