jaegertracing / jaeger-lib

A collection of shared infrastructure libraries used by different components of Jaeger.
https://github.com/uber/jaeger
Apache License 2.0
67 stars 35 forks source link

Consider using tally for metrics #49

Closed vprithvi closed 3 years ago

vprithvi commented 5 years ago

Investigate using https://github.com/uber-go/tally as the metrics API instead of having jaeger-lib/metrics.

The APIs are similar, and tally supports writing to M3, Prometheus, statsd, and to multiple reporters out of the box.

Open Questions

yurishkuro commented 5 years ago

I don't have strong objections to dropping expvar support, because prometheus is very similar in terms of providing an easy to access http endpoint.

The only issue I can think of is that the hotrod app uses expvar explicitly for resource usage attribution example. However, it might be mounting expvar endpoint anyway (we should check), even of prom is selected for metrics.

yurishkuro commented 5 years ago

we're already using Prometheus directly, what is the benefit of rewriting it to go via tally?

vprithvi commented 5 years ago

The main advantage is that we will be maintaining lesser code in jaeger-lib, and hopefully benefit from tally having a larger user base than jaeger-lib. It also supports prometheus histograms while jaeger-lib/metrics does not.

I'm suggesting that we entirely remove the metrics package and use tally as the metrics interface (and not go through tally for specific implementations).

yurishkuro commented 5 years ago

This sounds like a massive amount of work. I don't see the point.

yurishkuro commented 3 years ago

I doubt we'll even do this, if anything we would consider moving over to OpenTelemetry. Closing.