From 0b7daf338930b2c49999f14308bcb57c1a2c23c6 Mon Sep 17 00:00:00 2001 From: ZeroZ_JQ Date: Wed, 30 Apr 2025 15:50:48 +0800 Subject: [PATCH] fix(api): standardize version specifier for httpx instrumentation in uv.lock and reorganize imports in ext_otel.py --- api/extensions/ext_otel.py | 13 ++++++------- api/uv.lock | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/api/extensions/ext_otel.py b/api/extensions/ext_otel.py index 7b02df6edf..bd2a148c26 100644 --- a/api/extensions/ext_otel.py +++ b/api/extensions/ext_otel.py @@ -6,16 +6,15 @@ import socket import sys from typing import Union +import httpx # To get httpx.Response type hint +import requests # To get requests.Response type hint from celery.signals import worker_init # type: ignore from flask_login import user_loaded_from_request, user_logged_in # type: ignore +from opentelemetry.semconv.trace import SpanAttributes from configs import dify_config from dify_app import DifyApp -import requests # To get requests.Response type hint -import httpx # To get httpx.Response type hint -from opentelemetry.semconv.trace import SpanAttributes - @user_logged_in.connect @user_loaded_from_request.connect @@ -111,9 +110,9 @@ def init_app(app: DifyApp): from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter from opentelemetry.instrumentation.celery import CeleryInstrumentor from opentelemetry.instrumentation.flask import FlaskInstrumentor - from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor - from opentelemetry.instrumentation.requests import RequestsInstrumentor from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor + from opentelemetry.instrumentation.requests import RequestsInstrumentor + from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor from opentelemetry.metrics import get_meter, get_meter_provider, set_meter_provider from opentelemetry.propagate import set_global_textmap from opentelemetry.propagators.b3 import B3Format @@ -130,7 +129,7 @@ def init_app(app: DifyApp): from opentelemetry.semconv.resource import ResourceAttributes from opentelemetry.trace import Span, get_tracer_provider, set_tracer_provider from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator - from opentelemetry.trace.status import StatusCode, Status + from opentelemetry.trace.status import Status, StatusCode setup_context_propagation() # Initialize OpenTelemetry diff --git a/api/uv.lock b/api/uv.lock index 32610762e8..4410889697 100644 --- a/api/uv.lock +++ b/api/uv.lock @@ -1373,7 +1373,7 @@ requires-dist = [ { name = "opentelemetry-instrumentation", specifier = "==0.48b0" }, { name = "opentelemetry-instrumentation-celery", specifier = "==0.48b0" }, { name = "opentelemetry-instrumentation-flask", specifier = "==0.48b0" }, - { name = "opentelemetry-instrumentation-httpx", specifier = ">=0.48b0" }, + { name = "opentelemetry-instrumentation-httpx", specifier = "==0.48b0" }, { name = "opentelemetry-instrumentation-requests", specifier = "==0.48b0" }, { name = "opentelemetry-instrumentation-sqlalchemy", specifier = "==0.48b0" }, { name = "opentelemetry-propagator-b3", specifier = "==1.27.0" },