objstore icon indicating copy to clipboard operation
objstore copied to clipboard

Add separate modules for metrics and tracing wrappers

Open brancz opened this issue 3 years ago • 5 comments

The specific libraries and mechanisms used for metrics and tracing can be quite opinionated and a library meant as an abstraction for object storage providers should not force a dependency of one or the other system onto downstream users. As such I think that the:

  • prometheus wrapper (already exists)
  • opentracing wrapper (already exists)
  • opentelemetry wrapper (does not exist yet)

Should be served by separate modules.

brancz avatar Mar 24 '22 10:03 brancz

Agree, there is a simpler idea, though: Just abstract away the metrics and opentracing as much as possible - but maybe overkill.

bwplotka avatar Jul 13 '22 14:07 bwplotka

OpenTracing has been deprecated for nearly a year; why wouldn't you just switch to OpenTelemetry? Adding abstractions over abstractions seems like an antipattern to me.

There is a bridge for anyone who needs OpenTracing.

bboreham avatar Oct 26 '22 09:10 bboreham

I agree I wouldn’t want yet another abstraction, but for me it was important people choose to adopt the dependency, not us force it onto people.

brancz avatar Oct 26 '22 10:10 brancz

Maybe if you include "no dependency" as an option that becomes clearer? I.e. the abstraction would include a no-op tracer.

bboreham avatar Oct 26 '22 10:10 bboreham

I'm not exactly sure what you're proposing.

brancz avatar Nov 09 '22 15:11 brancz