diff --git a/tests/test_tracing.py b/tests/test_tracing.py index 5cc855d7..25cdd2d9 100644 --- a/tests/test_tracing.py +++ b/tests/test_tracing.py @@ -14,6 +14,12 @@ import pytest +from opentelemetry import trace as trace_api +from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import ( + OTLPSpanExporter, +) +from opentelemetry.sdk import trace as trace_sdk +from opentelemetry.sdk.trace.export import BatchSpanProcessor from veadk.tracing.telemetry.exporters.apmplus_exporter import ( APMPlusExporter, @@ -29,17 +35,11 @@ ) from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer -from opentelemetry import trace as trace_api -from opentelemetry.sdk import trace as trace_sdk -from opentelemetry.sdk.trace.export import BatchSpanProcessor -from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import ( - OTLPSpanExporter, - ) - APP_NAME = "app" USER_ID = "testuser" SESSION_ID = "testsession" + def init_exporters(): cozeloop_exporter = CozeloopExporter( config=CozeloopExporterConfig( @@ -68,6 +68,7 @@ def init_exporters(): ) return [cozeloop_exporter, apmplus_exporter, tls_exporter] + def gen_span_processor(endpoint: str): otlp_exporter = OTLPSpanExporter( endpoint=endpoint, @@ -75,6 +76,7 @@ def gen_span_processor(endpoint: str): span_processor = BatchSpanProcessor(otlp_exporter) return span_processor + @pytest.mark.asyncio async def test_tracing(): exporters = init_exporters() @@ -86,6 +88,7 @@ async def test_tracing(): # TODO: Ensure the tracing provider is set correctly after loading SDK # TODO: Ensure the tracing provider is set correctly after loading SDK + @pytest.mark.asyncio async def test_tracing_with_global_provider(): exporters = init_exporters() @@ -113,5 +116,3 @@ async def test_tracing_with_apmplus_global_provider(): # apmplus exporter won't init again assert len(tracer.exporters) == 4 # with extra 2 built-in exporters - - diff --git a/veadk/tracing/telemetry/opentelemetry_tracer.py b/veadk/tracing/telemetry/opentelemetry_tracer.py index f3a0e1e7..d579a0d4 100644 --- a/veadk/tracing/telemetry/opentelemetry_tracer.py +++ b/veadk/tracing/telemetry/opentelemetry_tracer.py @@ -19,12 +19,11 @@ from typing import Any from openinference.instrumentation.google_adk import GoogleADKInstrumentor -from opentelemetry.sdk import trace as trace_sdk from opentelemetry import trace as trace_api +from opentelemetry.sdk import trace as trace_sdk from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor, SimpleSpanProcessor - from pydantic import BaseModel, ConfigDict, Field from typing_extensions import override @@ -112,7 +111,7 @@ def _init_tracer_provider(self): if not isinstance(global_tracer_provider, TracerProvider): logger.info( - f"Global tracer provider has not been set. Create tracer provider and set it now." + "Global tracer provider has not been set. Create tracer provider and set it now." ) # 1.1 init tracer provider tracer_provider = trace_sdk.TracerProvider() @@ -144,7 +143,6 @@ def _init_tracer_provider(self): self._processors.append(processor) logger.debug(f"Init OpentelemetryTracer with {len(self.exporters)} exporters.") - @override def dump( self,