aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java
diff options
context:
space:
mode:
authorYang Song <songy23@users.noreply.github.com>2018-10-09 18:32:38 -0700
committerGitHub <noreply@github.com>2018-10-09 18:32:38 -0700
commite3b2074a090836985307123517fd2d361c4b503c (patch)
treee2eb33dbf3bf0136a1d4c35fdca71301049c2ac5 /api/src/main/java
parentdea86ae9d49eb9ecc0172c96773d41a9dcc2a4b2 (diff)
downloadopencensus-java-e3b2074a090836985307123517fd2d361c4b503c.tar.gz
Metrics: Copy TimeSeries list when creating a Metric. (#1485)
* Metrics: Copy TimeSeries list when creating a Metric. * Check for null and add more tests.
Diffstat (limited to 'api/src/main/java')
-rw-r--r--api/src/main/java/io/opencensus/metrics/export/Metric.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/api/src/main/java/io/opencensus/metrics/export/Metric.java b/api/src/main/java/io/opencensus/metrics/export/Metric.java
index 07fe356a..5e2fa5e8 100644
--- a/api/src/main/java/io/opencensus/metrics/export/Metric.java
+++ b/api/src/main/java/io/opencensus/metrics/export/Metric.java
@@ -23,6 +23,8 @@ import io.opencensus.metrics.export.Value.ValueDistribution;
import io.opencensus.metrics.export.Value.ValueDouble;
import io.opencensus.metrics.export.Value.ValueLong;
import io.opencensus.metrics.export.Value.ValueSummary;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import javax.annotation.concurrent.Immutable;
@@ -47,8 +49,12 @@ public abstract class Metric {
* @since 0.17
*/
public static Metric create(MetricDescriptor metricDescriptor, List<TimeSeries> timeSeriesList) {
+ Utils.checkNotNull(metricDescriptor, "metricDescriptor");
+ Utils.checkNotNull(timeSeriesList, "timeSeriesList");
+ Utils.checkListElementNotNull(timeSeriesList, "timeSeries");
checkTypeMatch(metricDescriptor.getType(), timeSeriesList);
- return new AutoValue_Metric(metricDescriptor, timeSeriesList);
+ return new AutoValue_Metric(
+ metricDescriptor, Collections.unmodifiableList(new ArrayList<TimeSeries>(timeSeriesList)));
}
/**