SpringCloud RPC
2023-12-01 16:23 更新
Sleuth会自动配置RpcTracing
bean,它是RPC工具(例如gRPC或Dubbo)的基础。
如果需要自定义RPC跟踪的客户端/服务器采样,只需注册类型为brave.sampler.SamplerFunction<RpcRequest>
的bean,并将bean sleuthRpcClientSampler
命名为客户端采样器,将sleuthRpcServerSampler
命名为服务器采样器。
为了方便起见,可以使用@RpcClientSampler
和@RpcServerSampler
批注来注入正确的beans或通过其静态字符串NAME
字段引用bean名称。
例如 这是一个每秒跟踪100个“ GetUserToken”服务器请求的采样器。这不会启动对运行状况检查服务的请求的新跟踪。其他请求将使用全局采样配置。
@Configuration class Config { @Bean(name = RpcServerSampler.NAME) SamplerFunction<RpcRequest> myRpcSampler() { Matcher<RpcRequest> userAuth = and(serviceEquals("users.UserService"), methodEquals("GetUserToken")); return RpcRuleSampler.newBuilder() .putRule(serviceEquals("grpc.health.v1.Health"), Sampler.NEVER_SAMPLE) .putRule(userAuth, RateLimitingSampler.create(100)).build(); } }
有关更多信息,请参见https://github.com/openzipkin/brave/tree/master/instrumentation/rpc#sampling-policy
以上内容是否对您有帮助:
更多建议: