3

I m using

<dependency>
    <groupId>org.lognet</groupId>
    <artifactId>grpc-spring-boot-starter</artifactId>
    <version>2.1.4</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>io.zipkin.brave</groupId>
    <artifactId>brave-instrumentation-grpc</artifactId>
    <version>4.13.1</version>
</dependency>

<dependency>
    <groupId>io.zipkin.brave</groupId>
    <artifactId>brave</artifactId>
    <version>4.13.1</version>
</dependency>

and I want to use brave-instrumentation-grpc monitor my grpc server application. So I followed advice below:

https://github.com/LogNet/grpc-spring-boot-starter#interceptors-support

https://github.com/openzipkin/brave/tree/master/instrumentation/grpc

@Configuration
public class GrpcFilterConfig{

    @GRpcGlobalInterceptor
    @Bean
    public ServerInterceptor globalInterceptor(){
        Tracing tracing = Tracing.newBuilder().build();
        GrpcTracing grpcTracing = GrpcTracing.create(tracing);
        return grpcTracing.newServerInterceptor();
    }
}

The question is : The GlobalInterceptor i defined does not bind to grpcserver.

debug deep insde the GRpcServerRunner.class, it seems that the code does not return beansWithAnnotation

Map<String, Object> beansWithAnnotation = this.applicationContext.getBeansWithAnnotation(annotationType);

beansWithAnnotation is null.

Is there something wrong with my usage?

zhatian diao
  • 163
  • 1
  • 9

0 Answers0