google-cloud-java
google-cloud-java copied to clipboard
Integrating with stackdriver leads to dependency hell
This issue falls somewhere between google-cloud-java clients, stackdriver and the oss bom. It doesn't seem like there is consensus on how to deal with this issue. So I'll start the discussion here and we can move it else where.
As it stands it's really not easy for customers to get dependencies right when trying to integrate a google-cloud-java client with an opencensus stackdriver exporter.
Issue 1: google-cloud-java clients only depend on opencensus-api, to enable metrics they need to add at least 2 more dependencies: opencensus-impl and an exporter. Which means customers will need to manually track the version opencensus used by google-cloud-java and bump their versions of opencensus-impl and an exporter. I spoke to @chingor13 about this and he thought this should be in the oss bom. But it seems like there is some push back: https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/862
Issue 2: since the stackdriver exporters use google-cloud-java clients, they will always have older versions grpc & friends. Which requires customers to either exclude common deps from the stack driver exporters or import the grpc bom and then manually bump versions to stay in sync with google-cloud-java's grpc bom
/cc @elharo @chingor13 @suztomo @kolea2
Which libraries do you mean by google-cloud-java clients? Somehting in this repo or something that uses this repo?
In this repo. Specifically bigtable: https://github.com/googleapis/google-cloud-java/pull/6143
But it also applies to other clients in this repo that don't have explicit integration with opencensus. It would be very useful for customers to be able to export underlying grpc metrics to stack driver.