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 CountergetCounter(java.lang.String name)OpStatsLoggergetOpStatsLogger(java.lang.String name)CountergetThreadScopedCounter(java.lang.String name)OpStatsLoggergetThreadScopedOpStatsLogger(java.lang.String name)<T extends java.lang.Number>
voidregisterGauge(java.lang.String name, Gauge<T> gauge)Register given gauge as name name.voidremoveScope(java.lang.String name, StatsLogger statsLogger)Remove the given statsLogger for scope name.StatsLoggerscope(java.lang.String name)Provide the stats logger under scope name.StatsLoggerscopeLabel(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:
getOpStatsLoggerin 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:
getThreadScopedOpStatsLoggerin 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:
getCounterin 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:
getThreadScopedCounterin 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:StatsLoggerRegister given gauge as name name.- Specified by:
registerGaugein 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:StatsLoggerUnregister given gauge from name name.- Specified by:
unregisterGaugein interfaceStatsLogger- Parameters:
name- name of the gaugegauge- gauge function
-
scope
public StatsLogger scope(java.lang.String name)
Description copied from interface:StatsLoggerProvide the stats logger under scope name.- Specified by:
scopein 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:StatsLoggerRemove 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:
removeScopein 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:StatsLoggerProvide the stats logger with an attached label.- Specified by:
scopeLabelin interfaceStatsLogger- Parameters:
labelName- the name of the label.labelValue- the value of the label.- Returns:
- stats logger under scope name.
-
-