Package org.apache.bookkeeper.stats.otel
Class OtelStatsLogger
- java.lang.Object
-
- org.apache.bookkeeper.stats.otel.OtelStatsLogger
-
- All Implemented Interfaces:
StatsLogger
public class OtelStatsLogger extends java.lang.Object implements StatsLogger
-
-
Constructor Summary
Constructors Constructor Description OtelStatsLogger(OtelMetricsProvider provider, java.lang.String scope, io.opentelemetry.api.common.Attributes attributes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Counter
getCounter(java.lang.String name)
OpStatsLogger
getOpStatsLogger(java.lang.String name)
Counter
getThreadScopedCounter(java.lang.String name)
OpStatsLogger
getThreadScopedOpStatsLogger(java.lang.String name)
<T extends java.lang.Number>
voidregisterGauge(java.lang.String name, Gauge<T> gauge)
Register given gauge as name name.void
removeScope(java.lang.String name, StatsLogger statsLogger)
Remove the given statsLogger for scope name.StatsLogger
scope(java.lang.String name)
Provide the stats logger under scope name.StatsLogger
scopeLabel(java.lang.String labelName, java.lang.String labelValue)
Provide the stats logger with an attached label.<T extends java.lang.Number>
voidunregisterGauge(java.lang.String name, Gauge<T> gauge)
Unregister given gauge from name name.
-
-
-
Constructor Detail
-
OtelStatsLogger
OtelStatsLogger(OtelMetricsProvider provider, java.lang.String scope, io.opentelemetry.api.common.Attributes attributes)
-
-
Method Detail
-
getOpStatsLogger
public OpStatsLogger getOpStatsLogger(java.lang.String name)
- Specified by:
getOpStatsLogger
in interfaceStatsLogger
- Parameters:
name
- Stats Name- Returns:
- Get the logger for an OpStat described by the name.
-
getThreadScopedOpStatsLogger
public OpStatsLogger getThreadScopedOpStatsLogger(java.lang.String name)
- Specified by:
getThreadScopedOpStatsLogger
in interfaceStatsLogger
- Parameters:
name
- Stats Name- Returns:
- Get the logger for an OpStat described by the name with extra labels for the threadpool/threadname and thread no. Lone threads always have 0 as their thread no.
-
getCounter
public Counter getCounter(java.lang.String name)
- Specified by:
getCounter
in interfaceStatsLogger
- Parameters:
name
- Stats Name- Returns:
- Get the logger for a simple stat described by the name
-
getThreadScopedCounter
public Counter getThreadScopedCounter(java.lang.String name)
- Specified by:
getThreadScopedCounter
in interfaceStatsLogger
- Parameters:
name
- Stats Name- Returns:
- Get the logger for a simple stat described by the name with extra labels for the threadpool/threadname and thread no. Lone threads always have 0 as their thread no.
-
registerGauge
public <T extends java.lang.Number> void registerGauge(java.lang.String name, Gauge<T> gauge)
Description copied from interface:StatsLogger
Register given gauge as name name.- Specified by:
registerGauge
in interfaceStatsLogger
- Parameters:
name
- gauge namegauge
- gauge function
-
unregisterGauge
public <T extends java.lang.Number> void unregisterGauge(java.lang.String name, Gauge<T> gauge)
Description copied from interface:StatsLogger
Unregister given gauge from name name.- Specified by:
unregisterGauge
in interfaceStatsLogger
- Parameters:
name
- name of the gaugegauge
- gauge function
-
scope
public StatsLogger scope(java.lang.String name)
Description copied from interface:StatsLogger
Provide the stats logger under scope name.- Specified by:
scope
in interfaceStatsLogger
- Parameters:
name
- scope name.- Returns:
- stats logger under scope name.
-
removeScope
public void removeScope(java.lang.String name, StatsLogger statsLogger)
Description copied from interface:StatsLogger
Remove the given statsLogger for scope name. It can be no-op if the underlying stats provider doesn't have the ability to remove scope.- Specified by:
removeScope
in interfaceStatsLogger
- Parameters:
name
- name of the scopestatsLogger
- the stats logger of this scope.
-
scopeLabel
public StatsLogger scopeLabel(java.lang.String labelName, java.lang.String labelValue)
Description copied from interface:StatsLogger
Provide the stats logger with an attached label.- Specified by:
scopeLabel
in interfaceStatsLogger
- Parameters:
labelName
- the name of the label.labelValue
- the value of the label.- Returns:
- stats logger under scope name.
-
-