Skip to content

Commit a223e94

Browse files
committed
Add channel configuration.
1 parent dba7260 commit a223e94

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/main/java/com/example/metricssample/bigtable/BigtableController.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.example.metricssample.bigtable;
22

3+
import com.google.api.gax.grpc.ChannelPoolSettings;
4+
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
35
import com.google.api.gax.rpc.NotFoundException;
46
import com.google.api.gax.tracing.OpenTelemetryTracerFactory;
57
import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient;
@@ -13,6 +15,7 @@
1315
import com.google.cloud.opentelemetry.metric.MetricConfiguration;
1416
import com.google.cloud.opentelemetry.metric.MetricDescriptorStrategy;
1517
import io.opencensus.contrib.grpc.metrics.RpcViews;
18+
import io.opentelemetry.api.GlobalOpenTelemetry;
1619
import io.opentelemetry.api.OpenTelemetry;
1720
import io.opentelemetry.api.common.Attributes;
1821
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
@@ -49,13 +52,20 @@ public class BigtableController {
4952

5053
public BigtableController() throws Exception {
5154
String instanceId = "test-routing-headers";
55+
//Register OpenCensus views for gRPC metrics
5256
RpcViews.registerAllViews();
5357

5458
OpenTelemetryTracerFactory openTelemetryTracerFactory = createOpenTelemetryTracerFactory();
5559
BigtableDataSettings.Builder builder = BigtableDataSettings.newBuilder()
5660
.setProjectId(PROJECT_ID)
5761
.setInstanceId(instanceId);
58-
builder.stubSettings().setTracerFactory(openTelemetryTracerFactory);
62+
ChannelPoolSettings channelPoolSettings = ChannelPoolSettings.builder()
63+
.setInitialChannelCount(2)
64+
.setMinChannelCount(2)
65+
.setMaxChannelCount(10)
66+
.build();
67+
InstantiatingGrpcChannelProvider transportChannelProvider = InstantiatingGrpcChannelProvider.newBuilder().setChannelPoolSettings(channelPoolSettings).build();
68+
builder.stubSettings().setTracerFactory(openTelemetryTracerFactory).setTransportChannelProvider(transportChannelProvider);
5969

6070
// BigtableDataSettings.enableBuiltinMetrics();
6171
BigtableDataSettings.enableGfeOpenCensusStats();
@@ -79,7 +89,6 @@ private static OpenTelemetryTracerFactory createOpenTelemetryTracerFactory() {
7989
Resource resource = Resource.getDefault()
8090
.merge(Resource.create(Attributes.of(ResourceAttributes.SERVICE_NAME, "bigtable")));
8191

82-
// MetricExporter cloudMonitoringExporter = GoogleCloudMetricExporter.createWithDefaultConfiguration();
8392
MetricExporter cloudMonitoringExporter = GoogleCloudMetricExporter.createWithConfiguration(
8493
MetricConfiguration.builder()
8594
// Configure the cloud project id. Note: this is autodiscovered by default.
@@ -112,8 +121,8 @@ private static OpenTelemetryTracerFactory createOpenTelemetryTracerFactory() {
112121
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
113122
.registerMetricReader(PeriodicMetricReader.builder(cloudMonitoringExporter).setInterval(Duration.ofSeconds(20)).build())
114123
.setResource(resource)
115-
.registerView(instrumentSelector, view)
116-
.registerView(operationLatencyInstrumentSelector, operationLatencyView)
124+
// .registerView(instrumentSelector, view)
125+
// .registerView(operationLatencyInstrumentSelector, operationLatencyView)
117126
.build();
118127

119128
OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()

0 commit comments

Comments
 (0)