Package brave.rpc

Class RpcRequest

    • Method Detail

      • method

        @Nullable
        public abstract String method()
        The unqualified, case-sensitive method name. Prefer the name defined in IDL to any mapped Java method name.

        Examples

        • gRPC - full method "grpc.health.v1.Health/Check" returns "Check"
        • Apache Dubbo - "demo.service.DemoService#sayHello()" command returns "sayHello"
        • Apache Thrift - full method "scribe.Log" returns "Log"

        Note: For IDL based services, such as Protocol Buffers, this may be different than the Java method name, or in a different case format.

        Returns:
        the RPC method name or null if unreadable.
        Since:
        5.8
      • service

        @Nullable
        public abstract String service()
        The fully-qualified, case-sensitive service path. Prefer the name defined in IDL to any mapped Java package name.

        Examples

        • gRPC - full method "grpc.health.v1.Health/Check" returns "grpc.health.v1.Health"
        • Apache Dubbo - "demo.service.DemoService#sayHello()" command returns "demo.service.DemoService"
        • Apache Thrift - full method "scribe.Log" returns "scribe"

        Note: For IDL based services, such as Protocol Buffers, this may be different than the Java package name, or in a different case format. Also, this is the definition of the service, not its deployment service name.

        Returns:
        the RPC namespace or null if unreadable.
        Since:
        5.8
      • startTimestamp

        public long startTimestamp()
        The timestamp in epoch microseconds of the beginning of this request or zero to take this implicitly from the current clock. Defaults to zero.

        This is helpful in two scenarios: late parsing and avoiding redundant timestamp overhead. If a server span, this helps reach the "original" beginning of the request, which is always prior to parsing.

        Note: Overriding has the same problems as using Span.start(long). For example, it can result in negative duration if the clock used is allowed to correct backwards. It can also result in misalignments in the trace, unless Tracing.Builder.clock(Clock) uses the same implementation.

        Since:
        5.12
        See Also:
        RpcResponse.finishTimestamp(), Span.start(long), Tracing.clock(TraceContext)
      • parseRemoteIpAndPort

        public boolean parseRemoteIpAndPort​(brave.Span span)
        Override and return true when it is possible to parse the remote IP and port from the delegate. Defaults to false.
        Since:
        5.12