franz-go icon indicating copy to clipboard operation
franz-go copied to clipboard

kotel: optionally only use messaging.kafka.connects.count for connection metrics

Open endorama opened this issue 2 years ago • 1 comments

This PR follows the discussion in https://github.com/twmb/franz-go/issues/670.

I added a new struct field, mergeConnectsMeter bool that is manipulated by WithMergedConnectsMeter(), to control whether to use one or 2 metrics to track connection successes/errors.

By default is set to false to retain current behaviour.

When set to true it disables the creation of messaging.kafka.connect_errors.count metric and follows a different path in Meter.OnBrokerConnect. There is some repetition as I wanted to avoid additional allocations when manipulating otel attributes (unfortunately Attribute Sets don't offer a way to add/remove elements from the set).

I added tests for the previous and new behaviour.

Let me know what you think, happy to adjust based on your feedback and thank you for your review!

endorama avatar Mar 11 '24 17:03 endorama

@twmb I updated the PR to use attribute.Set and fixed the documentation. I also set this ready for review, happy to know what's your opinion!

endorama avatar Mar 25 '24 11:03 endorama

@twmb as you've seen me moved away from relying on this monitoring plugin for the use case that spawn this contribution but I'm happy to follow along with it. I still think that it aligns better to expectations in the otel ecosystem so I see a benefit. Let me know if you need anything on my side here and thanks for your time!

endorama avatar May 23 '24 09:05 endorama

Ah, sorry, mind dropping the go.mod and go.sum changes? I bumped them to latest before 1.17.

twmb avatar May 26 '24 06:05 twmb

Pinging! @endorama I can clone your repo and edit your commit a bit, I'll give it another week or so but if you drop the go.mod and go.sum changes earlier, we can merge and release yours :)

twmb avatar Jun 04 '24 01:06 twmb

@twmb sorry for the delay! I removed the commit bumping otel (bdbb6e1 (#691)) and rebased onto master so the branch is up to date.

Thanks for the review!

endorama avatar Jun 05 '24 17:06 endorama