1
1
package com .example .metricssample .bigtable ;
2
2
3
+ import com .google .api .gax .grpc .ChannelPoolSettings ;
4
+ import com .google .api .gax .grpc .InstantiatingGrpcChannelProvider ;
3
5
import com .google .api .gax .rpc .NotFoundException ;
4
6
import com .google .api .gax .tracing .OpenTelemetryTracerFactory ;
5
7
import com .google .cloud .bigtable .admin .v2 .BigtableTableAdminClient ;
13
15
import com .google .cloud .opentelemetry .metric .MetricConfiguration ;
14
16
import com .google .cloud .opentelemetry .metric .MetricDescriptorStrategy ;
15
17
import io .opencensus .contrib .grpc .metrics .RpcViews ;
18
+ import io .opentelemetry .api .GlobalOpenTelemetry ;
16
19
import io .opentelemetry .api .OpenTelemetry ;
17
20
import io .opentelemetry .api .common .Attributes ;
18
21
import io .opentelemetry .api .trace .propagation .W3CTraceContextPropagator ;
@@ -49,13 +52,20 @@ public class BigtableController {
49
52
50
53
public BigtableController () throws Exception {
51
54
String instanceId = "test-routing-headers" ;
55
+ //Register OpenCensus views for gRPC metrics
52
56
RpcViews .registerAllViews ();
53
57
54
58
OpenTelemetryTracerFactory openTelemetryTracerFactory = createOpenTelemetryTracerFactory ();
55
59
BigtableDataSettings .Builder builder = BigtableDataSettings .newBuilder ()
56
60
.setProjectId (PROJECT_ID )
57
61
.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 );
59
69
60
70
// BigtableDataSettings.enableBuiltinMetrics();
61
71
BigtableDataSettings .enableGfeOpenCensusStats ();
@@ -79,7 +89,6 @@ private static OpenTelemetryTracerFactory createOpenTelemetryTracerFactory() {
79
89
Resource resource = Resource .getDefault ()
80
90
.merge (Resource .create (Attributes .of (ResourceAttributes .SERVICE_NAME , "bigtable" )));
81
91
82
- // MetricExporter cloudMonitoringExporter = GoogleCloudMetricExporter.createWithDefaultConfiguration();
83
92
MetricExporter cloudMonitoringExporter = GoogleCloudMetricExporter .createWithConfiguration (
84
93
MetricConfiguration .builder ()
85
94
// Configure the cloud project id. Note: this is autodiscovered by default.
@@ -112,8 +121,8 @@ private static OpenTelemetryTracerFactory createOpenTelemetryTracerFactory() {
112
121
SdkMeterProvider sdkMeterProvider = SdkMeterProvider .builder ()
113
122
.registerMetricReader (PeriodicMetricReader .builder (cloudMonitoringExporter ).setInterval (Duration .ofSeconds (20 )).build ())
114
123
.setResource (resource )
115
- .registerView (instrumentSelector , view )
116
- .registerView (operationLatencyInstrumentSelector , operationLatencyView )
124
+ // .registerView(instrumentSelector, view)
125
+ // .registerView(operationLatencyInstrumentSelector, operationLatencyView)
117
126
.build ();
118
127
119
128
OpenTelemetry openTelemetry = OpenTelemetrySdk .builder ()
0 commit comments