jaegertracing / jaeger-ui

Web UI for Jaeger
http://jaegertracing.io/
Apache License 2.0
1.15k stars 484 forks source link

Help upgrading from raven-js #2412

Open yurishkuro opened 4 months ago

yurishkuro commented 4 months ago

We are using a deprecated https://www.npmjs.com/package/raven-js package in packages/jaeger-ui/src/utils/tracking/. Maybe we can use @sentry/browser for that, or maybe we can just implement the needed functionality internally since we use it only to capture some basic error information to submit to the tracking backend.

BenzeneAlcohol commented 4 months ago

I can take this up. I'll do this first, and then the other bug for spans (in case someone doesn't solve that yet.)

I'll come up with a plan

BenzeneAlcohol commented 4 months ago

Ok, so I went through @sentry/browser, and tried integrating it. I feel the work is same if we change it to @sentry/browser, or just re write functionality internally, however having a package means added scope for development in the future. I do prefer re writing the functions internally tho. But I'm not sure how to structure the files in that case? Where to write the new functions (under what folder) and testing them. If there is a method for this, I'll propose an idea for re writing the internal functions.

yurishkuro commented 4 months ago

I am not opposed to just switching to @sentry/browser if it provides equivalent functionality

yurishkuro commented 4 months ago

but if we're talking about like 10 lines of code that I'd rather re-implement than pull a separate dependency

BenzeneAlcohol commented 4 months ago

It won't be 10 lines of code tho. Right now the biggest issue I've faced is the lack of a direct shift from RavenTrasportOptions in @sentry/browser package. Have to rewrite a few interfaces for that, and a few functions as well. It just feels like we can just shift half the functionality to @sentry/browser, the other half has to be custom.

Perhaps I'll open a draft PR with changes I've done so far and you can comment on them? I am yet to migrate the biggest file ga.tsx - this is where the custom interfaces need to come in, but others are done.