aboutsummaryrefslogtreecommitdiffstats
path: root/simplemetrics/src/main/java/com/yahoo/metrics/simple/Sample.java
diff options
context:
space:
mode:
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.java56
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);
+ }
+ }
+
+}