我正在使用py_zipkin和flask_zipkin来检测我的python服务。我有一个问题,当我从服务A向服务B发送请求时,zipkin没有存储任何client_send或client_receive批注。
我的环境如下:服务A是一个简单的python应用程序,它正在向作为烧瓶应用程序的服务B发送http get请求。对于服务A,我正在使用py_zipkin,对于服务B,则使用flask_zipkin。
我正在服务A中启动请求,如下所示:
with zipkin.zipkin_span(
service_name='demoDeviceRunner.runner_service.runner_service',
span_name='collect',
transport_handler=http_transport,
sample_rate=100,
) as zipkin_context:
uri = 'http://{}:{}/demodevice/collector_service/data'.format(self.get_service_host(), self.get_service_port())
resp = requests.get(uri, headers=zipkin.create_http_headers_for_new_span())
if resp.status_code != 200:
raise Exception('{}\n{}'.format(uri, resp))
return resp.json()
我正确接收了两个跨度,它们也已连接。但是,在第二个(代表我的Flask服务)范围中,我看不到client_receive和client_send批注。
那么我在做什么错了?
最诚挚的问候
马丁