Class MutableMeasurement
java.lang.Object
io.opentelemetry.sdk.metrics.internal.state.MutableMeasurement
- All Implemented Interfaces:
Measurement
A mutable
Measurement implementation
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
This class is not thread-safe.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Attributesprivate doubleprivate longprivate booleanprivate booleanprivate longprivate long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublelongbooleanbooleanlongprivate voidset(long startEpochNanos, long epochNanos, boolean hasLongValue, long longValue, boolean hasDoubleValue, double doubleValue, Attributes attributes) Sets the values.(package private) static voidsetDoubleMeasurement(MutableMeasurement mutableMeasurement, long startEpochNanos, long epochNanos, double value, Attributes attributes) (package private) static voidsetLongMeasurement(MutableMeasurement mutableMeasurement, long startEpochNanos, long epochNanos, long value, Attributes attributes) longwithAttributes(Attributes attributes) Updates the attributes.withStartEpochNanos(long startEpochNanos) Updates the startEpochNanos.
-
Field Details
-
startEpochNanos
private long startEpochNanos -
epochNanos
private long epochNanos -
hasLongValue
private boolean hasLongValue -
longValue
private long longValue -
hasDoubleValue
private boolean hasDoubleValue -
doubleValue
private double doubleValue -
attributes
-
-
Constructor Details
-
MutableMeasurement
public MutableMeasurement()
-
-
Method Details
-
setDoubleMeasurement
static void setDoubleMeasurement(MutableMeasurement mutableMeasurement, long startEpochNanos, long epochNanos, double value, Attributes attributes) -
setLongMeasurement
static void setLongMeasurement(MutableMeasurement mutableMeasurement, long startEpochNanos, long epochNanos, long value, Attributes attributes) -
set
private void set(long startEpochNanos, long epochNanos, boolean hasLongValue, long longValue, boolean hasDoubleValue, double doubleValue, Attributes attributes) Sets the values. -
withStartEpochNanos
Description copied from interface:MeasurementUpdates the startEpochNanos.- Specified by:
withStartEpochNanosin interfaceMeasurement- Parameters:
startEpochNanos- start epoch nanosecond- Returns:
- The updated object. For
ImmutableMeasurementit will be a new object with the updated startEpochNanos and forMutableMeasurementit will return itself with the startEpochNanos updated
-
withAttributes
Description copied from interface:MeasurementUpdates the attributes.- Specified by:
withAttributesin interfaceMeasurement- Parameters:
attributes- The attributes to update- Returns:
- The updated object. For
ImmutableMeasurementit will be a new object with the updated attributes and forMutableMeasurementit will return itself with the attributes updated
-
startEpochNanos
public long startEpochNanos()- Specified by:
startEpochNanosin interfaceMeasurement
-
epochNanos
public long epochNanos()- Specified by:
epochNanosin interfaceMeasurement
-
hasLongValue
public boolean hasLongValue()- Specified by:
hasLongValuein interfaceMeasurement
-
longValue
public long longValue()- Specified by:
longValuein interfaceMeasurement
-
hasDoubleValue
public boolean hasDoubleValue()- Specified by:
hasDoubleValuein interfaceMeasurement
-
doubleValue
public double doubleValue()- Specified by:
doubleValuein interfaceMeasurement
-
attributes
- Specified by:
attributesin interfaceMeasurement
-