aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/src/main/java/io/opencensus/common/Duration.java11
-rw-r--r--api/src/test/java/io/opencensus/common/DurationTest.java14
-rw-r--r--exporters/stats/signalfx/src/main/java/io/opencensus/exporter/stats/signalfx/SignalFxStatsExporterWorkerThread.java2
-rw-r--r--exporters/stats/stackdriver/src/main/java/io/opencensus/exporter/stats/stackdriver/StackdriverExporterWorker.java2
-rw-r--r--impl_core/src/main/java/io/opencensus/implcore/stats/IntervalBucket.java2
-rw-r--r--impl_core/src/main/java/io/opencensus/implcore/stats/MutableViewData.java6
-rw-r--r--impl_core/src/main/java/io/opencensus/implcore/trace/export/SpanExporterImpl.java2
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