Use standard Java interfaces instead of defining custom ones (#2261)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2020-12-10 09:16:24 -08:00 committed by GitHub
parent 252f8f385f
commit ca1f31dfb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 98 additions and 88 deletions

View File

@ -6,6 +6,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -19,22 +20,17 @@ import javax.annotation.concurrent.ThreadSafe;
*/ */
@ThreadSafe @ThreadSafe
public interface AsynchronousInstrument extends Instrument { public interface AsynchronousInstrument extends Instrument {
/** A {@code Callback} for a {@code AsynchronousInstrument}. */
interface Callback<R extends Result> {
void update(R result);
}
/** Builder class for {@link AsynchronousInstrument}. */ /** Builder class for {@link AsynchronousInstrument}. */
interface Builder<R extends Result> extends Instrument.Builder { interface Builder<R extends Result> extends Instrument.Builder {
/** /**
* Sets a callback that gets executed every collection interval. * Sets a consumer that gets executed every collection interval.
* *
* <p>Evaluation is deferred until needed, if this {@code AsynchronousInstrument} metric is not * <p>Evaluation is deferred until needed, if this {@code AsynchronousInstrument} metric is not
* exported then it will never be called. * exported then it will never be called.
* *
* @param callback the callback to be executed before export. * @param updater the consumer to be executed before export.
*/ */
Builder<R> setCallback(Callback<R> callback); Builder<R> setUpdater(Consumer<R> updater);
@Override @Override
AsynchronousInstrument build(); AsynchronousInstrument build();
@ -42,12 +38,12 @@ public interface AsynchronousInstrument extends Instrument {
interface Result {} interface Result {}
/** The result for the {@link Callback}. */ /** The result pass to the updater. */
interface LongResult extends Result { interface LongResult extends Result {
void observe(long value, Labels labels); void observe(long value, Labels labels);
} }
/** The result for the {@link Callback}. */ /** The result pass to the updater. */
interface DoubleResult extends Result { interface DoubleResult extends Result {
void observe(double value, Labels labels); void observe(double value, Labels labels);
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.StringUtils; import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.internal.Utils; import io.opentelemetry.api.internal.Utils;
import java.util.Objects; import java.util.Objects;
import java.util.function.Consumer;
import javax.annotation.concurrent.Immutable; import javax.annotation.concurrent.Immutable;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
@ -429,8 +430,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -456,8 +457,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public NoopBuilder setCallback(Callback<LongResult> callback) { public NoopBuilder setUpdater(Consumer<LongResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -483,8 +484,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -510,8 +511,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setCallback(Callback<LongResult> callback) { public Builder setUpdater(Consumer<LongResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -537,8 +538,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -564,8 +565,8 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setCallback(Callback<LongResult> callback) { public Builder setUpdater(Consumer<LongResult> updater) {
Objects.requireNonNull(callback, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -32,7 +33,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* cpuObserver.setCallback( * cpuObserver.setUpdater(
* new DoubleSumObserver.Callback<DoubleResult>() { * new DoubleSumObserver.Callback<DoubleResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(DoubleResult result) { * public void update(DoubleResult result) {
@ -57,7 +58,7 @@ public interface DoubleSumObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<DoubleResult> callback); Builder setUpdater(Consumer<DoubleResult> updater);
@Override @Override
DoubleSumObserver build(); DoubleSumObserver build();

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -32,7 +33,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* memoryObserver.setCallback( * memoryObserver.setUpdater(
* new DoubleUpDownSumObserver.Callback<DoubleResult>() { * new DoubleUpDownSumObserver.Callback<DoubleResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(DoubleResult result) { * public void update(DoubleResult result) {
@ -57,7 +58,7 @@ public interface DoubleUpDownSumObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<DoubleResult> callback); Builder setUpdater(Consumer<DoubleResult> updater);
@Override @Override
DoubleUpDownSumObserver build(); DoubleUpDownSumObserver build();

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -29,7 +30,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* cpuObserver.setCallback( * cpuObserver.setUpdater(
* new DoubleValueObserver.Callback<DoubleResult>() { * new DoubleValueObserver.Callback<DoubleResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(DoubleResult result) { * public void update(DoubleResult result) {
@ -53,7 +54,7 @@ public interface DoubleValueObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<DoubleResult> callback); Builder setUpdater(Consumer<DoubleResult> updater);
@Override @Override
DoubleValueObserver build(); DoubleValueObserver build();

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -32,7 +33,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* cpuObserver.setCallback( * cpuObserver.setUpdater(
* new LongSumObserver.Callback<LongResult>() { * new LongSumObserver.Callback<LongResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(LongResult result) { * public void update(LongResult result) {
@ -57,7 +58,7 @@ public interface LongSumObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<LongResult> callback); Builder setUpdater(Consumer<LongResult> updater);
@Override @Override
LongSumObserver build(); LongSumObserver build();

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -32,7 +33,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* memoryObserver.setCallback( * memoryObserver.setUpdater(
* new LongUpDownSumObserver.Callback<LongResult>() { * new LongUpDownSumObserver.Callback<LongResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(LongResult result) { * public void update(LongResult result) {
@ -57,7 +58,7 @@ public interface LongUpDownSumObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<LongResult> callback); Builder setUpdater(Consumer<LongResult> updater);
@Override @Override
LongUpDownSumObserver build(); LongUpDownSumObserver build();

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -29,7 +30,7 @@ import javax.annotation.concurrent.ThreadSafe;
* .build(); * .build();
* *
* void init() { * void init() {
* cpuObserver.setCallback( * cpuObserver.setUpdater(
* new LongValueObserver.Callback<LongResult>() { * new LongValueObserver.Callback<LongResult>() {
* {@literal @}Override * {@literal @}Override
* public void update(LongResult result) { * public void update(LongResult result) {
@ -53,7 +54,7 @@ public interface LongValueObserver extends AsynchronousInstrument {
Builder setUnit(String unit); Builder setUnit(String unit);
@Override @Override
Builder setCallback(Callback<LongResult> callback); Builder setUpdater(Consumer<LongResult> updater);
@Override @Override
LongValueObserver build(); LongValueObserver build();

View File

@ -67,7 +67,7 @@ class DoubleSumObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.doubleSumObserverBuilder("metric").setCallback(null).build(), () -> meter.doubleSumObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -77,7 +77,7 @@ class DoubleSumObserverTest {
.doubleSumObserverBuilder(NAME) .doubleSumObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -69,7 +69,7 @@ class DoubleUpDownSumObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.doubleUpDownSumObserverBuilder("metric").setCallback(null).build(), () -> meter.doubleUpDownSumObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -79,7 +79,7 @@ class DoubleUpDownSumObserverTest {
.doubleUpDownSumObserverBuilder(NAME) .doubleUpDownSumObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -68,7 +68,7 @@ class DoubleValueObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.doubleValueObserverBuilder("metric").setCallback(null).build(), () -> meter.doubleValueObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -78,7 +78,7 @@ class DoubleValueObserverTest {
.doubleValueObserverBuilder(NAME) .doubleValueObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -70,7 +70,7 @@ class LongSumObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.longSumObserverBuilder("metric").setCallback(null).build(), () -> meter.longSumObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -80,7 +80,7 @@ class LongSumObserverTest {
.longSumObserverBuilder(NAME) .longSumObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -71,7 +71,7 @@ class LongUpDownSumObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.longUpDownSumObserverBuilder("metric").setCallback(null).build(), () -> meter.longUpDownSumObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -81,7 +81,7 @@ class LongUpDownSumObserverTest {
.longUpDownSumObserverBuilder(NAME) .longUpDownSumObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -72,7 +72,7 @@ class LongValueObserverTest {
void preventNull_Callback() { void preventNull_Callback() {
assertThrows( assertThrows(
NullPointerException.class, NullPointerException.class,
() -> meter.longValueObserverBuilder("metric").setCallback(null).build(), () -> meter.longValueObserverBuilder("metric").setUpdater(null).build(),
"callback"); "callback");
} }
@ -82,7 +82,7 @@ class LongValueObserverTest {
.longValueObserverBuilder(NAME) .longValueObserverBuilder(NAME)
.setDescription(DESCRIPTION) .setDescription(DESCRIPTION)
.setUnit(UNIT) .setUnit(UNIT)
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
} }
} }

View File

@ -12,18 +12,19 @@ import io.opentelemetry.sdk.metrics.data.MetricData;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
abstract class AbstractAsynchronousInstrument<T extends AsynchronousInstrument.Result> abstract class AbstractAsynchronousInstrument<T extends AsynchronousInstrument.Result>
extends AbstractInstrument implements AsynchronousInstrument { extends AbstractInstrument implements AsynchronousInstrument {
@Nullable private final Callback<T> metricUpdater; @Nullable private final Consumer<T> metricUpdater;
private final ReentrantLock collectLock = new ReentrantLock(); private final ReentrantLock collectLock = new ReentrantLock();
private final InstrumentProcessor instrumentProcessor; private final InstrumentProcessor instrumentProcessor;
AbstractAsynchronousInstrument( AbstractAsynchronousInstrument(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<T> metricUpdater) { @Nullable Consumer<T> metricUpdater) {
super(descriptor); super(descriptor);
this.metricUpdater = metricUpdater; this.metricUpdater = metricUpdater;
this.instrumentProcessor = instrumentProcessor; this.instrumentProcessor = instrumentProcessor;
@ -36,7 +37,7 @@ abstract class AbstractAsynchronousInstrument<T extends AsynchronousInstrument.R
} }
collectLock.lock(); collectLock.lock();
try { try {
metricUpdater.update(newResult(instrumentProcessor)); metricUpdater.accept(newResult(instrumentProcessor));
return instrumentProcessor.completeCollectionCycle(); return instrumentProcessor.completeCollectionCycle();
} finally { } finally {
collectLock.unlock(); collectLock.unlock();
@ -60,7 +61,7 @@ abstract class AbstractAsynchronousInstrument<T extends AsynchronousInstrument.R
AbstractLongAsynchronousInstrument( AbstractLongAsynchronousInstrument(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<LongResult> metricUpdater) { @Nullable Consumer<LongResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -91,7 +92,7 @@ abstract class AbstractAsynchronousInstrument<T extends AsynchronousInstrument.R
AbstractDoubleAsynchronousInstrument( AbstractDoubleAsynchronousInstrument(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<DoubleResult> metricUpdater) { @Nullable Consumer<DoubleResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.DoubleSumObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class DoubleSumObserverSdk extends AbstractDoubleAsynchronousInstrument final class DoubleSumObserverSdk extends AbstractDoubleAsynchronousInstrument
@ -17,7 +18,7 @@ final class DoubleSumObserverSdk extends AbstractDoubleAsynchronousInstrument
DoubleSumObserverSdk( DoubleSumObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<DoubleResult> metricUpdater) { @Nullable Consumer<DoubleResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -25,7 +26,7 @@ final class DoubleSumObserverSdk extends AbstractDoubleAsynchronousInstrument
extends AbstractAsynchronousInstrument.Builder<DoubleSumObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<DoubleSumObserverSdk.Builder>
implements DoubleSumObserver.Builder { implements DoubleSumObserver.Builder {
@Nullable private Callback<DoubleResult> callback; @Nullable private Consumer<DoubleResult> callback;
Builder( Builder(
String name, String name,
@ -40,8 +41,8 @@ final class DoubleSumObserverSdk extends AbstractDoubleAsynchronousInstrument
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.DoubleUpDownSumObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class DoubleUpDownSumObserverSdk extends AbstractDoubleAsynchronousInstrument final class DoubleUpDownSumObserverSdk extends AbstractDoubleAsynchronousInstrument
@ -17,7 +18,7 @@ final class DoubleUpDownSumObserverSdk extends AbstractDoubleAsynchronousInstrum
DoubleUpDownSumObserverSdk( DoubleUpDownSumObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<DoubleResult> metricUpdater) { @Nullable Consumer<DoubleResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -25,7 +26,7 @@ final class DoubleUpDownSumObserverSdk extends AbstractDoubleAsynchronousInstrum
extends AbstractAsynchronousInstrument.Builder<DoubleUpDownSumObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<DoubleUpDownSumObserverSdk.Builder>
implements DoubleUpDownSumObserver.Builder { implements DoubleUpDownSumObserver.Builder {
@Nullable private Callback<DoubleResult> callback; @Nullable private Consumer<DoubleResult> callback;
Builder( Builder(
String name, String name,
@ -40,8 +41,8 @@ final class DoubleUpDownSumObserverSdk extends AbstractDoubleAsynchronousInstrum
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.DoubleValueObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractDoubleAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class DoubleValueObserverSdk extends AbstractDoubleAsynchronousInstrument final class DoubleValueObserverSdk extends AbstractDoubleAsynchronousInstrument
@ -17,7 +18,7 @@ final class DoubleValueObserverSdk extends AbstractDoubleAsynchronousInstrument
DoubleValueObserverSdk( DoubleValueObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<DoubleResult> metricUpdater) { @Nullable Consumer<DoubleResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -25,7 +26,7 @@ final class DoubleValueObserverSdk extends AbstractDoubleAsynchronousInstrument
extends AbstractAsynchronousInstrument.Builder<DoubleValueObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<DoubleValueObserverSdk.Builder>
implements DoubleValueObserver.Builder { implements DoubleValueObserver.Builder {
@Nullable private Callback<DoubleResult> callback; @Nullable private Consumer<DoubleResult> callback;
Builder( Builder(
String name, String name,
@ -40,8 +41,8 @@ final class DoubleValueObserverSdk extends AbstractDoubleAsynchronousInstrument
} }
@Override @Override
public Builder setCallback(Callback<DoubleResult> callback) { public Builder setUpdater(Consumer<DoubleResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.LongSumObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class LongSumObserverSdk extends AbstractLongAsynchronousInstrument final class LongSumObserverSdk extends AbstractLongAsynchronousInstrument
@ -16,7 +17,7 @@ final class LongSumObserverSdk extends AbstractLongAsynchronousInstrument
LongSumObserverSdk( LongSumObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<LongResult> metricUpdater) { @Nullable Consumer<LongResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -24,7 +25,7 @@ final class LongSumObserverSdk extends AbstractLongAsynchronousInstrument
extends AbstractAsynchronousInstrument.Builder<LongSumObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<LongSumObserverSdk.Builder>
implements LongSumObserver.Builder { implements LongSumObserver.Builder {
@Nullable private Callback<LongResult> callback; @Nullable private Consumer<LongResult> callback;
Builder( Builder(
String name, String name,
@ -39,8 +40,8 @@ final class LongSumObserverSdk extends AbstractLongAsynchronousInstrument
} }
@Override @Override
public Builder setCallback(Callback<LongResult> callback) { public Builder setUpdater(Consumer<LongResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.LongUpDownSumObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class LongUpDownSumObserverSdk extends AbstractLongAsynchronousInstrument final class LongUpDownSumObserverSdk extends AbstractLongAsynchronousInstrument
@ -16,7 +17,7 @@ final class LongUpDownSumObserverSdk extends AbstractLongAsynchronousInstrument
LongUpDownSumObserverSdk( LongUpDownSumObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<LongResult> metricUpdater) { @Nullable Consumer<LongResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -24,7 +25,7 @@ final class LongUpDownSumObserverSdk extends AbstractLongAsynchronousInstrument
extends AbstractAsynchronousInstrument.Builder<LongUpDownSumObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<LongUpDownSumObserverSdk.Builder>
implements LongUpDownSumObserver.Builder { implements LongUpDownSumObserver.Builder {
@Nullable private Callback<LongResult> callback; @Nullable private Consumer<LongResult> callback;
Builder( Builder(
String name, String name,
@ -39,8 +40,8 @@ final class LongUpDownSumObserverSdk extends AbstractLongAsynchronousInstrument
} }
@Override @Override
public Builder setCallback(Callback<LongResult> callback) { public Builder setUpdater(Consumer<LongResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument; import io.opentelemetry.sdk.metrics.AbstractAsynchronousInstrument.AbstractLongAsynchronousInstrument;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
import io.opentelemetry.sdk.metrics.common.InstrumentValueType; import io.opentelemetry.sdk.metrics.common.InstrumentValueType;
import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
final class LongValueObserverSdk extends AbstractLongAsynchronousInstrument final class LongValueObserverSdk extends AbstractLongAsynchronousInstrument
@ -17,7 +18,7 @@ final class LongValueObserverSdk extends AbstractLongAsynchronousInstrument
LongValueObserverSdk( LongValueObserverSdk(
InstrumentDescriptor descriptor, InstrumentDescriptor descriptor,
InstrumentProcessor instrumentProcessor, InstrumentProcessor instrumentProcessor,
@Nullable Callback<LongResult> metricUpdater) { @Nullable Consumer<LongResult> metricUpdater) {
super(descriptor, instrumentProcessor, metricUpdater); super(descriptor, instrumentProcessor, metricUpdater);
} }
@ -25,7 +26,7 @@ final class LongValueObserverSdk extends AbstractLongAsynchronousInstrument
extends AbstractAsynchronousInstrument.Builder<LongValueObserverSdk.Builder> extends AbstractAsynchronousInstrument.Builder<LongValueObserverSdk.Builder>
implements LongValueObserver.Builder { implements LongValueObserver.Builder {
@Nullable private Callback<LongResult> callback; @Nullable private Consumer<LongResult> callback;
Builder( Builder(
String name, String name,
@ -40,8 +41,8 @@ final class LongValueObserverSdk extends AbstractLongAsynchronousInstrument
} }
@Override @Override
public Builder setCallback(Callback<LongResult> callback) { public Builder setUpdater(Consumer<LongResult> updater) {
this.callback = callback; this.callback = updater;
return this; return this;
} }

View File

@ -50,7 +50,7 @@ class DoubleSumObserverSdkTest {
.doubleSumObserverBuilder("testObserver") .doubleSumObserverBuilder("testObserver")
.setDescription("My own DoubleSumObserver") .setDescription("My own DoubleSumObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(doubleSumObserver.collectAll()) assertThat(doubleSumObserver.collectAll())
.containsExactly( .containsExactly(
@ -69,7 +69,7 @@ class DoubleSumObserverSdkTest {
DoubleSumObserverSdk doubleSumObserver = DoubleSumObserverSdk doubleSumObserver =
testSdk testSdk
.doubleSumObserverBuilder("testObserver") .doubleSumObserverBuilder("testObserver")
.setCallback(result -> result.observe(12.1d, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12.1d, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(doubleSumObserver.collectAll()) assertThat(doubleSumObserver.collectAll())

View File

@ -50,7 +50,7 @@ class DoubleUpDownSumObserverSdkTest {
.doubleUpDownSumObserverBuilder("testObserver") .doubleUpDownSumObserverBuilder("testObserver")
.setDescription("My own DoubleUpDownSumObserver") .setDescription("My own DoubleUpDownSumObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(doubleUpDownSumObserver.collectAll()) assertThat(doubleUpDownSumObserver.collectAll())
.containsExactly( .containsExactly(
@ -69,7 +69,7 @@ class DoubleUpDownSumObserverSdkTest {
DoubleUpDownSumObserverSdk doubleUpDownSumObserver = DoubleUpDownSumObserverSdk doubleUpDownSumObserver =
testSdk testSdk
.doubleUpDownSumObserverBuilder("testObserver") .doubleUpDownSumObserverBuilder("testObserver")
.setCallback(result -> result.observe(12.1d, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12.1d, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(doubleUpDownSumObserver.collectAll()) assertThat(doubleUpDownSumObserver.collectAll())

View File

@ -51,7 +51,7 @@ class DoubleValueObserverSdkTest {
.doubleValueObserverBuilder("testObserver") .doubleValueObserverBuilder("testObserver")
.setDescription("My own DoubleValueObserver") .setDescription("My own DoubleValueObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(doubleValueObserver.collectAll()) assertThat(doubleValueObserver.collectAll())
.containsExactly( .containsExactly(
@ -70,7 +70,7 @@ class DoubleValueObserverSdkTest {
DoubleValueObserverSdk doubleValueObserver = DoubleValueObserverSdk doubleValueObserver =
testSdk testSdk
.doubleValueObserverBuilder("testObserver") .doubleValueObserverBuilder("testObserver")
.setCallback(result -> result.observe(12.1d, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12.1d, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(doubleValueObserver.collectAll()) assertThat(doubleValueObserver.collectAll())

View File

@ -50,7 +50,7 @@ class LongSumObserverSdkTest {
.longSumObserverBuilder("testObserver") .longSumObserverBuilder("testObserver")
.setDescription("My own LongSumObserver") .setDescription("My own LongSumObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(longSumObserver.collectAll()) assertThat(longSumObserver.collectAll())
.containsExactly( .containsExactly(
@ -69,7 +69,7 @@ class LongSumObserverSdkTest {
LongSumObserverSdk longSumObserver = LongSumObserverSdk longSumObserver =
testSdk testSdk
.longSumObserverBuilder("testObserver") .longSumObserverBuilder("testObserver")
.setCallback(result -> result.observe(12, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(longSumObserver.collectAll()) assertThat(longSumObserver.collectAll())

View File

@ -50,7 +50,7 @@ class LongUpDownSumObserverSdkTest {
.longUpDownSumObserverBuilder("testObserver") .longUpDownSumObserverBuilder("testObserver")
.setDescription("My own LongUpDownSumObserver") .setDescription("My own LongUpDownSumObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(longUpDownSumObserver.collectAll()) assertThat(longUpDownSumObserver.collectAll())
.containsExactly( .containsExactly(
@ -69,7 +69,7 @@ class LongUpDownSumObserverSdkTest {
LongUpDownSumObserverSdk longUpDownSumObserver = LongUpDownSumObserverSdk longUpDownSumObserver =
testSdk testSdk
.longUpDownSumObserverBuilder("testObserver") .longUpDownSumObserverBuilder("testObserver")
.setCallback(result -> result.observe(12, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(longUpDownSumObserver.collectAll()) assertThat(longUpDownSumObserver.collectAll())

View File

@ -50,7 +50,7 @@ class LongValueObserverSdkTest {
.longValueObserverBuilder("testObserver") .longValueObserverBuilder("testObserver")
.setDescription("My own LongValueObserver") .setDescription("My own LongValueObserver")
.setUnit("ms") .setUnit("ms")
.setCallback(result -> {}) .setUpdater(result -> {})
.build(); .build();
assertThat(longValueObserver.collectAll()) assertThat(longValueObserver.collectAll())
.containsExactly( .containsExactly(
@ -69,7 +69,7 @@ class LongValueObserverSdkTest {
LongValueObserverSdk longValueObserver = LongValueObserverSdk longValueObserver =
testSdk testSdk
.longValueObserverBuilder("testObserver") .longValueObserverBuilder("testObserver")
.setCallback(result -> result.observe(12, Labels.of("k", "v"))) .setUpdater(result -> result.observe(12, Labels.of("k", "v")))
.build(); .build();
testClock.advanceNanos(SECOND_NANOS); testClock.advanceNanos(SECOND_NANOS);
assertThat(longValueObserver.collectAll()) assertThat(longValueObserver.collectAll())

View File

@ -167,7 +167,7 @@ public final class BatchSpanProcessor implements SpanProcessor {
.longValueObserverBuilder("queueSize") .longValueObserverBuilder("queueSize")
.setDescription("The number of spans queued") .setDescription("The number of spans queued")
.setUnit("1") .setUnit("1")
.setCallback( .setUpdater(
result -> result ->
result.observe( result.observe(
queue.size(), queue.size(),