Investigate InstantiatingGrpcChannelProvider's isOnComputeEngine()
invocation on every channel creation
#2883
Labels
priority: p2
Moderately-important priority. Fix may not be included in next release.
type: feature request
‘Nice-to-have’ improvement, new feature or different behavior or design.
When a gRPC channel is created, the logic will invoke the
canUseDirectPath()
method: https://github.com/googleapis/sdk-platform-java/blob/af10a9ef26a5fd9f24fc5341d144b8ee00ff3d00/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java#L476-L48. This call has a check toisOnComputeEngine()
which will read a system file for GCE properties.We may be able to improve performance a bit as we may only need to read this file once. It may be even more performant for ChannelPools which constantly resize the channels as it'll repeatedly create new channels (and read a file every time).
Consider making the
isOnComputeEngine()
call non-static and introduce a way to cache the systemProduceName value once it's read the first time. Subsequent calls will not need to read the file and can simply return the cached value.The text was updated successfully, but these errors were encountered: