diff options
7 files changed, 19 insertions, 20 deletions
diff --git a/api/src/main/java/io/opencensus/common/Duration.java b/api/src/main/java/io/opencensus/common/Duration.java index 57ca87fe..fb85a0ae 100644 --- a/api/src/main/java/io/opencensus/common/Duration.java +++ b/api/src/main/java/io/opencensus/common/Duration.java @@ -82,15 +82,14 @@ public abstract class Duration implements Comparable<Duration> { /** * Converts a {@link Duration} to milliseconds. * - * <p>Note that there could be overflow or loss of precision by making this conversion. See {@link - * TimeUnit#convert(long, TimeUnit)} for details. + * <p>Returns {@code Long.MIN_VALUE} if conversion would negatively overflow, or {@code + * Long.MAX_VALUE} if it would positively overflow. * - * @param duration a {@code Duration}. * @return the milliseconds representation of this {@code Duration}. + * @since 0.13 */ - public static long toMillis(Duration duration) { - return TimeUnit.SECONDS.toMillis(duration.getSeconds()) - + TimeUnit.NANOSECONDS.toMillis(duration.getNanos()); + public long toMillis() { + return TimeUnit.SECONDS.toMillis(getSeconds()) + TimeUnit.NANOSECONDS.toMillis(getNanos()); } /** diff --git a/api/src/test/java/io/opencensus/common/DurationTest.java b/api/src/test/java/io/opencensus/common/DurationTest.java index d46f2f7a..fb5f314e 100644 --- a/api/src/test/java/io/opencensus/common/DurationTest.java +++ b/api/src/test/java/io/opencensus/common/DurationTest.java @@ -91,12 +91,12 @@ public class DurationTest { @Test public void toMillis() { - assertThat(Duration.toMillis(Duration.create(10, 0))).isEqualTo(10000L); - assertThat(Duration.toMillis(Duration.create(10, 1000))).isEqualTo(10000L); - assertThat(Duration.toMillis(Duration.create(0, (int) 1e6))).isEqualTo(1L); - assertThat(Duration.toMillis(Duration.create(0, 0))).isEqualTo(0L); - assertThat(Duration.toMillis(Duration.create(-10, 0))).isEqualTo(-10000L); - assertThat(Duration.toMillis(Duration.create(-10, -1000))).isEqualTo(-10000L); - assertThat(Duration.toMillis(Duration.create(0, -(int) 1e6))).isEqualTo(-1L); + assertThat(Duration.create(10, 0).toMillis()).isEqualTo(10000L); + assertThat(Duration.create(10, 1000).toMillis()).isEqualTo(10000L); + assertThat(Duration.create(0, (int) 1e6).toMillis()).isEqualTo(1L); + assertThat(Duration.create(0, 0).toMillis()).isEqualTo(0L); + assertThat(Duration.create(-10, 0).toMillis()).isEqualTo(-10000L); + assertThat(Duration.create(-10, -1000).toMillis()).isEqualTo(-10000L); + assertThat(Duration.create(0, -(int) 1e6).toMillis()).isEqualTo(-1L); } } diff --git a/exporters/stats/signalfx/src/main/java/io/opencensus/exporter/stats/signalfx/SignalFxStatsExporterWorkerThread.java b/exporters/stats/signalfx/src/main/java/io/opencensus/exporter/stats/signalfx/SignalFxStatsExporterWorkerThread.java index e8bfe426..3906b609 100644 --- a/exporters/stats/signalfx/src/main/java/io/opencensus/exporter/stats/signalfx/SignalFxStatsExporterWorkerThread.java +++ b/exporters/stats/signalfx/src/main/java/io/opencensus/exporter/stats/signalfx/SignalFxStatsExporterWorkerThread.java @@ -59,7 +59,7 @@ final class SignalFxStatsExporterWorkerThread extends Thread { String token, Duration interval, ViewManager views) { - this.intervalMs = Duration.toMillis(interval); + this.intervalMs = interval.toMillis(); this.views = views; this.sender = factory.create(endpoint, token, ERROR_HANDLER); diff --git a/exporters/stats/stackdriver/src/main/java/io/opencensus/exporter/stats/stackdriver/StackdriverExporterWorker.java b/exporters/stats/stackdriver/src/main/java/io/opencensus/exporter/stats/stackdriver/StackdriverExporterWorker.java index 68ca85ff..1a2dce19 100644 --- a/exporters/stats/stackdriver/src/main/java/io/opencensus/exporter/stats/stackdriver/StackdriverExporterWorker.java +++ b/exporters/stats/stackdriver/src/main/java/io/opencensus/exporter/stats/stackdriver/StackdriverExporterWorker.java @@ -79,7 +79,7 @@ final class StackdriverExporterWorker implements Runnable { Duration exportInterval, ViewManager viewManager, MonitoredResource monitoredResource) { - this.scheduleDelayMillis = Duration.toMillis(exportInterval); + this.scheduleDelayMillis = exportInterval.toMillis(); this.projectId = projectId; projectName = ProjectName.newBuilder().setProject(projectId).build(); this.metricServiceClient = metricServiceClient; diff --git a/impl_core/src/main/java/io/opencensus/implcore/stats/IntervalBucket.java b/impl_core/src/main/java/io/opencensus/implcore/stats/IntervalBucket.java index f114bea6..65b768da 100644 --- a/impl_core/src/main/java/io/opencensus/implcore/stats/IntervalBucket.java +++ b/impl_core/src/main/java/io/opencensus/implcore/stats/IntervalBucket.java @@ -81,7 +81,7 @@ final class IntervalBucket { checkArgument( elapsedTime.compareTo(ZERO) >= 0 && elapsedTime.compareTo(duration) < 0, "This bucket must be current."); - return ((double) Duration.toMillis(elapsedTime)) / Duration.toMillis(duration); + return ((double) elapsedTime.toMillis()) / duration.toMillis(); } void clearStats() { diff --git a/impl_core/src/main/java/io/opencensus/implcore/stats/MutableViewData.java b/impl_core/src/main/java/io/opencensus/implcore/stats/MutableViewData.java index f0938c06..d60715b5 100644 --- a/impl_core/src/main/java/io/opencensus/implcore/stats/MutableViewData.java +++ b/impl_core/src/main/java/io/opencensus/implcore/stats/MutableViewData.java @@ -287,7 +287,7 @@ abstract class MutableViewData { super(view); Duration totalDuration = ((View.AggregationWindow.Interval) view.getWindow()).getDuration(); this.totalDuration = totalDuration; - this.bucketDuration = Duration.fromMillis(Duration.toMillis(totalDuration) / N); + this.bucketDuration = Duration.fromMillis(totalDuration.toMillis() / N); // When initializing. add N empty buckets prior to the start timestamp of this // IntervalMutableViewData, so that the last bucket will be the current one in effect. @@ -346,8 +346,8 @@ abstract class MutableViewData { checkArgument( now.compareTo(startOfLastBucket) >= 0, "Current time must be within or after the last bucket."); - long elapsedTimeMillis = Duration.toMillis(now.subtractTimestamp(startOfLastBucket)); - long numOfPadBuckets = elapsedTimeMillis / Duration.toMillis(bucketDuration); + long elapsedTimeMillis = now.subtractTimestamp(startOfLastBucket).toMillis(); + long numOfPadBuckets = elapsedTimeMillis / bucketDuration.toMillis(); shiftBucketList(numOfPadBuckets, now); } diff --git a/impl_core/src/main/java/io/opencensus/implcore/trace/export/SpanExporterImpl.java b/impl_core/src/main/java/io/opencensus/implcore/trace/export/SpanExporterImpl.java index c8ed237d..e702d38c 100644 --- a/impl_core/src/main/java/io/opencensus/implcore/trace/export/SpanExporterImpl.java +++ b/impl_core/src/main/java/io/opencensus/implcore/trace/export/SpanExporterImpl.java @@ -145,7 +145,7 @@ public final class SpanExporterImpl extends SpanExporter { private Worker(int bufferSize, Duration scheduleDelay) { spans = new ArrayList<SpanImpl>(bufferSize); this.bufferSize = bufferSize; - this.scheduleDelayMillis = Duration.toMillis(scheduleDelay); + this.scheduleDelayMillis = scheduleDelay.toMillis(); } // Returns an unmodifiable list of all buffered spans data to ensure that any registered |
