Package org.apache.bookkeeper.stats.otel
Class OtelStatsLogger
java.lang.Object
org.apache.bookkeeper.stats.otel.OtelStatsLogger
- All Implemented Interfaces:
StatsLogger
-
Constructor Summary
ConstructorsConstructorDescriptionOtelStatsLogger(OtelMetricsProvider provider, String scope, io.opentelemetry.api.common.Attributes attributes) -
Method Summary
Modifier and TypeMethodDescriptiongetCounter(String name) getOpStatsLogger(String name) getThreadScopedCounter(String name) <T extends Number>
voidregisterGauge(String name, Gauge<T> gauge) Register given gauge as name name.voidremoveScope(String name, StatsLogger statsLogger) Remove the given statsLogger for scope name.Provide the stats logger under scope name.scopeLabel(String labelName, String labelValue) Provide the stats logger with an attached label.<T extends Number>
voidunregisterGauge(String name, Gauge<T> gauge) Unregister given gauge from name name.
-
Constructor Details
-
OtelStatsLogger
OtelStatsLogger(OtelMetricsProvider provider, String scope, io.opentelemetry.api.common.Attributes attributes)
-
-
Method Details
-
getOpStatsLogger
- Specified by:
getOpStatsLoggerin interfaceStatsLogger- Parameters:
name- Stats Name- Returns:
- Get the logger for an OpStat described by the name.
-
getThreadScopedOpStatsLogger
- 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
- Specified by:
getCounterin interfaceStatsLogger- Parameters:
name- Stats Name- Returns:
- Get the logger for a simple stat described by the name
-
getThreadScopedCounter
- 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
Description copied from interface:StatsLoggerRegister given gauge as name name.- Specified by:
registerGaugein interfaceStatsLogger- Parameters:
name- gauge namegauge- gauge function
-
unregisterGauge
Description copied from interface:StatsLoggerUnregister given gauge from name name.- Specified by:
unregisterGaugein interfaceStatsLogger- Parameters:
name- name of the gaugegauge- gauge function
-
scope
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
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
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.
-