diff options
author | ZHANG Dapeng <zdapeng@google.com> | 2018-05-21 12:44:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-21 12:44:06 -0700 |
commit | f5f560ad365735a0c9bf8b86abeed16cf7dfdde7 (patch) | |
tree | b0a34ef4d5036958b505cc1a4785ba883a91dfda /grpclb | |
parent | 30478d88c722a5a25e74f80e43578cb265d0ccfb (diff) | |
download | grpc-grpc-java-f5f560ad365735a0c9bf8b86abeed16cf7dfdde7.tar.gz |
all: TimeProvider to use nanos rather than millis
This is the same practice as #2833
Diffstat (limited to 'grpclb')
6 files changed, 10 insertions, 35 deletions
diff --git a/grpclb/src/main/java/io/grpc/grpclb/GrpclbClientLoadRecorder.java b/grpclb/src/main/java/io/grpc/grpclb/GrpclbClientLoadRecorder.java index a6eadc090..db6a473ba 100644 --- a/grpclb/src/main/java/io/grpc/grpclb/GrpclbClientLoadRecorder.java +++ b/grpclb/src/main/java/io/grpc/grpclb/GrpclbClientLoadRecorder.java @@ -23,6 +23,7 @@ import io.grpc.CallOptions; import io.grpc.ClientStreamTracer; import io.grpc.Metadata; import io.grpc.Status; +import io.grpc.internal.TimeProvider; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -99,7 +100,7 @@ final class GrpclbClientLoadRecorder extends ClientStreamTracer.Factory { ClientStats generateLoadReport() { ClientStats.Builder statsBuilder = ClientStats.newBuilder() - .setTimestamp(Timestamps.fromMillis(time.currentTimeMillis())) + .setTimestamp(Timestamps.fromNanos(time.currentTimeNanos())) .setNumCallsStarted(callsStartedUpdater.getAndSet(this, 0)) .setNumCallsFinished(callsFinishedUpdater.getAndSet(this, 0)) .setNumCallsFinishedWithClientFailedToSend(callsFailedToSendUpdater.getAndSet(this, 0)) diff --git a/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancer.java b/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancer.java index 42bb806b8..5c428960c 100644 --- a/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancer.java +++ b/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancer.java @@ -28,6 +28,7 @@ import io.grpc.grpclb.GrpclbConstants.LbPolicy; import io.grpc.internal.GrpcAttributes; import io.grpc.internal.LogId; import io.grpc.internal.ObjectPool; +import io.grpc.internal.TimeProvider; import io.grpc.internal.WithLogId; import java.util.ArrayList; import java.util.Collections; diff --git a/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancerFactory.java b/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancerFactory.java index 7058ef3e4..4bde1f225 100644 --- a/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancerFactory.java +++ b/grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancerFactory.java @@ -21,6 +21,7 @@ import io.grpc.LoadBalancer; import io.grpc.PickFirstBalancerFactory; import io.grpc.internal.GrpcUtil; import io.grpc.internal.SharedResourcePool; +import io.grpc.internal.TimeProvider; import io.grpc.util.RoundRobinLoadBalancerFactory; /** @@ -33,12 +34,6 @@ import io.grpc.util.RoundRobinLoadBalancerFactory; public class GrpclbLoadBalancerFactory extends LoadBalancer.Factory { private static final GrpclbLoadBalancerFactory INSTANCE = new GrpclbLoadBalancerFactory(); - private static final TimeProvider TIME_PROVIDER = new TimeProvider() { - @Override - public long currentTimeMillis() { - return System.currentTimeMillis(); - } - }; private GrpclbLoadBalancerFactory() { } @@ -57,6 +52,6 @@ public class GrpclbLoadBalancerFactory extends LoadBalancer.Factory { // load should not be on the shared scheduled executor, we should use a combination of the // scheduled executor and the default app executor. SharedResourcePool.forResource(GrpcUtil.TIMER_SERVICE), - TIME_PROVIDER); + TimeProvider.SYSTEM_TIME_PROVIDER); } } diff --git a/grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java b/grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java index f09b01f48..606be53df 100644 --- a/grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java +++ b/grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java @@ -43,6 +43,7 @@ import io.grpc.Metadata; import io.grpc.Status; import io.grpc.grpclb.LoadBalanceResponse.LoadBalanceResponseTypeCase; import io.grpc.internal.LogId; +import io.grpc.internal.TimeProvider; import io.grpc.stub.StreamObserver; import java.net.InetAddress; import java.net.InetSocketAddress; diff --git a/grpclb/src/main/java/io/grpc/grpclb/TimeProvider.java b/grpclb/src/main/java/io/grpc/grpclb/TimeProvider.java deleted file mode 100644 index b22d74359..000000000 --- a/grpclb/src/main/java/io/grpc/grpclb/TimeProvider.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2017 The gRPC Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.grpc.grpclb; - -/** - * Allow time manipulation in tests. - */ -interface TimeProvider { - long currentTimeMillis(); -} diff --git a/grpclb/src/test/java/io/grpc/grpclb/GrpclbLoadBalancerTest.java b/grpclb/src/test/java/io/grpc/grpclb/GrpclbLoadBalancerTest.java index 04ba5d0ec..c952140c6 100644 --- a/grpclb/src/test/java/io/grpc/grpclb/GrpclbLoadBalancerTest.java +++ b/grpclb/src/test/java/io/grpc/grpclb/GrpclbLoadBalancerTest.java @@ -74,6 +74,7 @@ import io.grpc.internal.FakeClock; import io.grpc.internal.GrpcAttributes; import io.grpc.internal.ObjectPool; import io.grpc.internal.SerializingExecutor; +import io.grpc.internal.TimeProvider; import io.grpc.stub.StreamObserver; import java.net.InetSocketAddress; import java.net.SocketAddress; @@ -137,8 +138,8 @@ public class GrpclbLoadBalancerTest { private final ArrayList<String> failingLbAuthorities = new ArrayList<String>(); private final TimeProvider timeProvider = new TimeProvider() { @Override - public long currentTimeMillis() { - return fakeClock.currentTimeMillis(); + public long currentTimeNanos() { + return fakeClock.getTicker().read(); } }; private io.grpc.Server fakeLbServer; @@ -685,7 +686,7 @@ public class GrpclbLoadBalancerTest { eq(LoadBalanceRequest.newBuilder() .setClientStats( ClientStats.newBuilder(expectedReport) - .setTimestamp(Timestamps.fromMillis(fakeClock.currentTimeMillis())) + .setTimestamp(Timestamps.fromNanos(fakeClock.getTicker().read())) .build()) .build())); } |