Class LoadReportClient

java.lang.Object
io.grpc.xds.client.LoadReportClient

@Internal public final class LoadReportClient extends Object
Client of xDS load reporting service based on LRS protocol, which reports load stats of gRPC client's perspective to a management server.
  • Field Details

    • logId

      private final io.grpc.InternalLogId logId
    • logger

      private final XdsLogger logger
    • xdsTransport

      private final XdsTransportFactory.XdsTransport xdsTransport
    • node

      private final EnvoyProtoData.Node node
    • syncContext

      private final io.grpc.SynchronizationContext syncContext
    • timerService

      private final ScheduledExecutorService timerService
    • retryStopwatch

      private final com.google.common.base.Stopwatch retryStopwatch
    • backoffPolicyProvider

      private final io.grpc.internal.BackoffPolicy.Provider backoffPolicyProvider
    • loadStatsManager

      public final LoadStatsManager2 loadStatsManager
    • started

      private boolean started
    • lrsRpcRetryPolicy

      @Nullable private io.grpc.internal.BackoffPolicy lrsRpcRetryPolicy
    • lrsRpcRetryTimer

      @Nullable private io.grpc.SynchronizationContext.ScheduledHandle lrsRpcRetryTimer
    • lrsStream

    • method

      private static final io.grpc.MethodDescriptor<LoadStatsRequest,LoadStatsResponse> method
  • Constructor Details

  • Method Details

    • lrsStreamIsNull

      public boolean lrsStreamIsNull()
    • startLoadReporting

      public void startLoadReporting()
      Establishes load reporting communication and negotiates with traffic director to report load stats periodically. Calling this method on an already started LoadReportClient is no-op.
    • stopLoadReporting

      public void stopLoadReporting()
      Terminates load reporting. Calling this method on an already stopped LoadReportClient is no-op.
    • startLrsRpc

      private void startLrsRpc()