Skip to content

Commit

Permalink
🐛 Fix OpenTelemetry endpoint URL creation (#6802)
Browse files Browse the repository at this point in the history
  • Loading branch information
giancarloromeo authored Nov 22, 2024
1 parent 3655208 commit f28db63
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 5 deletions.
1 change: 1 addition & 0 deletions packages/service-library/requirements/_base.in
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ repro-zipfile
tenacity
toolz
tqdm
yarl
1 change: 1 addition & 0 deletions packages/service-library/requirements/_base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,7 @@ wrapt==1.16.0
# opentelemetry-instrumentation-redis
yarl==1.12.1
# via
# -r requirements/_base.in
# aio-pika
# aiohttp
# aiormq
Expand Down
8 changes: 4 additions & 4 deletions packages/service-library/src/servicelib/aiohttp/tracing.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from servicelib.logging_utils import log_context
from settings_library.tracing import TracingSettings
from yarl import URL

_logger = logging.getLogger(__name__)
try:
Expand Down Expand Up @@ -54,7 +55,7 @@ def setup_tracing(
"""
_ = app
opentelemetry_collector_endpoint = (
tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT
f"{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}"
)
opentelemetry_collector_port = tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT
if not opentelemetry_collector_endpoint and not opentelemetry_collector_port:
Expand All @@ -72,9 +73,8 @@ def setup_tracing(
resource = Resource(attributes={"service.name": service_name})
trace.set_tracer_provider(TracerProvider(resource=resource))
tracer_provider: trace.TracerProvider = trace.get_tracer_provider()
tracing_destination: str = (
f"{opentelemetry_collector_endpoint}:{opentelemetry_collector_port}/v1/traces"
)

tracing_destination: str = f"{URL(opentelemetry_collector_endpoint).with_port(opentelemetry_collector_port).with_path('/v1/traces')}"

_logger.info(
"Trying to connect service %s to tracing collector at %s.",
Expand Down
9 changes: 8 additions & 1 deletion packages/service-library/src/servicelib/fastapi/tracing.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from servicelib.logging_utils import log_context
from settings_library.tracing import TracingSettings
from yarl import URL

_logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -75,7 +76,13 @@ def setup_tracing(
trace.set_tracer_provider(TracerProvider(resource=resource))
global_tracer_provider = trace.get_tracer_provider()
assert isinstance(global_tracer_provider, TracerProvider) # nosec
tracing_destination: str = f"{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}:{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT}/v1/traces"

opentelemetry_collector_endpoint: str = (
f"{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}"
)

tracing_destination: str = f"{URL(opentelemetry_collector_endpoint).with_port(tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT).with_path('/v1/traces')}"

_logger.info(
"Trying to connect service %s to opentelemetry tracing collector at %s.",
service_name,
Expand Down

0 comments on commit f28db63

Please sign in to comment.