aboutsummaryrefslogtreecommitdiff
path: root/grpclb
diff options
context:
space:
mode:
authorZHANG Dapeng <zdapeng@google.com>2018-05-21 12:44:06 -0700
committerGitHub <noreply@github.com>2018-05-21 12:44:06 -0700
commitf5f560ad365735a0c9bf8b86abeed16cf7dfdde7 (patch)
treeb0a34ef4d5036958b505cc1a4785ba883a91dfda /grpclb
parent30478d88c722a5a25e74f80e43578cb265d0ccfb (diff)
downloadgrpc-grpc-java-f5f560ad365735a0c9bf8b86abeed16cf7dfdde7.tar.gz
all: TimeProvider to use nanos rather than millis
This is the same practice as #2833
Diffstat (limited to 'grpclb')
-rw-r--r--grpclb/src/main/java/io/grpc/grpclb/GrpclbClientLoadRecorder.java3
-rw-r--r--grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancer.java1
-rw-r--r--grpclb/src/main/java/io/grpc/grpclb/GrpclbLoadBalancerFactory.java9
-rw-r--r--grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java1
-rw-r--r--grpclb/src/main/java/io/grpc/grpclb/TimeProvider.java24
-rw-r--r--grpclb/src/test/java/io/grpc/grpclb/GrpclbLoadBalancerTest.java7
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()));
}