@@ -35,9 +35,8 @@ class DatabaseClientImpl implements DatabaseClient {
35
35
private static final String READ_ONLY_TRANSACTION = "CloudSpanner.ReadOnlyTransaction" ;
36
36
private static final String PARTITION_DML_TRANSACTION = "CloudSpanner.PartitionDMLTransaction" ;
37
37
private static final Tracer tracer = Tracing .getTracer ();
38
- private static final io .opentelemetry .api .trace .Tracer openTelemetryTracer =
39
- SpannerOptions .getTracer ();
40
38
39
+ private final io .opentelemetry .api .trace .Tracer openTelemetryTracer ;
41
40
@ VisibleForTesting final String clientId ;
42
41
@ VisibleForTesting final SessionPool pool ;
43
42
@@ -49,6 +48,7 @@ class DatabaseClientImpl implements DatabaseClient {
49
48
DatabaseClientImpl (String clientId , SessionPool pool ) {
50
49
this .clientId = clientId ;
51
50
this .pool = pool ;
51
+ this .openTelemetryTracer = SpannerOptions .getTracer ();
52
52
}
53
53
54
54
@ VisibleForTesting
@@ -78,7 +78,7 @@ public CommitResponse writeWithOptions(
78
78
throws SpannerException {
79
79
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
80
80
io .opentelemetry .api .trace .Span openTelemetrySpan =
81
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
81
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
82
82
try (Scope s = tracer .withSpan (span );
83
83
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
84
84
return runWithSessionRetry (session -> session .writeWithOptions (mutations , options ));
@@ -103,7 +103,7 @@ public CommitResponse writeAtLeastOnceWithOptions(
103
103
throws SpannerException {
104
104
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
105
105
io .opentelemetry .api .trace .Span openTelemetrySpan =
106
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
106
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
107
107
try (Scope s = tracer .withSpan (span );
108
108
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
109
109
return runWithSessionRetry (
@@ -122,7 +122,7 @@ public CommitResponse writeAtLeastOnceWithOptions(
122
122
public ReadContext singleUse () {
123
123
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
124
124
io .opentelemetry .api .trace .Span openTelemetrySpan =
125
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
125
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
126
126
try (Scope s = tracer .withSpan (span );
127
127
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
128
128
return getSession ().singleUse ();
@@ -137,7 +137,7 @@ public ReadContext singleUse() {
137
137
public ReadContext singleUse (TimestampBound bound ) {
138
138
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
139
139
io .opentelemetry .api .trace .Span openTelemetrySpan =
140
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
140
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
141
141
try (Scope s = tracer .withSpan (span );
142
142
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
143
143
return getSession ().singleUse (bound );
@@ -152,7 +152,7 @@ public ReadContext singleUse(TimestampBound bound) {
152
152
public ReadOnlyTransaction singleUseReadOnlyTransaction () {
153
153
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
154
154
io .opentelemetry .api .trace .Span openTelemetrySpan =
155
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
155
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
156
156
try (Scope s = tracer .withSpan (span );
157
157
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
158
158
return getSession ().singleUseReadOnlyTransaction ();
@@ -167,7 +167,7 @@ public ReadOnlyTransaction singleUseReadOnlyTransaction() {
167
167
public ReadOnlyTransaction singleUseReadOnlyTransaction (TimestampBound bound ) {
168
168
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
169
169
io .opentelemetry .api .trace .Span openTelemetrySpan =
170
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
170
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
171
171
try (Scope s = tracer .withSpan (span );
172
172
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
173
173
return getSession ().singleUseReadOnlyTransaction (bound );
@@ -182,7 +182,7 @@ public ReadOnlyTransaction singleUseReadOnlyTransaction(TimestampBound bound) {
182
182
public ReadOnlyTransaction readOnlyTransaction () {
183
183
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
184
184
io .opentelemetry .api .trace .Span openTelemetrySpan =
185
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
185
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
186
186
try (Scope s = tracer .withSpan (span );
187
187
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
188
188
return getSession ().readOnlyTransaction ();
@@ -197,7 +197,7 @@ public ReadOnlyTransaction readOnlyTransaction() {
197
197
public ReadOnlyTransaction readOnlyTransaction (TimestampBound bound ) {
198
198
Span span = tracer .spanBuilder (READ_ONLY_TRANSACTION ).startSpan ();
199
199
io .opentelemetry .api .trace .Span openTelemetrySpan =
200
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_ONLY_TRANSACTION );
200
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_ONLY_TRANSACTION );
201
201
try (Scope s = tracer .withSpan (span );
202
202
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
203
203
return getSession ().readOnlyTransaction (bound );
@@ -212,7 +212,7 @@ public ReadOnlyTransaction readOnlyTransaction(TimestampBound bound) {
212
212
public TransactionRunner readWriteTransaction (TransactionOption ... options ) {
213
213
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
214
214
io .opentelemetry .api .trace .Span openTelemetrySpan =
215
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
215
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
216
216
try (Scope s = tracer .withSpan (span );
217
217
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
218
218
return getSession ().readWriteTransaction (options );
@@ -230,7 +230,7 @@ public TransactionRunner readWriteTransaction(TransactionOption... options) {
230
230
public TransactionManager transactionManager (TransactionOption ... options ) {
231
231
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
232
232
io .opentelemetry .api .trace .Span openTelemetrySpan =
233
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
233
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
234
234
try (Scope s = tracer .withSpan (span );
235
235
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
236
236
return getSession ().transactionManager (options );
@@ -245,7 +245,7 @@ public TransactionManager transactionManager(TransactionOption... options) {
245
245
public AsyncRunner runAsync (TransactionOption ... options ) {
246
246
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
247
247
io .opentelemetry .api .trace .Span openTelemetrySpan =
248
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
248
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
249
249
try (Scope s = tracer .withSpan (span );
250
250
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
251
251
return getSession ().runAsync (options );
@@ -260,7 +260,7 @@ public AsyncRunner runAsync(TransactionOption... options) {
260
260
public AsyncTransactionManager transactionManagerAsync (TransactionOption ... options ) {
261
261
Span span = tracer .spanBuilder (READ_WRITE_TRANSACTION ).startSpan ();
262
262
io .opentelemetry .api .trace .Span openTelemetrySpan =
263
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , READ_WRITE_TRANSACTION );
263
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , READ_WRITE_TRANSACTION );
264
264
try (Scope s = tracer .withSpan (span );
265
265
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
266
266
return getSession ().transactionManagerAsync (options );
@@ -275,7 +275,7 @@ public AsyncTransactionManager transactionManagerAsync(TransactionOption... opti
275
275
public long executePartitionedUpdate (final Statement stmt , final UpdateOption ... options ) {
276
276
Span span = tracer .spanBuilder (PARTITION_DML_TRANSACTION ).startSpan ();
277
277
io .opentelemetry .api .trace .Span openTelemetrySpan =
278
- OpenTelemetryTraceUtil .spanBuilder (openTelemetryTracer , PARTITION_DML_TRANSACTION );
278
+ OpenTelemetryTraceUtil .spanBuilder (this . openTelemetryTracer , PARTITION_DML_TRANSACTION );
279
279
try (Scope s = tracer .withSpan (span );
280
280
io .opentelemetry .context .Scope ss = openTelemetrySpan .makeCurrent ()) {
281
281
return runWithSessionRetry (session -> session .executePartitionedUpdate (stmt , options ));
0 commit comments