Python jaegerclient tracer不报告reus

2024-05-29 06:08:25 发布

您现在位置:Python中文网/ 问答频道 /正文

使用示例代码跟踪celery 4.1.1中的任务。每个工人运行:

import logging
from jaeger_client import Config
import opentracing 

def get_tracer(service="Vienna"):
    config = Config(
        config={

            'sampler': {
                'type': 'const',
                'param': 1,
            },
            'logging': True,
        },
        service_name=service,
    )
    return config.initialize_tracer() or opentracing.global_tracer()

当我第一次启动celery并运行任务时,每个工作人员都会得到一个工作跟踪程序,并且每一个都有一个日志输出:

^{pr2}$

在全局跟踪程序运行之后 从Config.initialze_tracer(返回None)和日志警告Jaeger tracer already initialized, skipping。在

在控制台上观察tcpdump显示UDP包没有被发送,我想我得到了一个未初始化的默认跟踪程序,它正在使用noop reporter。在

我仔细研究了opentracing和jaeger_客户端中的代码,但我找不到一个规范的方法来解决这个问题。在


Tags: 代码fromimport程序clientconfig示例logging
1条回答
网友
1楼 · 发布于 2024-05-29 06:08:25
from jaeger_client import Config
def get_tracer(service="Vienna"):

    config = Config(
        config={
            'sampler': {
                'type': 'const',
                'param': 1,
            },
            'logging': True,
        },
        service_name=service,
     )

    tracer = config.initialize_tracer()
    if tracer is None:
        Config._initialized = False
        tracer = config.initialize_tracer()
    return tracer

相关问题 更多 >

    热门问题