Skip to content
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

codahale/hdrhistogram github repository is archived by the owner #32

Closed
tbarbugli opened this issue Dec 5, 2017 · 12 comments
Closed

codahale/hdrhistogram github repository is archived by the owner #32

tbarbugli opened this issue Dec 5, 2017 · 12 comments

Comments

@tbarbugli
Copy link

I just noticed this while looking at the dependencies added by this lib:

image

@yurishkuro
Copy link
Member

We shouldn't have it as a direct dependency

@jpkrohling
Copy link
Contributor

This could be labeled as "good first issue".

@pohly
Copy link
Contributor

pohly commented Jul 12, 2018

@yurishkuro, @jpkrohling: what solution do you have in mind? Copy just the necessary code from codahale/hdrhistogram into jaeger-lib/metrics (which is where it is used), or copy the entire repo and continue maintaining it - but where and how?

@jpkrohling
Copy link
Contributor

Isn't it just a matter of removing the dependency from glide.lock? I think it was removed from the YAML but not from the lock...

@pohly, would you be willing to give it a shot?

@pohly
Copy link
Contributor

pohly commented Jul 12, 2018

@jpkrohling no, the package still gets used here:
https://github.com/jaegertracing/jaeger-lib/blob/master/metrics/local.go#L23

So the solution isn't just a simple change to glide.lock.

@jpkrohling
Copy link
Contributor

Sorry, I thought this was the main repo :-)

@pohly
Copy link
Contributor

pohly commented Jul 12, 2018

@jpkrohling do you still think that this is a "good first issue"?

codahale/hdrhistogram has some unfixed issues open, so whoever does something probably also needs to have a good understanding of whether those bugs are relevant when copying code. Doesn't look trivial to me.

I'd also like to add that this is a show-stopper for me for using Jaeger - depending on unmaintained, potentially buggy components just isn't good and won't pass a closer review.

@jpkrohling
Copy link
Contributor

do you still think that this is a "good first issue"?

For someone who knows Go, I think this might still be a good first issue.

codahale/hdrhistogram has some unfixed issues open, so whoever does something probably also needs to have a good understanding of whether those bugs are relevant when copying code. Doesn't look trivial to me.

@yurishkuro can provide more details about this, but I think it would be acceptable to switch to a more modern backend, like Prometheus. Pretty much all providers nowadays are able to scrape Prometheus data. For the main backend, we are using expvar, Prometheus and a noop implementation:

https://github.com/jaegertracing/jaeger/blob/master/pkg/metrics/builder.go#L52

So, the real solution is to not depend on this unmaintained library.

depending on unmaintained, potentially buggy components just isn't good and won't pass a closer review

+1, I don't think anyone would disagree with that, but different issues have different priorities to different people.

@yurishkuro
Copy link
Member

yurishkuro commented Jul 12, 2018

Local backend is only used in unit tests. We can probably simulate it via Prometheus client if we don't use the default registrar (which is global and will persist across tests).

The downside will be a new Prometheus dependency.

Another alternative is to check what go-kit uses, I expect it implements similar histogram behavior on expvar, so would need a digest library.

@pohly
Copy link
Contributor

pohly commented Jul 12, 2018

If the local backend is only used for testing, why does it get pulled into production clients? That probably should be changed first. Once that's resolved, depending on an unmaintained components becomes less of a problem.

@yurishkuro
Copy link
Member

It should be moved to a package

@yurishkuro
Copy link
Member

As of v2.3.0 we're not using codahale (#82).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants