diff options
author | Yang Song <songy23@users.noreply.github.com> | 2018-10-09 18:32:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-09 18:32:38 -0700 |
commit | e3b2074a090836985307123517fd2d361c4b503c (patch) | |
tree | e2eb33dbf3bf0136a1d4c35fdca71301049c2ac5 /api/src/main | |
parent | dea86ae9d49eb9ecc0172c96773d41a9dcc2a4b2 (diff) | |
download | opencensus-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')
-rw-r--r-- | api/src/main/java/io/opencensus/metrics/export/Metric.java | 8 |
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))); } /** |