@@ -51,11 +51,23 @@ public class TracedUnaryCallable<RequestT, ResponseT> extends UnaryCallable<Requ
5151 private final UnaryCallable <RequestT , ResponseT > innerCallable ;
5252 private final ApiTracerFactory tracerFactory ;
5353 private final SpanName spanName ;
54- private final ApiTracerContext apiTracerContext ;
54+ @ Nullable private final ApiTracerContext apiTracerContext ;
5555 @ Nullable private final ResourceNameExtractor <RequestT > resourceNameExtractor ;
5656
5757
5858
59+ @ Deprecated
60+ public TracedUnaryCallable (
61+ UnaryCallable <RequestT , ResponseT > innerCallable ,
62+ ApiTracerFactory tracerFactory ,
63+ SpanName spanName ) {
64+ this .innerCallable = innerCallable ;
65+ this .tracerFactory = tracerFactory ;
66+ this .spanName = spanName ;
67+ this .apiTracerContext = null ;
68+ this .resourceNameExtractor = null ;
69+ }
70+
5971 public TracedUnaryCallable (
6072 UnaryCallable <RequestT , ResponseT > innerCallable ,
6173 ApiTracerFactory tracerFactory ,
@@ -77,10 +89,15 @@ public TracedUnaryCallable(
7789 */
7890 @ Override
7991 public ApiFuture <ResponseT > futureCall (RequestT request , ApiCallContext context ) {
80- ApiTracer tracer =
81- tracerFactory .newTracer (
82- context .getTracer (),
83- apiTracerContext .withResourceNameExtractor (request , resourceNameExtractor ));
92+ ApiTracer tracer ;
93+ if (apiTracerContext != null ) {
94+ tracer =
95+ tracerFactory .newTracer (
96+ context .getTracer (),
97+ apiTracerContext .withResourceNameExtractor (request , resourceNameExtractor ));
98+ } else {
99+ tracer = tracerFactory .newTracer (context .getTracer (), spanName , OperationType .Unary );
100+ }
84101 TraceFinisher <ResponseT > finisher = new TraceFinisher <>(tracer );
85102
86103 try {
0 commit comments