Jaeger traceID в заголовках ответов

Я играю с JaegerTracing в Django, используя учебник https://github.com/contino/jaeger-django-docker-tutorial. Теперь я не знаю, как извлечь traceId из заголовков ответов, потому что его там нет.

При нахождении следов в Jaeger UI он возвращает ответ с данными (см. Также снимок экрана ниже):

{
    "data": [{
        "traceID": "885bef8bbc18649c",
        "spans": [{
            "traceID": "885bef8bbc18649c",
            "spanID": "cc4a59c2161aa05d",
            "flags": 1,
            "operationName": "test",
            "references": [],
            "startTime": 1576579367614065,
            "duration": 430,
            "tags": [{
                "key": "sampler.type",
                "type": "string",
                "value": "const"
            }, {
                "key": "sampler.param",
                "type": "bool",
                "value": true
            }, {
                "key": "component",
                "type": "string",
                "value": "django"
            }, {
                "key": "span.kind",
                "type": "string",
                "value": "server"
            }, {
                "key": "http.method",
                "type": "string",
                "value": "GET"
            }, {
                "key": "http.url",
                "type": "string",
                "value": "/polls/test/"
            }, {
                "key": "path",
                "type": "string",
                "value": "/polls/test/"
            }, {
                "key": "method",
                "type": "string",
                "value": "GET"
            }, {
                "key": "http.status_code",
                "type": "int64",
                "value": 200
            }],
            "logs": [],
            "processID": "p1",
            "warnings": null
        }],
        "processes": {
            "p1": {
                "serviceName": "polls_app",
                "tags": [{
                    "key": "hostname",
                    "type": "string",
                    "value": "12625857e878"
                }, {
                    "key": "ip",
                    "type": "string",
                    "value": "172.23.0.3"
                }, {
                    "key": "jaeger.version",
                    "type": "string",
                    "value": "Python-3.13.1.dev0"
                }]
            }
        },
        "warnings": null
    }],
    "total": 0,
    "limit": 0,
    "offset": 0,
    "errors": null
}

введите здесь описание изображения

Я подозревал это в заголовках ответов, но это не так.

Как я могу это сделать?


person Альберт Александров    schedule 17.12.2019    source источник
comment
Обычно инструментарий OpenTracing не отправляет дополнительные заголовки в ответе, потому что для корреляции событий достаточно отправлять только заголовки в запросах. Тем не менее, это было темой обсуждения на последней личной встрече рабочей группы W3C Trace Context в Сиэтле. Из вашего вопроса неясно, чего вы пытаетесь достичь с помощью заголовков ответов.   -  person Yuri Shkuro    schedule 17.12.2019
comment
Я хотел бы иметь доступ к определенным журналам запросов по идентификатору трассировки. Спасибо за Ваш ответ.   -  person Альберт Александров    schedule 18.12.2019


Ответы (1)


Узнал как. Я просто добавил одну строку кода в tracing.py библиотеки django_opentracing:

введите здесь описание изображения

И результат:

введите здесь описание изображения

person Альберт Александров    schedule 18.12.2019