googleapis / googleapis/google-cloud-java

[sdk-platform-java] Investigate InstantiatingGrpcChannelProvider's `isOnComputeEngine()` invocation on every channel creation

Đang mở
#12,430 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
priority: p2 type: feature request
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

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 to `isOnComputeEngine()` 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.