Package io.grpc.opentelemetry
Class GrpcOpenTelemetry
- java.lang.Object
-
- io.grpc.opentelemetry.GrpcOpenTelemetry
-
public final class GrpcOpenTelemetry extends java.lang.ObjectThe entrypoint for OpenTelemetry metrics functionality in gRPC.GrpcOpenTelemetry uses
OpenTelemetryAPIs for instrumentation. When no SDK is explicitly added no telemetry data will be collected. Seeio.opentelemetry.sdk.OpenTelemetrySdkfor information on how to construct the SDK.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGrpcOpenTelemetry.BuilderBuilder for configuringGrpcOpenTelemetry.
-
Field Summary
Fields Modifier and Type Field Description private booleandisableDefault(package private) static booleanENABLE_OTEL_TRACINGprivate java.util.Map<java.lang.String,java.lang.Boolean>enableMetricsprivate io.opentelemetry.api.metrics.Metermeterprivate io.opentelemetry.api.metrics.MeterProvidermeterProviderprivate OpenTelemetryMetricsModuleopenTelemetryMetricsModuleprivate io.opentelemetry.api.OpenTelemetryopenTelemetrySdkprivate OpenTelemetryTracingModuleopenTelemetryTracingModuleprivate java.util.List<java.lang.String>optionalLabelsprivate OpenTelemetryMetricsResourceresourceprivate io.grpc.MetricSinksinkprivate static com.google.common.base.Supplier<com.google.common.base.Stopwatch>STOPWATCH_SUPPLIER
-
Constructor Summary
Constructors Modifier Constructor Description privateGrpcOpenTelemetry(GrpcOpenTelemetry.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigureChannelBuilder(io.grpc.ManagedChannelBuilder<?> builder)Configures the givenManagedChannelBuilderwith OpenTelemetry metrics instrumentation.voidconfigureServerBuilder(io.grpc.ServerBuilder<?> serverBuilder)Configures the givenServerBuilderwith OpenTelemetry metrics instrumentation.(package private) static OpenTelemetryMetricsResourcecreateMetricInstruments(io.opentelemetry.api.metrics.Meter meter, java.util.Map<java.lang.String,java.lang.Boolean> enableMetrics, boolean disableDefault)(package private) java.util.Map<java.lang.String,java.lang.Boolean>getEnableMetrics()(package private) io.opentelemetry.api.metrics.MetergetMeter()(package private) io.opentelemetry.api.metrics.MeterProvidergetMeterProvider()(package private) io.opentelemetry.api.OpenTelemetrygetOpenTelemetryInstance()(package private) java.util.List<java.lang.String>getOptionalLabels()(package private) OpenTelemetryMetricsResourcegetResource()(package private) io.grpc.MetricSinkgetSink()(package private) io.opentelemetry.api.trace.TracergetTracer()(package private) static booleanisMetricEnabled(java.lang.String metricName, java.util.Map<java.lang.String,java.lang.Boolean> enableMetrics, boolean disableDefault)static GrpcOpenTelemetry.BuildernewBuilder()voidregisterGlobal()Registers GrpcOpenTelemetry globally, applying its configuration to all subsequently created gRPC channels and servers.
-
-
-
Field Detail
-
STOPWATCH_SUPPLIER
private static final com.google.common.base.Supplier<com.google.common.base.Stopwatch> STOPWATCH_SUPPLIER
-
ENABLE_OTEL_TRACING
static boolean ENABLE_OTEL_TRACING
-
openTelemetrySdk
private final io.opentelemetry.api.OpenTelemetry openTelemetrySdk
-
meterProvider
private final io.opentelemetry.api.metrics.MeterProvider meterProvider
-
meter
private final io.opentelemetry.api.metrics.Meter meter
-
enableMetrics
private final java.util.Map<java.lang.String,java.lang.Boolean> enableMetrics
-
disableDefault
private final boolean disableDefault
-
resource
private final OpenTelemetryMetricsResource resource
-
openTelemetryMetricsModule
private final OpenTelemetryMetricsModule openTelemetryMetricsModule
-
openTelemetryTracingModule
private final OpenTelemetryTracingModule openTelemetryTracingModule
-
optionalLabels
private final java.util.List<java.lang.String> optionalLabels
-
sink
private final io.grpc.MetricSink sink
-
-
Constructor Detail
-
GrpcOpenTelemetry
private GrpcOpenTelemetry(GrpcOpenTelemetry.Builder builder)
-
-
Method Detail
-
newBuilder
public static GrpcOpenTelemetry.Builder newBuilder()
-
getOpenTelemetryInstance
io.opentelemetry.api.OpenTelemetry getOpenTelemetryInstance()
-
getMeterProvider
io.opentelemetry.api.metrics.MeterProvider getMeterProvider()
-
getMeter
io.opentelemetry.api.metrics.Meter getMeter()
-
getResource
OpenTelemetryMetricsResource getResource()
-
getEnableMetrics
java.util.Map<java.lang.String,java.lang.Boolean> getEnableMetrics()
-
getOptionalLabels
java.util.List<java.lang.String> getOptionalLabels()
-
getSink
io.grpc.MetricSink getSink()
-
getTracer
io.opentelemetry.api.trace.Tracer getTracer()
-
registerGlobal
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/10591") public void registerGlobal()Registers GrpcOpenTelemetry globally, applying its configuration to all subsequently created gRPC channels and servers.
-
configureChannelBuilder
public void configureChannelBuilder(io.grpc.ManagedChannelBuilder<?> builder)
Configures the givenManagedChannelBuilderwith OpenTelemetry metrics instrumentation.
-
configureServerBuilder
public void configureServerBuilder(io.grpc.ServerBuilder<?> serverBuilder)
Configures the givenServerBuilderwith OpenTelemetry metrics instrumentation.- Parameters:
serverBuilder- the server builder to configure
-
createMetricInstruments
static OpenTelemetryMetricsResource createMetricInstruments(io.opentelemetry.api.metrics.Meter meter, java.util.Map<java.lang.String,java.lang.Boolean> enableMetrics, boolean disableDefault)
-
isMetricEnabled
static boolean isMetricEnabled(java.lang.String metricName, java.util.Map<java.lang.String,java.lang.Boolean> enableMetrics, boolean disableDefault)
-
-