Skip to content

Commit e0052f3

Browse files
Use time construct for RequestEntry enterTime instead of long for sematic clarity (#226)
Co-authored-by: Ville Koskela <[email protected]>
1 parent 48d8c2d commit e0052f3

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/main/java/com/arpnetworking/tsdcore/model/RequestEntry.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import net.sf.oval.constraint.NotNull;
2020
import org.asynchttpclient.Request;
2121

22+
import java.time.Instant;
23+
2224
/**
2325
* Contains the info for a http request.
2426
*
@@ -29,7 +31,7 @@ public Request getRequest() {
2931
return _request;
3032
}
3133

32-
public long getEnterTime() {
34+
public Instant getEnterTime() {
3335
return _enterTime;
3436
}
3537

@@ -44,7 +46,7 @@ private RequestEntry(final Builder builder) {
4446
}
4547

4648
private final Request _request;
47-
private long _enterTime;
49+
private Instant _enterTime;
4850
private final long _populationSize;
4951

5052
/**
@@ -80,7 +82,7 @@ public Builder setRequest(final Request value) {
8082
* @param value The enter time.
8183
* @return This {@link Builder} instance.
8284
*/
83-
public Builder setEnterTime(final long value) {
85+
public Builder setEnterTime(final Instant value) {
8486
_enterTime = value;
8587
return this;
8688
}
@@ -99,7 +101,7 @@ public Builder setPopulationSize(final long value) {
99101
@NotNull
100102
private Request _request;
101103
@NotNull
102-
private Long _enterTime;
104+
private Instant _enterTime;
103105
@NotNull
104106
private Long _populationSize;
105107
}

src/main/java/com/arpnetworking/tsdcore/sinks/HttpPostSinkActor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import scala.concurrent.duration.FiniteDuration;
4040

4141
import java.time.Duration;
42+
import java.time.Instant;
4243
import java.util.Collection;
4344
import java.util.Objects;
4445
import java.util.Optional;
@@ -218,7 +219,7 @@ private void processEmitAggregation(final EmitAggregation emitMessage) {
218219
for (final RequestEntry.Builder requestEntryBuilder : requestEntryBuilders) {
219220
// TODO(vkoskela): Add logging to client [MAI-89]
220221
// TODO(vkoskela): Add instrumentation to client [MAI-90]
221-
_pendingRequests.offer(requestEntryBuilder.setEnterTime(System.currentTimeMillis()).build());
222+
_pendingRequests.offer(requestEntryBuilder.setEnterTime(Instant.now()).build());
222223
}
223224

224225
if (evicted > 0) {
@@ -271,7 +272,8 @@ private void dispatchPending() {
271272
private void fireNextRequest() {
272273
final RequestEntry requestEntry = _pendingRequests.poll();
273274
final Metrics metrics = _metricsFactory.create();
274-
metrics.setTimer(_inQueueLatencyName, System.currentTimeMillis() - requestEntry.getEnterTime(), TimeUnit.MILLISECONDS);
275+
final long latencyInMillis = Duration.between(requestEntry.getEnterTime(), Instant.now()).toMillis();
276+
metrics.setTimer(_inQueueLatencyName, latencyInMillis, TimeUnit.MILLISECONDS);
275277

276278
final Request request = requestEntry.getRequest();
277279
_inflightRequestsCount++;

0 commit comments

Comments
 (0)