3434import com .google .common .collect .ImmutableMap ;
3535import com .google .common .collect .Iterables ;
3636import com .google .common .collect .Sets ;
37+ import com .google .datastore .v1 .CommitResponse ;
3738import com .google .datastore .v1 .ExplainOptions ;
3839import com .google .datastore .v1 .ReadOptions ;
3940import com .google .datastore .v1 .ReserveIdsRequest ;
@@ -290,8 +291,6 @@ com.google.datastore.v1.RunQueryResponse runQuery(
290291 ? com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_TRANSACTION_RUN_QUERY
291292 : com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_RUN_QUERY );
292293 com .google .cloud .datastore .telemetry .TraceUtil .Span span = otelTraceUtil .startSpan (spanName );
293- span .setAttribute ("isTransactional" , isTransactional );
294- span .setAttribute ("readConsistency" , readOptions .getReadConsistency ().toString ());
295294
296295 try (com .google .cloud .datastore .telemetry .TraceUtil .Scope ignored = span .makeCurrent ()) {
297296 RunQueryResponse response =
@@ -303,10 +302,17 @@ com.google.datastore.v1.RunQueryResponse runQuery(
303302 : TRANSACTION_OPERATION_EXCEPTION_HANDLER ,
304303 getOptions ().getClock ());
305304 span .addEvent (
306- spanName + ": Completed" ,
305+ spanName ,
307306 new ImmutableMap .Builder <String , Object >()
308- .put ("Received" , response .getBatch ().getEntityResultsCount ())
309- .put ("More results" , response .getBatch ().getMoreResults ().toString ())
307+ .put ("response_count" , response .getBatch ().getEntityResultsCount ())
308+ .put ("transactional" , isTransactional )
309+ .put ("read_consistency" , readOptions .getReadConsistency ().toString ())
310+ .put (
311+ "transaction_id" ,
312+ (isTransactional
313+ ? requestPb .getReadOptions ().getTransaction ().toStringUtf8 ()
314+ : "" ))
315+ .put ("more_results" , response .getBatch ().getMoreResults ().toString ())
310316 .build ());
311317 return response ;
312318 } catch (RetryHelperException e ) {
@@ -523,18 +529,18 @@ com.google.datastore.v1.LookupResponse lookup(
523529 ? com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_TRANSACTION_LOOKUP
524530 : com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_LOOKUP );
525531 com .google .cloud .datastore .telemetry .TraceUtil .Span span = otelTraceUtil .startSpan (spanName );
526- span .setAttribute ("isTransactional" , isTransactional );
527532
528533 try (com .google .cloud .datastore .telemetry .TraceUtil .Scope ignored = span .makeCurrent ()) {
529534 return RetryHelper .runWithRetries (
530535 () -> {
531536 com .google .datastore .v1 .LookupResponse response = datastoreRpc .lookup (requestPb );
532537 span .addEvent (
533- spanName + ": Completed" ,
538+ spanName ,
534539 new ImmutableMap .Builder <String , Object >()
535540 .put ("Received" , response .getFoundCount ())
536541 .put ("Missing" , response .getMissingCount ())
537542 .put ("Deferred" , response .getDeferredCount ())
543+ .put ("isTransactional" , isTransactional )
538544 .build ());
539545 return response ;
540546 },
@@ -690,15 +696,25 @@ com.google.datastore.v1.CommitResponse commit(
690696 ? com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_TRANSACTION_COMMIT
691697 : com .google .cloud .datastore .telemetry .TraceUtil .SPAN_NAME_COMMIT ;
692698 com .google .cloud .datastore .telemetry .TraceUtil .Span span = otelTraceUtil .startSpan (spanName );
693- span .setAttribute ("isTransactional" , isTransactional );
694699 try (com .google .cloud .datastore .telemetry .TraceUtil .Scope ignored = span .makeCurrent ()) {
695- return RetryHelper .runWithRetries (
696- () -> datastoreRpc .commit (requestPb ),
697- retrySettings ,
698- requestPb .getTransaction ().isEmpty ()
699- ? EXCEPTION_HANDLER
700- : TRANSACTION_OPERATION_EXCEPTION_HANDLER ,
701- getOptions ().getClock ());
700+ CommitResponse response =
701+ RetryHelper .runWithRetries (
702+ () -> datastoreRpc .commit (requestPb ),
703+ retrySettings ,
704+ requestPb .getTransaction ().isEmpty ()
705+ ? EXCEPTION_HANDLER
706+ : TRANSACTION_OPERATION_EXCEPTION_HANDLER ,
707+ getOptions ().getClock ());
708+ span .addEvent (
709+ spanName ,
710+ new ImmutableMap .Builder <String , Object >()
711+ .put ("doc_count" , response .getMutationResultsCount ())
712+ .put ("transactional" , isTransactional )
713+ .put (
714+ "transaction_id" ,
715+ isTransactional ? requestPb .getTransaction ().toStringUtf8 () : "" )
716+ .build ());
717+ return response ;
702718 } catch (RetryHelperException e ) {
703719 span .end (e );
704720 throw DatastoreException .translateAndThrow (e );
0 commit comments