googleapis / googleapis/google-cloud-java

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

オープン
#12,430 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
priority: p2 type: feature request
主要言語
Java
スター
2.1k
フォーク
1.2k
平均マージ
1日 23時間
マージ済み PR(30日)
154

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。