Package io.opentelemetry.api.metrics
Interface LongUpDownCounter
-
- All Superinterfaces:
Instrument
,SynchronousInstrument<BoundLongUpDownCounter>
@ThreadSafe public interface LongUpDownCounter extends SynchronousInstrument<BoundLongUpDownCounter>
UpDownCounter is a synchronous instrument and very similar to Counter except that Add(increment) supports negative increments. This makes UpDownCounter not useful for computing a rate aggregation. The default aggregation is `Sum`, only the sum is non-monotonic. It is generally useful for capturing changes in an amount of resources used, or any quantity that rises and falls during a request.Example:
class YourClass { private static final Meter meter = OpenTelemetry.getMeterProvider().get("my_library_name"); private static final LongUpDownCounter upDownCounter = meter. .longUpDownCounterBuilder("active_tasks") .setDescription("Number of active tasks") .setUnit("1") .build(); // It is recommended that the API user keep a reference to a Bound Counter. private static final BoundLongUpDownCounter someWorkBound = upDownCounter.bind("work_name", "some_work"); void doSomeWork() { someWorkBound.add(1); // Your code here. someWorkBound.add(-1); } }
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(long increment)
Adds the givenincrement
to the current value.void
add(long increment, Labels labels)
Adds the givenincrement
to the current value.BoundLongUpDownCounter
bind(Labels labels)
Returns aBound Instrument
associated with the specified labels.
-
-
-
Method Detail
-
add
void add(long increment, Labels labels)
Adds the givenincrement
to the current value.The value added is associated with the current
Context
and provided set of labels.- Parameters:
increment
- the value to add.labels
- the set of labels to be associated to this recording.
-
add
void add(long increment)
Adds the givenincrement
to the current value.The value added is associated with the current
Context
and empty labels.- Parameters:
increment
- the value to add.
-
bind
BoundLongUpDownCounter bind(Labels labels)
Description copied from interface:SynchronousInstrument
Returns aBound Instrument
associated with the specified labels. Multiples requests with the same set of labels may return the sameBound Instrument
instance.It is recommended that callers keep a reference to the Bound Instrument instead of always calling this method for every operation.
- Specified by:
bind
in interfaceSynchronousInstrument<BoundLongUpDownCounter>
- Parameters:
labels
- the set of labels, as key-value pairs.- Returns:
- a
Bound Instrument
-
-