리셋 되지 말자

Django Opentelemetry Tempo 연동 - 2 본문

Django

Django Opentelemetry Tempo 연동 - 2

kyeongjun-dev 2024. 1. 26. 00:18

Tempo로 trace 전송

Tempo는 이미 구성되어 있다고 가정 후, 진행합니다
config/wsgi.py 수정
- 수정 전 ( console exporter)

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

application = get_wsgi_application()

from django.http import HttpResponse

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import (
    BatchSpanProcessor,
    ConsoleSpanExporter,
)

trace.set_tracer_provider(TracerProvider())

trace.get_tracer_provider().add_span_processor(
    BatchSpanProcessor(ConsoleSpanExporter())
)

 

- 수정 후 (otlp exporter - localhost:4317)

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

application = get_wsgi_application()

from django.http import HttpResponse

from opentelemetry import trace
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import (
    BatchSpanProcessor,
    ConsoleSpanExporter,
)
from opentelemetry.sdk.resources import SERVICE_NAME, Resource

resource = Resource(attributes={
    "service.name": "service-django"
})

trace.set_tracer_provider(
    TracerProvider(resource=resource)
)

otlp_exporter = OTLPSpanExporter(endpoint=f"localhost:4317", insecure=True)
trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(otlp_exporter))

 

grafana에서 tempo 확인 - Resource Service Name에서 config/wsgi.py의  "service.name"에 지정한 "service-django" 선택

'Django' 카테고리의 다른 글

Django Opentelemetry 연동 - 1  (0) 2024.01.25
나중에 공부할 내용(ORM)  (0) 2022.04.28
원격실습 환경 구성  (0) 2022.04.16
ORM  (0) 2022.04.16
CSRF 토큰 오류  (0) 2021.12.21
Comments