Extract inner classes from metrics API (#2517)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2021-01-13 15:26:21 -08:00 committed by GitHub
parent 957bd0ad1c
commit 53f0e30776
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
68 changed files with 588 additions and 427 deletions

View File

@ -6,7 +6,6 @@
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;
/** /**
@ -20,21 +19,6 @@ import javax.annotation.concurrent.ThreadSafe;
*/ */
@ThreadSafe @ThreadSafe
public interface AsynchronousInstrument extends Instrument { public interface AsynchronousInstrument extends Instrument {
/** Builder class for {@link AsynchronousInstrument}. */
interface Builder<R> extends Instrument.Builder {
/**
* Sets a consumer that gets executed every collection interval.
*
* <p>Evaluation is deferred until needed, if this {@code AsynchronousInstrument} metric is not
* exported then it will never be called.
*
* @param updater the consumer to be executed before export.
*/
Builder<R> setUpdater(Consumer<R> updater);
@Override
AsynchronousInstrument build();
}
/** The result pass to the updater. */ /** The result pass to the updater. */
interface LongResult { interface LongResult {

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link AsynchronousInstrument}. */
public interface AsynchronousInstrumentBuilder<R> extends InstrumentBuilder {
/**
* Sets a consumer that gets executed every collection interval.
*
* <p>Evaluation is deferred until needed, if this {@code AsynchronousInstrument} metric is not
* exported then it will never be called.
*
* @param updater the consumer to be executed before export.
*/
AsynchronousInstrumentBuilder<R> setUpdater(Consumer<R> updater);
@Override
AsynchronousInstrument build();
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link DoubleCounter}. */
@ThreadSafe
public interface BoundDoubleCounter extends BoundSynchronousInstrument {
/**
* Adds the given {@code increment} to the current value. The values cannot be negative.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(double increment);
@Override
void unbind();
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link DoubleUpDownCounter}. */
@ThreadSafe
public interface BoundDoubleUpDownCounter extends BoundSynchronousInstrument {
/**
* Adds the given {@code increment} to the current value.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(double increment);
@Override
void unbind();
}

View File

@ -0,0 +1,23 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link DoubleValueRecorder}. */
@ThreadSafe
public interface BoundDoubleValueRecorder extends BoundSynchronousInstrument {
/**
* Records the given measurement, associated with the current {@code Context}.
*
* @param value the measurement to record.
* @throws IllegalArgumentException if value is negative.
*/
void record(double value);
@Override
void unbind();
}

View File

@ -0,0 +1,25 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link LongCounter}. */
@ThreadSafe
public interface BoundLongCounter extends BoundSynchronousInstrument {
/**
* Adds the given {@code increment} to the current value. The values cannot be negative.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(long increment);
@Override
void unbind();
}

View File

@ -0,0 +1,25 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link LongUpDownCounter}. */
@ThreadSafe
public interface BoundLongUpDownCounter extends BoundSynchronousInstrument {
/**
* Adds the given {@code increment} to the current value.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(long increment);
@Override
void unbind();
}

View File

@ -0,0 +1,23 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import javax.annotation.concurrent.ThreadSafe;
/** A {@code Bound Instrument} for a {@link LongValueRecorder}. */
@ThreadSafe
public interface BoundLongValueRecorder extends BoundSynchronousInstrument {
/**
* Records the given measurement, associated with the current {@code Context}.
*
* @param value the measurement to record.
* @throws IllegalArgumentException if value is negative.
*/
void record(long value);
@Override
void unbind();
}

View File

@ -0,0 +1,16 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
interface BoundSynchronousInstrument {
/**
* Unbinds the current {@code Bound} from the Instrument.
*
* <p>After this method returns the current instance {@code Bound} is considered invalid (not
* being managed by the instrument).
*/
void unbind();
}

View File

@ -30,84 +30,84 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public DoubleCounter.Builder doubleCounterBuilder(String name) { public DoubleCounterBuilder doubleCounterBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleCounter.NoopBuilder(); return new NoopDoubleCounter.NoopBuilder();
} }
@Override @Override
public LongCounter.Builder longCounterBuilder(String name) { public LongCounterBuilder longCounterBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongCounter.NoopBuilder(); return new NoopLongCounter.NoopBuilder();
} }
@Override @Override
public DoubleUpDownCounter.Builder doubleUpDownCounterBuilder(String name) { public DoubleUpDownCounterBuilder doubleUpDownCounterBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleUpDownCounter.NoopBuilder(); return new NoopDoubleUpDownCounter.NoopBuilder();
} }
@Override @Override
public LongUpDownCounter.Builder longUpDownCounterBuilder(String name) { public LongUpDownCounterBuilder longUpDownCounterBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongUpDownCounter.NoopBuilder(); return new NoopLongUpDownCounter.NoopBuilder();
} }
@Override @Override
public DoubleValueRecorder.Builder doubleValueRecorderBuilder(String name) { public DoubleValueRecorderBuilder doubleValueRecorderBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleValueRecorder.NoopBuilder(); return new NoopDoubleValueRecorder.NoopBuilder();
} }
@Override @Override
public LongValueRecorder.Builder longValueRecorderBuilder(String name) { public LongValueRecorderBuilder longValueRecorderBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongValueRecorder.NoopBuilder(); return new NoopLongValueRecorder.NoopBuilder();
} }
@Override @Override
public DoubleSumObserver.Builder doubleSumObserverBuilder(String name) { public DoubleSumObserverBuilder doubleSumObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleSumObserver.NoopBuilder(); return new NoopDoubleSumObserver.NoopBuilder();
} }
@Override @Override
public LongSumObserver.Builder longSumObserverBuilder(String name) { public LongSumObserverBuilder longSumObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongSumObserver.NoopBuilder(); return new NoopLongSumObserver.NoopBuilder();
} }
@Override @Override
public DoubleUpDownSumObserver.Builder doubleUpDownSumObserverBuilder(String name) { public DoubleUpDownSumObserverBuilder doubleUpDownSumObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleUpDownSumObserver.NoopBuilder(); return new NoopDoubleUpDownSumObserver.NoopBuilder();
} }
@Override @Override
public LongUpDownSumObserver.Builder longUpDownSumObserverBuilder(String name) { public LongUpDownSumObserverBuilder longUpDownSumObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongUpDownSumObserver.NoopBuilder(); return new NoopLongUpDownSumObserver.NoopBuilder();
} }
@Override @Override
public DoubleValueObserver.Builder doubleValueObserverBuilder(String name) { public DoubleValueObserverBuilder doubleValueObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopDoubleValueObserver.NoopBuilder(); return new NoopDoubleValueObserver.NoopBuilder();
} }
@Override @Override
public LongValueObserver.Builder longValueObserverBuilder(String name) { public LongValueObserverBuilder longValueObserverBuilder(String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME); Utils.checkArgument(StringUtils.isValidMetricName(name), ERROR_MESSAGE_INVALID_NAME);
return new NoopLongValueObserver.NoopBuilder(); return new NoopLongValueObserver.NoopBuilder();
@ -158,7 +158,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleCounterBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -209,7 +209,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongCounterBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -257,7 +257,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleUpDownCounterBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -305,7 +305,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongUpDownCounterBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -353,7 +353,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleValueRecorderBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -401,7 +401,7 @@ final class DefaultMeter implements Meter {
} }
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongValueRecorderBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -422,7 +422,7 @@ final class DefaultMeter implements Meter {
private NoopDoubleSumObserver() {} private NoopDoubleSumObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleSumObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -430,7 +430,7 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setUpdater(Consumer<DoubleResult> updater) { public DoubleSumObserverBuilder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(updater, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -449,7 +449,7 @@ final class DefaultMeter implements Meter {
private NoopLongSumObserver() {} private NoopLongSumObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongSumObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -476,7 +476,7 @@ final class DefaultMeter implements Meter {
private NoopDoubleUpDownSumObserver() {} private NoopDoubleUpDownSumObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleUpDownSumObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -484,7 +484,7 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setUpdater(Consumer<DoubleResult> updater) { public DoubleUpDownSumObserverBuilder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(updater, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -503,7 +503,7 @@ final class DefaultMeter implements Meter {
private NoopLongUpDownSumObserver() {} private NoopLongUpDownSumObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongUpDownSumObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -511,7 +511,7 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setUpdater(Consumer<LongResult> updater) { public LongUpDownSumObserverBuilder setUpdater(Consumer<LongResult> updater) {
Objects.requireNonNull(updater, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -530,7 +530,7 @@ final class DefaultMeter implements Meter {
private NoopDoubleValueObserver() {} private NoopDoubleValueObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements DoubleValueObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -538,7 +538,7 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setUpdater(Consumer<DoubleResult> updater) { public DoubleValueObserverBuilder setUpdater(Consumer<DoubleResult> updater) {
Objects.requireNonNull(updater, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -557,7 +557,7 @@ final class DefaultMeter implements Meter {
private NoopLongValueObserver() {} private NoopLongValueObserver() {}
private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder> private static final class NoopBuilder extends NoopAbstractInstrumentBuilder<NoopBuilder>
implements Builder { implements LongValueObserverBuilder {
@Override @Override
protected NoopBuilder getThis() { protected NoopBuilder getThis() {
@ -565,7 +565,7 @@ final class DefaultMeter implements Meter {
} }
@Override @Override
public Builder setUpdater(Consumer<LongResult> updater) { public LongValueObserverBuilder setUpdater(Consumer<LongResult> updater) {
Objects.requireNonNull(updater, "callback"); Objects.requireNonNull(updater, "callback");
return this; return this;
} }
@ -625,7 +625,7 @@ final class DefaultMeter implements Meter {
private abstract static class NoopAbstractInstrumentBuilder< private abstract static class NoopAbstractInstrumentBuilder<
B extends NoopAbstractInstrumentBuilder<B>> B extends NoopAbstractInstrumentBuilder<B>>
implements Instrument.Builder { implements InstrumentBuilder {
@Override @Override
public B setDescription(String description) { public B setDescription(String description) {

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleCounter.BoundDoubleCounter;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -61,32 +60,4 @@ public interface DoubleCounter extends SynchronousInstrument<BoundDoubleCounter>
@Override @Override
BoundDoubleCounter bind(Labels labels); BoundDoubleCounter bind(Labels labels);
/** A {@code Bound Instrument} for a {@link DoubleCounter}. */
@ThreadSafe
interface BoundDoubleCounter extends SynchronousInstrument.BoundInstrument {
/**
* Adds the given {@code increment} to the current value. The values cannot be negative.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(double increment);
@Override
void unbind();
}
/** Builder class for {@link DoubleCounter}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
DoubleCounter build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link DoubleCounter}. */
public interface DoubleCounterBuilder extends SynchronousInstrumentBuilder {
@Override
DoubleCounterBuilder setDescription(String description);
@Override
DoubleCounterBuilder setUnit(String unit);
@Override
DoubleCounter build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -47,20 +46,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface DoubleSumObserver extends AsynchronousInstrument { public interface DoubleSumObserver extends AsynchronousInstrument {}
/** Builder class for {@link DoubleSumObserver}. */
interface Builder extends AsynchronousInstrument.Builder<DoubleResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<DoubleResult> updater);
@Override
DoubleSumObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link DoubleSumObserver}. */
public interface DoubleSumObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.DoubleResult> {
@Override
DoubleSumObserverBuilder setDescription(String description);
@Override
DoubleSumObserverBuilder setUnit(String unit);
@Override
DoubleSumObserverBuilder setUpdater(Consumer<AsynchronousInstrument.DoubleResult> updater);
@Override
DoubleSumObserver build();
}

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleUpDownCounter.BoundDoubleUpDownCounter;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -64,32 +63,4 @@ public interface DoubleUpDownCounter extends SynchronousInstrument<BoundDoubleUp
@Override @Override
BoundDoubleUpDownCounter bind(Labels labels); BoundDoubleUpDownCounter bind(Labels labels);
/** A {@code Bound Instrument} for a {@link DoubleUpDownCounter}. */
@ThreadSafe
interface BoundDoubleUpDownCounter extends BoundInstrument {
/**
* Adds the given {@code increment} to the current value.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(double increment);
@Override
void unbind();
}
/** Builder class for {@link DoubleUpDownCounter}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
DoubleUpDownCounter build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link DoubleUpDownCounter}. */
public interface DoubleUpDownCounterBuilder extends SynchronousInstrumentBuilder {
@Override
DoubleUpDownCounterBuilder setDescription(String description);
@Override
DoubleUpDownCounterBuilder setUnit(String unit);
@Override
DoubleUpDownCounter build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -47,20 +46,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface DoubleUpDownSumObserver extends AsynchronousInstrument { public interface DoubleUpDownSumObserver extends AsynchronousInstrument {}
/** Builder class for {@link DoubleUpDownSumObserver}. */
interface Builder extends AsynchronousInstrument.Builder<DoubleResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<DoubleResult> updater);
@Override
DoubleUpDownSumObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link DoubleUpDownSumObserver}. */
public interface DoubleUpDownSumObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.DoubleResult> {
@Override
DoubleUpDownSumObserverBuilder setDescription(String description);
@Override
DoubleUpDownSumObserverBuilder setUnit(String unit);
@Override
DoubleUpDownSumObserverBuilder setUpdater(Consumer<AsynchronousInstrument.DoubleResult> updater);
@Override
DoubleUpDownSumObserver build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -43,20 +42,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface DoubleValueObserver extends AsynchronousInstrument { public interface DoubleValueObserver extends AsynchronousInstrument {}
/** Builder class for {@link DoubleValueObserver}. */
interface Builder extends AsynchronousInstrument.Builder<DoubleResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<DoubleResult> updater);
@Override
DoubleValueObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link DoubleValueObserver}. */
public interface DoubleValueObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.DoubleResult> {
@Override
DoubleValueObserverBuilder setDescription(String description);
@Override
DoubleValueObserverBuilder setUnit(String unit);
@Override
DoubleValueObserverBuilder setUpdater(Consumer<AsynchronousInstrument.DoubleResult> updater);
@Override
DoubleValueObserver build();
}

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleValueRecorder.BoundDoubleValueRecorder;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -72,31 +71,4 @@ public interface DoubleValueRecorder extends SynchronousInstrument<BoundDoubleVa
@Override @Override
BoundDoubleValueRecorder bind(Labels labels); BoundDoubleValueRecorder bind(Labels labels);
/** A {@code Bound Instrument} for a {@link DoubleValueRecorder}. */
@ThreadSafe
interface BoundDoubleValueRecorder extends SynchronousInstrument.BoundInstrument {
/**
* Records the given measurement, associated with the current {@code Context}.
*
* @param value the measurement to record.
* @throws IllegalArgumentException if value is negative.
*/
void record(double value);
@Override
void unbind();
}
/** Builder class for {@link DoubleValueRecorder}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
DoubleValueRecorder build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link DoubleValueRecorder}. */
public interface DoubleValueRecorderBuilder extends SynchronousInstrumentBuilder {
@Override
DoubleValueRecorderBuilder setDescription(String description);
@Override
DoubleValueRecorderBuilder setUnit(String unit);
@Override
DoubleValueRecorder build();
}

View File

@ -10,34 +10,4 @@ import javax.annotation.concurrent.ThreadSafe;
/** Base interface for all metrics defined in this package. */ /** Base interface for all metrics defined in this package. */
@ThreadSafe @ThreadSafe
@SuppressWarnings("InterfaceWithOnlyStatics") @SuppressWarnings("InterfaceWithOnlyStatics")
public interface Instrument { public interface Instrument {}
/** The {@code Builder} class for the {@code Instrument}. */
interface Builder {
/**
* Sets the description of the {@code Instrument}.
*
* <p>Default value is {@code ""}.
*
* @param description the description of the Instrument.
* @return this.
*/
Builder setDescription(String description);
/**
* Sets the unit of the {@code Instrument}.
*
* <p>Default value is {@code "1"}.
*
* @param unit the unit of the Instrument.
* @return this.
*/
Builder setUnit(String unit);
/**
* Builds and returns a {@code Instrument} with the desired options.
*
* @return a {@code Instrument} with the desired options.
*/
Instrument build();
}
}

View File

@ -0,0 +1,36 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** The {@code Builder} class for the {@code Instrument}. */
public interface InstrumentBuilder {
/**
* Sets the description of the {@code Instrument}.
*
* <p>Default value is {@code ""}.
*
* @param description the description of the Instrument.
* @return this.
*/
InstrumentBuilder setDescription(String description);
/**
* Sets the unit of the {@code Instrument}.
*
* <p>Default value is {@code "1"}.
*
* @param unit the unit of the Instrument.
* @return this.
*/
InstrumentBuilder setUnit(String unit);
/**
* Builds and returns a {@code Instrument} with the desired options.
*
* @return a {@code Instrument} with the desired options.
*/
Instrument build();
}

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -61,33 +60,4 @@ public interface LongCounter extends SynchronousInstrument<BoundLongCounter> {
@Override @Override
BoundLongCounter bind(Labels labels); BoundLongCounter bind(Labels labels);
/** A {@code Bound Instrument} for a {@link LongCounter}. */
@ThreadSafe
interface BoundLongCounter extends SynchronousInstrument.BoundInstrument {
/**
* Adds the given {@code increment} to the current value. The values cannot be negative.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(long increment);
@Override
void unbind();
}
/** Builder class for {@link LongCounter}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
LongCounter build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link LongCounter}. */
public interface LongCounterBuilder extends SynchronousInstrumentBuilder {
@Override
LongCounterBuilder setDescription(String description);
@Override
LongCounterBuilder setUnit(String unit);
@Override
LongCounter build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -47,20 +46,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface LongSumObserver extends AsynchronousInstrument { public interface LongSumObserver extends AsynchronousInstrument {}
/** Builder class for {@link LongSumObserver}. */
interface Builder extends AsynchronousInstrument.Builder<LongResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<LongResult> updater);
@Override
LongSumObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link LongSumObserver}. */
public interface LongSumObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.LongResult> {
@Override
LongSumObserverBuilder setDescription(String description);
@Override
LongSumObserverBuilder setUnit(String unit);
@Override
LongSumObserverBuilder setUpdater(Consumer<AsynchronousInstrument.LongResult> updater);
@Override
LongSumObserver build();
}

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.LongUpDownCounter.BoundLongUpDownCounter;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -64,33 +63,4 @@ public interface LongUpDownCounter extends SynchronousInstrument<BoundLongUpDown
@Override @Override
BoundLongUpDownCounter bind(Labels labels); BoundLongUpDownCounter bind(Labels labels);
/** A {@code Bound Instrument} for a {@link LongUpDownCounter}. */
@ThreadSafe
interface BoundLongUpDownCounter extends BoundInstrument {
/**
* Adds the given {@code increment} to the current value.
*
* <p>The value added is associated with the current {@code Context}.
*
* @param increment the value to add.
*/
void add(long increment);
@Override
void unbind();
}
/** Builder class for {@link LongUpDownCounter}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
LongUpDownCounter build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link LongUpDownCounter}. */
public interface LongUpDownCounterBuilder extends SynchronousInstrumentBuilder {
@Override
LongUpDownCounterBuilder setDescription(String description);
@Override
LongUpDownCounterBuilder setUnit(String unit);
@Override
LongUpDownCounter build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -47,20 +46,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface LongUpDownSumObserver extends AsynchronousInstrument { public interface LongUpDownSumObserver extends AsynchronousInstrument {}
/** Builder class for {@link LongUpDownSumObserver}. */
interface Builder extends AsynchronousInstrument.Builder<LongResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<LongResult> updater);
@Override
LongUpDownSumObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link LongUpDownSumObserver}. */
public interface LongUpDownSumObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.LongResult> {
@Override
LongUpDownSumObserverBuilder setDescription(String description);
@Override
LongUpDownSumObserverBuilder setUnit(String unit);
@Override
LongUpDownSumObserverBuilder setUpdater(Consumer<AsynchronousInstrument.LongResult> updater);
@Override
LongUpDownSumObserver build();
}

View File

@ -5,7 +5,6 @@
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;
/** /**
@ -43,20 +42,4 @@ import javax.annotation.concurrent.ThreadSafe;
* }</pre> * }</pre>
*/ */
@ThreadSafe @ThreadSafe
public interface LongValueObserver extends AsynchronousInstrument { public interface LongValueObserver extends AsynchronousInstrument {}
/** Builder class for {@link LongValueObserver}. */
interface Builder extends AsynchronousInstrument.Builder<LongResult> {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
Builder setUpdater(Consumer<LongResult> updater);
@Override
LongValueObserver build();
}
}

View File

@ -0,0 +1,24 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
import java.util.function.Consumer;
/** Builder class for {@link LongValueObserver}. */
public interface LongValueObserverBuilder
extends AsynchronousInstrumentBuilder<AsynchronousInstrument.LongResult> {
@Override
LongValueObserverBuilder setDescription(String description);
@Override
LongValueObserverBuilder setUnit(String unit);
@Override
LongValueObserverBuilder setUpdater(Consumer<AsynchronousInstrument.LongResult> updater);
@Override
LongValueObserver build();
}

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.LongValueRecorder.BoundLongValueRecorder;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -72,31 +71,4 @@ public interface LongValueRecorder extends SynchronousInstrument<BoundLongValueR
@Override @Override
BoundLongValueRecorder bind(Labels labels); BoundLongValueRecorder bind(Labels labels);
/** A {@code Bound Instrument} for a {@link LongValueRecorder}. */
@ThreadSafe
interface BoundLongValueRecorder extends SynchronousInstrument.BoundInstrument {
/**
* Records the given measurement, associated with the current {@code Context}.
*
* @param value the measurement to record.
* @throws IllegalArgumentException if value is negative.
*/
void record(long value);
@Override
void unbind();
}
/** Builder class for {@link LongValueRecorder}. */
interface Builder extends SynchronousInstrument.Builder {
@Override
Builder setDescription(String description);
@Override
Builder setUnit(String unit);
@Override
LongValueRecorder build();
}
} }

View File

@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link LongValueRecorder}. */
public interface LongValueRecorderBuilder extends SynchronousInstrumentBuilder {
@Override
LongValueRecorderBuilder setDescription(String description);
@Override
LongValueRecorderBuilder setUnit(String unit);
@Override
LongValueRecorder build();
}

View File

@ -43,7 +43,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleCounter.Builder doubleCounterBuilder(String name); DoubleCounterBuilder doubleCounterBuilder(String name);
/** /**
* Returns a builder for a {@link LongCounter}. * Returns a builder for a {@link LongCounter}.
@ -55,7 +55,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongCounter.Builder longCounterBuilder(String name); LongCounterBuilder longCounterBuilder(String name);
/** /**
* Returns a builder for a {@link DoubleUpDownCounter}. * Returns a builder for a {@link DoubleUpDownCounter}.
@ -67,7 +67,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleUpDownCounter.Builder doubleUpDownCounterBuilder(String name); DoubleUpDownCounterBuilder doubleUpDownCounterBuilder(String name);
/** /**
* Returns a builder for a {@link LongUpDownCounter}. * Returns a builder for a {@link LongUpDownCounter}.
@ -79,7 +79,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongUpDownCounter.Builder longUpDownCounterBuilder(String name); LongUpDownCounterBuilder longUpDownCounterBuilder(String name);
/** /**
* Returns a new builder for a {@link DoubleValueRecorder}. * Returns a new builder for a {@link DoubleValueRecorder}.
@ -91,7 +91,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleValueRecorder.Builder doubleValueRecorderBuilder(String name); DoubleValueRecorderBuilder doubleValueRecorderBuilder(String name);
/** /**
* Returns a new builder for a {@link LongValueRecorder}. * Returns a new builder for a {@link LongValueRecorder}.
@ -103,7 +103,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongValueRecorder.Builder longValueRecorderBuilder(String name); LongValueRecorderBuilder longValueRecorderBuilder(String name);
/** /**
* Returns a new builder for a {@link DoubleSumObserver}. * Returns a new builder for a {@link DoubleSumObserver}.
@ -115,7 +115,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleSumObserver.Builder doubleSumObserverBuilder(String name); DoubleSumObserverBuilder doubleSumObserverBuilder(String name);
/** /**
* Returns a new builder for a {@link LongSumObserver}. * Returns a new builder for a {@link LongSumObserver}.
@ -127,7 +127,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongSumObserver.Builder longSumObserverBuilder(String name); LongSumObserverBuilder longSumObserverBuilder(String name);
/** /**
* Returns a new builder for a {@link DoubleUpDownSumObserver}. * Returns a new builder for a {@link DoubleUpDownSumObserver}.
@ -139,7 +139,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleUpDownSumObserver.Builder doubleUpDownSumObserverBuilder(String name); DoubleUpDownSumObserverBuilder doubleUpDownSumObserverBuilder(String name);
/** /**
* Returns a new builder for a {@link LongUpDownSumObserver}. * Returns a new builder for a {@link LongUpDownSumObserver}.
@ -151,7 +151,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongUpDownSumObserver.Builder longUpDownSumObserverBuilder(String name); LongUpDownSumObserverBuilder longUpDownSumObserverBuilder(String name);
/** /**
* Returns a new builder for a {@link DoubleValueObserver}. * Returns a new builder for a {@link DoubleValueObserver}.
@ -163,7 +163,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
DoubleValueObserver.Builder doubleValueObserverBuilder(String name); DoubleValueObserverBuilder doubleValueObserverBuilder(String name);
/** /**
* Returns a new builder for a {@link LongValueObserver}. * Returns a new builder for a {@link LongValueObserver}.
@ -175,7 +175,7 @@ public interface Meter {
* @throws IllegalArgumentException if different metric with the same name already registered. * @throws IllegalArgumentException if different metric with the same name already registered.
* @throws IllegalArgumentException if the {@code name} does not match the requirements. * @throws IllegalArgumentException if the {@code name} does not match the requirements.
*/ */
LongValueObserver.Builder longValueObserverBuilder(String name); LongValueObserverBuilder longValueObserverBuilder(String name);
/** /**
* Utility method that allows users to atomically record measurements to a set of Instruments with * Utility method that allows users to atomically record measurements to a set of Instruments with

View File

@ -6,7 +6,6 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.SynchronousInstrument.BoundInstrument;
import javax.annotation.concurrent.ThreadSafe; import javax.annotation.concurrent.ThreadSafe;
/** /**
@ -19,7 +18,7 @@ import javax.annotation.concurrent.ThreadSafe;
* @param <B> the specific type of Bound Instrument this instrument can provide. * @param <B> the specific type of Bound Instrument this instrument can provide.
*/ */
@ThreadSafe @ThreadSafe
public interface SynchronousInstrument<B extends BoundInstrument> extends Instrument { public interface SynchronousInstrument<B extends BoundSynchronousInstrument> extends Instrument {
/** /**
* Returns a {@code Bound Instrument} associated with the specified labels. Multiples requests * Returns a {@code Bound Instrument} associated with the specified labels. Multiples requests
* with the same set of labels may return the same {@code Bound Instrument} instance. * with the same set of labels may return the same {@code Bound Instrument} instance.
@ -32,20 +31,4 @@ public interface SynchronousInstrument<B extends BoundInstrument> extends Instru
* @throws NullPointerException if {@code labelValues} is null. * @throws NullPointerException if {@code labelValues} is null.
*/ */
B bind(Labels labels); B bind(Labels labels);
interface BoundInstrument {
/**
* Unbinds the current {@code Bound} from the Instrument.
*
* <p>After this method returns the current instance {@code Bound} is considered invalid (not
* being managed by the instrument).
*/
void unbind();
}
/** Builder class for {@link SynchronousInstrument}. */
interface Builder extends Instrument.Builder {
@Override
SynchronousInstrument<?> build();
}
} }

View File

@ -0,0 +1,12 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link SynchronousInstrument}. */
public interface SynchronousInstrumentBuilder extends InstrumentBuilder {
@Override
SynchronousInstrument<?> build();
}

View File

@ -9,7 +9,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.StringUtils; import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.metrics.DoubleCounter.BoundDoubleCounter;
import java.util.Arrays; import java.util.Arrays;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -9,7 +9,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.StringUtils; import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.metrics.DoubleUpDownCounter.BoundDoubleUpDownCounter;
import java.util.Arrays; import java.util.Arrays;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -8,7 +8,6 @@ package io.opentelemetry.api.metrics;
import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleValueRecorder.BoundDoubleValueRecorder;
import java.util.Arrays; import java.util.Arrays;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -9,7 +9,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.StringUtils; import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import java.util.Arrays; import java.util.Arrays;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -9,7 +9,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.StringUtils; import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.metrics.LongUpDownCounter.BoundLongUpDownCounter;
import java.util.Arrays; import java.util.Arrays;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -10,7 +10,6 @@ import static java.util.Arrays.fill;
import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.LongValueRecorder.BoundLongValueRecorder;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** Tests for {@link LongValueRecorder}. */ /** Tests for {@link LongValueRecorder}. */

View File

@ -11,6 +11,7 @@ import com.google.common.util.concurrent.MoreExecutors;
import io.grpc.ConnectivityState; import io.grpc.ConnectivityState;
import io.grpc.ManagedChannel; import io.grpc.ManagedChannel;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider; import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
@ -90,9 +91,9 @@ public final class OtlpGrpcSpanExporter implements SpanExporter {
private final ManagedChannel managedChannel; private final ManagedChannel managedChannel;
private final long timeoutNanos; private final long timeoutNanos;
private final LongCounter.BoundLongCounter spansSeen; private final BoundLongCounter spansSeen;
private final LongCounter.BoundLongCounter spansExportedSuccess; private final BoundLongCounter spansExportedSuccess;
private final LongCounter.BoundLongCounter spansExportedFailure; private final BoundLongCounter spansExportedFailure;
/** /**
* Creates a new OTLP gRPC Span Reporter with the given name, using the given channel. * Creates a new OTLP gRPC Span Reporter with the given name, using the given channel.

View File

@ -7,9 +7,9 @@ package io.opentelemetry.sdk.logging.export;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.internal.Utils; import io.opentelemetry.api.internal.Utils;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider; import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.internal.DaemonThreadFactory; import io.opentelemetry.sdk.internal.DaemonThreadFactory;

View File

@ -7,12 +7,14 @@ package io.opentelemetry.sdk.metrics;
import com.google.errorprone.annotations.Immutable; import com.google.errorprone.annotations.Immutable;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleCounter;
import io.opentelemetry.api.metrics.BoundDoubleValueRecorder;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.BoundLongValueRecorder;
import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.DoubleValueRecorder; import io.opentelemetry.api.metrics.DoubleValueRecorder;
import io.opentelemetry.api.metrics.DoubleValueRecorder.BoundDoubleValueRecorder;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongValueRecorder; import io.opentelemetry.api.metrics.LongValueRecorder;
import io.opentelemetry.api.metrics.LongValueRecorder.BoundLongValueRecorder;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
/** /**
@ -26,7 +28,7 @@ public enum MetricsTestOperationBuilder {
meter -> { meter -> {
return new Operation() { return new Operation() {
final LongCounter metric = meter.longCounterBuilder("long_counter").build(); final LongCounter metric = meter.longCounterBuilder("long_counter").build();
final LongCounter.BoundLongCounter boundMetric = final BoundLongCounter boundMetric =
meter meter
.longCounterBuilder("bound_long_counter") .longCounterBuilder("bound_long_counter")
.build() .build()
@ -47,7 +49,7 @@ public enum MetricsTestOperationBuilder {
meter -> { meter -> {
return new Operation() { return new Operation() {
final DoubleCounter metric = meter.doubleCounterBuilder("double_counter").build(); final DoubleCounter metric = meter.doubleCounterBuilder("double_counter").build();
final DoubleCounter.BoundDoubleCounter boundMetric = final BoundDoubleCounter boundMetric =
meter meter
.doubleCounterBuilder("bound_double_counter") .doubleCounterBuilder("bound_double_counter")
.build() .build()

View File

@ -8,6 +8,7 @@ package io.opentelemetry.sdk.metrics;
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 io.opentelemetry.api.metrics.Instrument; import io.opentelemetry.api.metrics.Instrument;
import io.opentelemetry.api.metrics.InstrumentBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -53,7 +54,7 @@ abstract class AbstractInstrument implements Instrument {
} }
abstract static class Builder<B extends AbstractInstrument.Builder<?>> abstract static class Builder<B extends AbstractInstrument.Builder<?>>
implements Instrument.Builder { implements InstrumentBuilder {
/* VisibleForTesting */ static final String ERROR_MESSAGE_INVALID_NAME = /* VisibleForTesting */ static final String ERROR_MESSAGE_INVALID_NAME =
"Name should be a ASCII string with a length no greater than " "Name should be a ASCII string with a length no greater than "
+ StringUtils.METRIC_NAME_MAX_LENGTH + StringUtils.METRIC_NAME_MAX_LENGTH

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleCounter;
import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.DoubleCounterBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -42,7 +44,7 @@ final class DoubleCounterSdk extends AbstractSynchronousInstrument implements Do
return new BoundInstrument(acquireHandle(labels)); return new BoundInstrument(acquireHandle(labels));
} }
static final class BoundInstrument implements DoubleCounter.BoundDoubleCounter { static final class BoundInstrument implements BoundDoubleCounter {
private final AggregatorHandle<?> aggregatorHandle; private final AggregatorHandle<?> aggregatorHandle;
BoundInstrument(AggregatorHandle<?> aggregatorHandle) { BoundInstrument(AggregatorHandle<?> aggregatorHandle) {
@ -64,7 +66,7 @@ final class DoubleCounterSdk extends AbstractSynchronousInstrument implements Do
} }
static final class Builder extends AbstractSynchronousInstrumentBuilder<DoubleCounterSdk.Builder> static final class Builder extends AbstractSynchronousInstrumentBuilder<DoubleCounterSdk.Builder>
implements DoubleCounter.Builder { implements DoubleCounterBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.DoubleSumObserver; import io.opentelemetry.api.metrics.DoubleSumObserver;
import io.opentelemetry.api.metrics.DoubleSumObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -20,7 +21,7 @@ final class DoubleSumObserverSdk extends AbstractAsynchronousInstrument
static final class Builder static final class Builder
extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleSumObserverSdk.Builder> extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleSumObserverSdk.Builder>
implements DoubleSumObserver.Builder { implements DoubleSumObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleUpDownCounter;
import io.opentelemetry.api.metrics.DoubleUpDownCounter; import io.opentelemetry.api.metrics.DoubleUpDownCounter;
import io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -60,7 +62,7 @@ final class DoubleUpDownCounterSdk extends AbstractSynchronousInstrument
static final class Builder static final class Builder
extends AbstractSynchronousInstrumentBuilder<DoubleUpDownCounterSdk.Builder> extends AbstractSynchronousInstrumentBuilder<DoubleUpDownCounterSdk.Builder>
implements DoubleUpDownCounter.Builder { implements DoubleUpDownCounterBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.DoubleUpDownSumObserver; import io.opentelemetry.api.metrics.DoubleUpDownSumObserver;
import io.opentelemetry.api.metrics.DoubleUpDownSumObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -20,7 +21,7 @@ final class DoubleUpDownSumObserverSdk extends AbstractAsynchronousInstrument
static final class Builder static final class Builder
extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleUpDownSumObserverSdk.Builder> extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleUpDownSumObserverSdk.Builder>
implements DoubleUpDownSumObserver.Builder { implements DoubleUpDownSumObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.DoubleValueObserver; import io.opentelemetry.api.metrics.DoubleValueObserver;
import io.opentelemetry.api.metrics.DoubleValueObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -20,7 +21,7 @@ final class DoubleValueObserverSdk extends AbstractAsynchronousInstrument
static final class Builder static final class Builder
extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleValueObserverSdk.Builder> extends AbstractDoubleAsynchronousInstrumentBuilder<DoubleValueObserverSdk.Builder>
implements DoubleValueObserver.Builder { implements DoubleValueObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleValueRecorder;
import io.opentelemetry.api.metrics.DoubleValueRecorder; import io.opentelemetry.api.metrics.DoubleValueRecorder;
import io.opentelemetry.api.metrics.DoubleValueRecorderBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -60,7 +62,7 @@ final class DoubleValueRecorderSdk extends AbstractSynchronousInstrument
static final class Builder static final class Builder
extends AbstractSynchronousInstrumentBuilder<DoubleValueRecorderSdk.Builder> extends AbstractSynchronousInstrumentBuilder<DoubleValueRecorderSdk.Builder>
implements DoubleValueRecorder.Builder { implements DoubleValueRecorderBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongCounterBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -42,7 +44,7 @@ final class LongCounterSdk extends AbstractSynchronousInstrument implements Long
return new BoundInstrument(acquireHandle(labels)); return new BoundInstrument(acquireHandle(labels));
} }
static final class BoundInstrument implements LongCounter.BoundLongCounter { static final class BoundInstrument implements BoundLongCounter {
private final AggregatorHandle<?> aggregatorHandle; private final AggregatorHandle<?> aggregatorHandle;
BoundInstrument(AggregatorHandle<?> aggregatorHandle) { BoundInstrument(AggregatorHandle<?> aggregatorHandle) {
@ -64,7 +66,7 @@ final class LongCounterSdk extends AbstractSynchronousInstrument implements Long
} }
static final class Builder extends AbstractSynchronousInstrumentBuilder<Builder> static final class Builder extends AbstractSynchronousInstrumentBuilder<Builder>
implements LongCounter.Builder { implements LongCounterBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.LongSumObserver; import io.opentelemetry.api.metrics.LongSumObserver;
import io.opentelemetry.api.metrics.LongSumObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -19,7 +20,7 @@ final class LongSumObserverSdk extends AbstractAsynchronousInstrument implements
static final class Builder static final class Builder
extends AbstractLongAsynchronousInstrumentBuilder<LongSumObserverSdk.Builder> extends AbstractLongAsynchronousInstrumentBuilder<LongSumObserverSdk.Builder>
implements LongSumObserver.Builder { implements LongSumObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongUpDownCounter;
import io.opentelemetry.api.metrics.LongUpDownCounter; import io.opentelemetry.api.metrics.LongUpDownCounter;
import io.opentelemetry.api.metrics.LongUpDownCounterBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -60,7 +62,7 @@ final class LongUpDownCounterSdk extends AbstractSynchronousInstrument
static final class Builder static final class Builder
extends AbstractSynchronousInstrumentBuilder<LongUpDownCounterSdk.Builder> extends AbstractSynchronousInstrumentBuilder<LongUpDownCounterSdk.Builder>
implements LongUpDownCounter.Builder { implements LongUpDownCounterBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.LongUpDownSumObserver; import io.opentelemetry.api.metrics.LongUpDownSumObserver;
import io.opentelemetry.api.metrics.LongUpDownSumObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -20,7 +21,7 @@ final class LongUpDownSumObserverSdk extends AbstractAsynchronousInstrument
static final class Builder static final class Builder
extends AbstractLongAsynchronousInstrumentBuilder<LongUpDownSumObserverSdk.Builder> extends AbstractLongAsynchronousInstrumentBuilder<LongUpDownSumObserverSdk.Builder>
implements LongUpDownSumObserver.Builder { implements LongUpDownSumObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.metrics.LongValueObserver; import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.api.metrics.LongValueObserverBuilder;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
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;
@ -20,7 +21,7 @@ final class LongValueObserverSdk extends AbstractAsynchronousInstrument
static final class Builder static final class Builder
extends AbstractLongAsynchronousInstrumentBuilder<LongValueObserverSdk.Builder> extends AbstractLongAsynchronousInstrumentBuilder<LongValueObserverSdk.Builder>
implements LongValueObserver.Builder { implements LongValueObserverBuilder {
Builder( Builder(
String name, String name,

View File

@ -6,7 +6,9 @@
package io.opentelemetry.sdk.metrics; package io.opentelemetry.sdk.metrics;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongValueRecorder;
import io.opentelemetry.api.metrics.LongValueRecorder; import io.opentelemetry.api.metrics.LongValueRecorder;
import io.opentelemetry.api.metrics.LongValueRecorderBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle; import io.opentelemetry.sdk.metrics.aggregator.AggregatorHandle;
import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor; import io.opentelemetry.sdk.metrics.common.InstrumentDescriptor;
import io.opentelemetry.sdk.metrics.common.InstrumentType; import io.opentelemetry.sdk.metrics.common.InstrumentType;
@ -60,7 +62,7 @@ final class LongValueRecorderSdk extends AbstractSynchronousInstrument
static final class Builder static final class Builder
extends AbstractSynchronousInstrumentBuilder<LongValueRecorderSdk.Builder> extends AbstractSynchronousInstrumentBuilder<LongValueRecorderSdk.Builder>
implements LongValueRecorder.Builder { implements LongValueRecorderBuilder {
Builder( Builder(
String name, String name,

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleCounter;
import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.DoubleCounter.BoundDoubleCounter;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;
@ -254,7 +254,7 @@ class DoubleCounterSdkTest {
} }
private static class OperationUpdaterWithBinding extends OperationUpdater { private static class OperationUpdaterWithBinding extends OperationUpdater {
private final DoubleCounter.BoundDoubleCounter boundDoubleCounter; private final BoundDoubleCounter boundDoubleCounter;
private OperationUpdaterWithBinding(BoundDoubleCounter boundDoubleCounter) { private OperationUpdaterWithBinding(BoundDoubleCounter boundDoubleCounter) {
this.boundDoubleCounter = boundDoubleCounter; this.boundDoubleCounter = boundDoubleCounter;

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleUpDownCounter;
import io.opentelemetry.api.metrics.DoubleUpDownCounter; import io.opentelemetry.api.metrics.DoubleUpDownCounter;
import io.opentelemetry.api.metrics.DoubleUpDownCounter.BoundDoubleUpDownCounter;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundDoubleValueRecorder;
import io.opentelemetry.api.metrics.DoubleValueRecorder; import io.opentelemetry.api.metrics.DoubleValueRecorder;
import io.opentelemetry.api.metrics.DoubleValueRecorder.BoundDoubleValueRecorder;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;
@ -250,7 +250,7 @@ class LongCounterSdkTest {
} }
private static class OperationUpdaterWithBinding extends OperationUpdater { private static class OperationUpdaterWithBinding extends OperationUpdater {
private final LongCounter.BoundLongCounter boundLongCounter; private final BoundLongCounter boundLongCounter;
private OperationUpdaterWithBinding(BoundLongCounter boundLongCounter) { private OperationUpdaterWithBinding(BoundLongCounter boundLongCounter) {
this.boundLongCounter = boundLongCounter; this.boundLongCounter = boundLongCounter;

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongUpDownCounter;
import io.opentelemetry.api.metrics.LongUpDownCounter; import io.opentelemetry.api.metrics.LongUpDownCounter;
import io.opentelemetry.api.metrics.LongUpDownCounter.BoundLongUpDownCounter;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;

View File

@ -11,8 +11,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongValueRecorder;
import io.opentelemetry.api.metrics.LongValueRecorder; import io.opentelemetry.api.metrics.LongValueRecorder;
import io.opentelemetry.api.metrics.LongValueRecorder.BoundLongValueRecorder;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.internal.TestClock; import io.opentelemetry.sdk.internal.TestClock;
import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater; import io.opentelemetry.sdk.metrics.StressTestRunner.OperationUpdater;

View File

@ -6,9 +6,9 @@
package io.opentelemetry.sdk.trace.export; package io.opentelemetry.sdk.trace.export;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider; import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.CompletableResultCode;