Package brave.rpc
Class RpcTracing
java.lang.Object
brave.rpc.RpcTracing
- All Implemented Interfaces:
Closeable,AutoCloseable
public class RpcTracing extends Object implements Closeable
Instances built via
create(Tracing) or newBuilder(Tracing) are registered
automatically such that statically configured instrumentation like RPC clients can use current().- Since:
- 5.8
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRpcTracing.Builder -
Method Summary
Modifier and Type Method Description RpcRequestParserclientRequestParser()Used byRpcClientHandler.handleSend(RpcClientRequest)to add a span name and tags about the request before it is sent to the server.RpcResponseParserclientResponseParser()Used byRpcClientHandler.handleReceive(RpcClientResponse, Span)to add tags about the response received from the server.SamplerFunction<RpcRequest>clientSampler()Returns an overriding sampling decision for a new trace.voidclose()static RpcTracingcreate(Tracing tracing)static RpcTracingcurrent()Returns the most recently created tracing component iff it hasn't been closed.static RpcTracing.BuildernewBuilder(Tracing tracing)RpcRequestParserserverRequestParser()Used byRpcServerHandler.handleReceive(RpcServerRequest)to add a span name and tags about the request before the server processes it.RpcResponseParserserverResponseParser()Used byRpcServerHandler.handleSend(RpcServerResponse, Span)to add tags about the response sent to the client.SamplerFunction<RpcRequest>serverSampler()Returns an overriding sampling decision for a new trace.RpcTracing.BuildertoBuilder()Tracingtracing()
-
Method Details
-
create
- Since:
- 5.8
-
newBuilder
- Since:
- 5.8
-
tracing
- Since:
- 5.8
-
clientRequestParser
Used byRpcClientHandler.handleSend(RpcClientRequest)to add a span name and tags about the request before it is sent to the server.- Since:
- 5.12
-
clientResponseParser
Used byRpcClientHandler.handleReceive(RpcClientResponse, Span)to add tags about the response received from the server.- Since:
- 5.12
-
serverRequestParser
Used byRpcServerHandler.handleReceive(RpcServerRequest)to add a span name and tags about the request before the server processes it.- Since:
- 5.12
-
serverResponseParser
Used byRpcServerHandler.handleSend(RpcServerResponse, Span)to add tags about the response sent to the client.- Since:
- 5.12
-
clientSampler
Returns an overriding sampling decision for a new trace. Defaults to ignore the request and use thetrace ID instead.This decision happens when a trace was not yet started in process. For example, you may be making an RPC request as a part of booting your application. You may want to opt-out of tracing client requests that did not originate from a server request.
- Since:
- 5.8
- See Also:
SamplerFunctions,RpcRuleSampler
-
serverSampler
Returns an overriding sampling decision for a new trace. Defaults to ignore the request and use thetrace ID instead.This decision happens when trace IDs were not in headers, or a sampling decision has not yet been made. For example, if a trace is already in progress, this function is not called. You can implement this to skip paths that you never want to trace.
- Since:
- 5.8
- See Also:
SamplerFunctions,RpcRuleSampler
-
toBuilder
-
current
Returns the most recently created tracing component iff it hasn't been closed. null otherwise.This object should not be cached.
- Since:
- 5.9
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Since:
- 5.9
-