aboutsummaryrefslogtreecommitdiff
path: root/api/src/test/java/io/opencensus
diff options
context:
space:
mode:
authorYang Song <songy23@users.noreply.github.com>2018-04-27 14:47:12 -0700
committerGitHub <noreply@github.com>2018-04-27 14:47:12 -0700
commitdec25072b4b7671a8ff35f0a121b41eddff5f66f (patch)
treef395d21ddce7c2889c987cd46c0bbdcdc469b089 /api/src/test/java/io/opencensus
parent4e62aac18595243b9ed4c98137c24e7413c1dc48 (diff)
downloadopencensus-java-dec25072b4b7671a8ff35f0a121b41eddff5f66f.tar.gz
Add Aggregation.LastValue and AggregationData.LastValueData to support Gauge (#1055)
* Add LastValue and LastValueData * Support LastValue and LastValueData in impl * Use Utils instead of Precondition * Add LastValue and remove Mean from match() method. * Support LastValue and LastValueData in exporters and zpages. * Update MutableLastValue, add comments on why Mean is still supported.
Diffstat (limited to 'api/src/test/java/io/opencensus')
-rw-r--r--api/src/test/java/io/opencensus/stats/AggregationDataTest.java31
-rw-r--r--api/src/test/java/io/opencensus/stats/AggregationTest.java39
-rw-r--r--api/src/test/java/io/opencensus/stats/ViewDataTest.java19
3 files changed, 52 insertions, 37 deletions
diff --git a/api/src/test/java/io/opencensus/stats/AggregationDataTest.java b/api/src/test/java/io/opencensus/stats/AggregationDataTest.java
index 3431d043..9f2aa589 100644
--- a/api/src/test/java/io/opencensus/stats/AggregationDataTest.java
+++ b/api/src/test/java/io/opencensus/stats/AggregationDataTest.java
@@ -23,6 +23,8 @@ import io.opencensus.common.Function;
import io.opencensus.common.Functions;
import io.opencensus.stats.AggregationData.CountData;
import io.opencensus.stats.AggregationData.DistributionData;
+import io.opencensus.stats.AggregationData.LastValueDataDouble;
+import io.opencensus.stats.AggregationData.LastValueDataLong;
import io.opencensus.stats.AggregationData.MeanData;
import io.opencensus.stats.AggregationData.SumDataDouble;
import io.opencensus.stats.AggregationData.SumDataLong;
@@ -95,6 +97,8 @@ public class AggregationDataTest {
.addEqualityGroup(DistributionData.create(10, 10, 1, 1, 55.5, Arrays.asList(0L, 10L, 0L)))
.addEqualityGroup(MeanData.create(5.0, 1), MeanData.create(5.0, 1))
.addEqualityGroup(MeanData.create(-5.0, 1), MeanData.create(-5.0, 1))
+ .addEqualityGroup(LastValueDataDouble.create(20.0), LastValueDataDouble.create(20.0))
+ .addEqualityGroup(LastValueDataLong.create(20), LastValueDataLong.create(20))
.testEquals();
}
@@ -105,8 +109,9 @@ public class AggregationDataTest {
SumDataDouble.create(10.0),
SumDataLong.create(100000000),
CountData.create(40),
- MeanData.create(5.0, 1),
- DistributionData.create(1, 1, 1, 1, 0, Arrays.asList(0L, 10L, 0L)));
+ DistributionData.create(1, 1, 1, 1, 0, Arrays.asList(0L, 10L, 0L)),
+ LastValueDataDouble.create(20.0),
+ LastValueDataLong.create(200000000L));
final List<Object> actual = new ArrayList<Object>();
for (AggregationData aggregation : aggregations) {
@@ -132,17 +137,24 @@ public class AggregationDataTest {
return null;
}
},
- new Function<MeanData, Void>() {
+ new Function<DistributionData, Void>() {
@Override
- public Void apply(MeanData arg) {
- actual.add(arg.getMean());
+ public Void apply(DistributionData arg) {
+ actual.add(arg.getBucketCounts());
return null;
}
},
- new Function<DistributionData, Void>() {
+ new Function<LastValueDataDouble, Void>() {
@Override
- public Void apply(DistributionData arg) {
- actual.add(arg.getBucketCounts());
+ public Void apply(LastValueDataDouble arg) {
+ actual.add(arg.getLastValue());
+ return null;
+ }
+ },
+ new Function<LastValueDataLong, Void>() {
+ @Override
+ public Void apply(LastValueDataLong arg) {
+ actual.add(arg.getLastValue());
return null;
}
},
@@ -150,6 +162,7 @@ public class AggregationDataTest {
}
assertThat(actual)
- .isEqualTo(Arrays.asList(10.0, 100000000L, 40L, 5.0, Arrays.asList(0L, 10L, 0L)));
+ .containsExactly(10.0, 100000000L, 40L, Arrays.asList(0L, 10L, 0L), 20.0, 200000000L)
+ .inOrder();
}
}
diff --git a/api/src/test/java/io/opencensus/stats/AggregationTest.java b/api/src/test/java/io/opencensus/stats/AggregationTest.java
index 3ef131b8..c2e6a716 100644
--- a/api/src/test/java/io/opencensus/stats/AggregationTest.java
+++ b/api/src/test/java/io/opencensus/stats/AggregationTest.java
@@ -19,10 +19,10 @@ package io.opencensus.stats;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.testing.EqualsTester;
-import io.opencensus.common.Function;
import io.opencensus.common.Functions;
import io.opencensus.stats.Aggregation.Count;
import io.opencensus.stats.Aggregation.Distribution;
+import io.opencensus.stats.Aggregation.LastValue;
import io.opencensus.stats.Aggregation.Mean;
import io.opencensus.stats.Aggregation.Sum;
import java.util.ArrayList;
@@ -66,6 +66,7 @@ public class AggregationTest {
Distribution.create(BucketBoundaries.create(Arrays.asList(0.0, 1.0, 5.0))),
Distribution.create(BucketBoundaries.create(Arrays.asList(0.0, 1.0, 5.0))))
.addEqualityGroup(Mean.create(), Mean.create())
+ .addEqualityGroup(LastValue.create(), LastValue.create())
.testEquals();
}
@@ -76,39 +77,21 @@ public class AggregationTest {
Sum.create(),
Count.create(),
Mean.create(),
- Distribution.create(BucketBoundaries.create(Arrays.asList(-10.0, 1.0, 5.0))));
+ Distribution.create(BucketBoundaries.create(Arrays.asList(-10.0, 1.0, 5.0))),
+ LastValue.create());
List<String> actual = new ArrayList<String>();
for (Aggregation aggregation : aggregations) {
actual.add(
aggregation.match(
- new Function<Sum, String>() {
- @Override
- public String apply(Sum arg) {
- return "SUM";
- }
- },
- new Function<Count, String>() {
- @Override
- public String apply(Count arg) {
- return "COUNT";
- }
- },
- new Function<Mean, String>() {
- @Override
- public String apply(Mean arg) {
- return "MEAN";
- }
- },
- new Function<Distribution, String>() {
- @Override
- public String apply(Distribution arg) {
- return "DISTRIBUTION";
- }
- },
- Functions.<String>throwIllegalArgumentException()));
+ Functions.returnConstant("SUM"),
+ Functions.returnConstant("COUNT"),
+ Functions.returnConstant("DISTRIBUTION"),
+ Functions.returnConstant("LASTVALUE"),
+ Functions.returnConstant("UNKNOWN")));
}
- assertThat(actual).isEqualTo(Arrays.asList("SUM", "COUNT", "MEAN", "DISTRIBUTION"));
+ assertThat(actual)
+ .isEqualTo(Arrays.asList("SUM", "COUNT", "UNKNOWN", "DISTRIBUTION", "LASTVALUE"));
}
}
diff --git a/api/src/test/java/io/opencensus/stats/ViewDataTest.java b/api/src/test/java/io/opencensus/stats/ViewDataTest.java
index 0dc78e33..89009f34 100644
--- a/api/src/test/java/io/opencensus/stats/ViewDataTest.java
+++ b/api/src/test/java/io/opencensus/stats/ViewDataTest.java
@@ -27,10 +27,13 @@ import io.opencensus.common.Functions;
import io.opencensus.common.Timestamp;
import io.opencensus.stats.Aggregation.Count;
import io.opencensus.stats.Aggregation.Distribution;
+import io.opencensus.stats.Aggregation.LastValue;
import io.opencensus.stats.Aggregation.Mean;
import io.opencensus.stats.Aggregation.Sum;
import io.opencensus.stats.AggregationData.CountData;
import io.opencensus.stats.AggregationData.DistributionData;
+import io.opencensus.stats.AggregationData.LastValueDataDouble;
+import io.opencensus.stats.AggregationData.LastValueDataLong;
import io.opencensus.stats.AggregationData.SumDataDouble;
import io.opencensus.stats.AggregationData.SumDataLong;
import io.opencensus.stats.View.AggregationWindow;
@@ -218,6 +221,22 @@ public final class ViewDataTest {
CountData.create(100)));
}
+ @Test
+ public void preventAggregationAndAggregationDataMismatch_LastValueDouble_LastValueLong() {
+ aggregationAndAggregationDataMismatch(
+ createView(LastValue.create(), MEASURE_DOUBLE),
+ ImmutableMap.<List<TagValue>, AggregationData>of(
+ Arrays.asList(V1, V2), LastValueDataLong.create(100)));
+ }
+
+ @Test
+ public void preventAggregationAndAggregationDataMismatch_LastValueLong_LastValueDouble() {
+ aggregationAndAggregationDataMismatch(
+ createView(LastValue.create(), MEASURE_LONG),
+ ImmutableMap.<List<TagValue>, AggregationData>of(
+ Arrays.asList(V1, V2), LastValueDataDouble.create(100)));
+ }
+
private static View createView(Aggregation aggregation) {
return createView(aggregation, MEASURE_DOUBLE);
}