diff options
Diffstat (limited to 'simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java')
-rw-r--r-- | simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java b/simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java new file mode 100644 index 00000000000..b23b886c973 --- /dev/null +++ b/simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java @@ -0,0 +1,56 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.metrics.simple; + +import com.yahoo.metrics.simple.UntypedMetric.AssumedType; + +/** + * A single metric measurement and all the meta data needed to route it + * correctly. + * + * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> + */ +public class Sample { + private final Identifier identifier; + private final Measurement measurement; + private final AssumedType metricType; + private MetricReceiver metricReceiver = null; + + public Sample(Measurement measurement, Identifier id, AssumedType t) { + this.identifier = id; + this.measurement = measurement; + this.metricType = t; + } + + Identifier getIdentifier() { + return identifier; + } + + Measurement getMeasurement() { + return measurement; + } + + AssumedType getMetricType() { + return metricType; + } + + void setReceiver(MetricReceiver metricReceiver) { + this.metricReceiver = metricReceiver; + } + + /** + * Get histogram definition for an arbitrary metric. Caveat emptor: This + * involves reading a volatile. + * + * @param metricName + * name of the metric to get histogram definition for + * @return how to define a new histogram or null + */ + MetricSettings getHistogramDefinition(String metricName) { + if (metricReceiver == null) { + return null; + } else { + return metricReceiver.getMetricDefinition(metricName); + } + } + +} |