From ae1074c86d0593325839193399f0f995791503ef Mon Sep 17 00:00:00 2001 From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Thu, 19 Jun 2025 19:56:48 +0000 Subject: [PATCH 1/4] Rename InMemoryLogExporter to InMemoryLogRecordExporter --- .../tests/common/otel_mocker.py | 4 +- .../tests/conftest.py | 4 +- .../tests/conftest.py | 4 +- .../tests/test_chat_completions.py | 14 +- .../tests/test_function_calling.py | 10 +- .../tests/conftest.py | 4 +- .../django/middleware/otel_mocker.py | 232 ++++++++++++++++++ 7 files changed, 252 insertions(+), 20 deletions(-) create mode 100644 instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py diff --git a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py index fd87d424d9..bd47dd7a9f 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py +++ b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py @@ -26,7 +26,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import MeterProvider @@ -116,7 +116,7 @@ def data(self): class OTelMocker: def __init__(self): self._snapshot = None - self._logs = InMemoryLogExporter() + self._logs = InMemoryLogRecordExporter() self._traces = InMemorySpanExporter() self._metrics = InMemoryMetricReader() self._spans = [] diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py index 87505046aa..c3350cc94c 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( @@ -39,7 +39,7 @@ def fixture_span_exporter(): @pytest.fixture(scope="function", name="log_exporter") def fixture_log_exporter(): - exporter = InMemoryLogExporter() + exporter = InMemoryLogRecordExporter() yield exporter diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py index fb0956f0b5..c3155d3c3e 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py @@ -20,7 +20,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( @@ -46,7 +46,7 @@ def fixture_span_exporter(): @pytest.fixture(scope="function", name="log_exporter") def fixture_log_exporter(): - exporter = InMemoryLogExporter() + exporter = InMemoryLogRecordExporter() yield exporter diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py index 0b80bcb745..3778b216af 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py @@ -29,7 +29,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace import ReadableSpan from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( @@ -41,7 +41,7 @@ @pytest.mark.vcr def test_generate_content( span_exporter: InMemorySpanExporter, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, generate_content: GenerateContentFixture, instrument_with_content: VertexAIInstrumentor, ): @@ -111,7 +111,7 @@ def test_generate_content( @pytest.mark.vcr def test_generate_content_without_events( span_exporter: InMemorySpanExporter, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, generate_content: GenerateContentFixture, instrument_no_content: VertexAIInstrumentor, ): @@ -263,7 +263,7 @@ def test_generate_content_invalid_temperature( @pytest.mark.vcr def test_generate_content_invalid_role( - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, generate_content: GenerateContentFixture, instrument_with_content: VertexAIInstrumentor, ): @@ -355,7 +355,7 @@ def assert_span_error(span: ReadableSpan) -> None: @pytest.mark.vcr def test_generate_content_all_events( - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, generate_content: GenerateContentFixture, instrument_with_content: VertexAIInstrumentor, ): @@ -373,7 +373,7 @@ def test_generate_content_all_events( @pytest.mark.vcr def test_preview_generate_content_all_input_events( - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, generate_content: GenerateContentFixture, instrument_with_content: VertexAIInstrumentor, ): @@ -392,7 +392,7 @@ def test_preview_generate_content_all_input_events( def generate_content_all_input_events( model: GenerativeModel | PreviewGenerativeModel, generate_content: GenerateContentFixture, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, ): model.generate_content( [ diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py index cb8b6ab0df..bb4843a6b4 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py @@ -9,7 +9,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( InMemorySpanExporter, @@ -19,7 +19,7 @@ @pytest.mark.vcr def test_function_call_choice( span_exporter: InMemorySpanExporter, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, instrument_with_content: VertexAIInstrumentor, ): ask_about_weather() @@ -102,7 +102,7 @@ def test_function_call_choice( @pytest.mark.vcr def test_function_call_choice_no_content( - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, instrument_no_content: VertexAIInstrumentor, ): ask_about_weather() @@ -145,7 +145,7 @@ def test_function_call_choice_no_content( @pytest.mark.vcr def test_tool_events( span_exporter: InMemorySpanExporter, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, instrument_with_content: VertexAIInstrumentor, ): ask_about_weather_function_response() @@ -247,7 +247,7 @@ def test_tool_events( @pytest.mark.vcr def test_tool_events_no_content( span_exporter: InMemorySpanExporter, - log_exporter: InMemoryLogExporter, + log_exporter: InMemoryLogRecordExporter, instrument_no_content: VertexAIInstrumentor, ): ask_about_weather_function_response() diff --git a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py index 0c3f98fe2f..9f07f8658a 100644 --- a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py +++ b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( @@ -38,7 +38,7 @@ def fixture_span_exporter(): @pytest.fixture(scope="function", name="log_exporter") def fixture_log_exporter(): - exporter = InMemoryLogExporter() + exporter = InMemoryLogRecordExporter() yield exporter diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py new file mode 100644 index 0000000000..bd47dd7a9f --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py @@ -0,0 +1,232 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import opentelemetry._events +import opentelemetry._logs._internal +import opentelemetry.metrics._internal +import opentelemetry.trace +from opentelemetry._events import ( + get_event_logger_provider, + set_event_logger_provider, +) +from opentelemetry._logs import get_logger_provider, set_logger_provider +from opentelemetry.metrics import get_meter_provider, set_meter_provider +from opentelemetry.sdk._events import EventLoggerProvider +from opentelemetry.sdk._logs import LoggerProvider +from opentelemetry.sdk._logs.export import ( + InMemoryLogRecordExporter, + SimpleLogRecordProcessor, +) +from opentelemetry.sdk.metrics import MeterProvider +from opentelemetry.sdk.metrics._internal.export import InMemoryMetricReader +from opentelemetry.sdk.trace import TracerProvider +from opentelemetry.sdk.trace.export import SimpleSpanProcessor +from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( + InMemorySpanExporter, +) +from opentelemetry.trace import get_tracer_provider, set_tracer_provider +from opentelemetry.util._once import Once + + +def _bypass_otel_once(): + opentelemetry.trace._TRACER_PROVIDER_SET_ONCE = Once() + opentelemetry._logs._internal._LOGGER_PROVIDER_SET_ONCE = Once() + opentelemetry._events._EVENT_LOGGER_PROVIDER_SET_ONCE = Once() + opentelemetry.metrics._internal._METER_PROVIDER_SET_ONCE = Once() + + +class OTelProviderSnapshot: + def __init__(self): + self._tracer_provider = get_tracer_provider() + self._logger_provider = get_logger_provider() + self._event_logger_provider = get_event_logger_provider() + self._meter_provider = get_meter_provider() + + def restore(self): + _bypass_otel_once() + set_tracer_provider(self._tracer_provider) + set_logger_provider(self._logger_provider) + set_event_logger_provider(self._event_logger_provider) + set_meter_provider(self._meter_provider) + + +class _LogWrapper: + def __init__(self, log_data): + self._log_data = log_data + + @property + def scope(self): + return self._log_data.instrumentation_scope + + @property + def resource(self): + return self._log_data.log_record.resource + + @property + def attributes(self): + return self._log_data.log_record.attributes + + @property + def body(self): + return self._log_data.log_record.body + + def __str__(self): + return self._log_data.log_record.to_json() + + +class _MetricDataPointWrapper: + def __init__(self, resource, scope, metric): + self._resource = resource + self._scope = scope + self._metric = metric + + @property + def resource(self): + return self._resource + + @property + def scope(self): + return self._scope + + @property + def metric(self): + return self._metric + + @property + def name(self): + return self._metric.name + + @property + def data(self): + return self._metric.data + + +class OTelMocker: + def __init__(self): + self._snapshot = None + self._logs = InMemoryLogRecordExporter() + self._traces = InMemorySpanExporter() + self._metrics = InMemoryMetricReader() + self._spans = [] + self._finished_logs = [] + self._metrics_data = [] + + def install(self): + self._snapshot = OTelProviderSnapshot() + _bypass_otel_once() + self._install_logs() + self._install_metrics() + self._install_traces() + + def uninstall(self): + self._snapshot.restore() + + def get_finished_logs(self): + for log_data in self._logs.get_finished_logs(): + self._finished_logs.append(_LogWrapper(log_data)) + return self._finished_logs + + def get_finished_spans(self): + for span in self._traces.get_finished_spans(): + self._spans.append(span) + return self._spans + + def get_metrics_data(self): + data = self._metrics.get_metrics_data() + if data is not None: + for resource_metric in data.resource_metrics: + resource = resource_metric.resource + for scope_metrics in resource_metric.scope_metrics: + scope = scope_metrics.scope + for metric in scope_metrics.metrics: + wrapper = _MetricDataPointWrapper( + resource, scope, metric + ) + self._metrics_data.append(wrapper) + return self._metrics_data + + def get_span_named(self, name): + for span in self.get_finished_spans(): + if span.name == name: + return span + return None + + def assert_has_span_named(self, name): + span = self.get_span_named(name) + finished_spans = [span.name for span in self.get_finished_spans()] + assert ( + span is not None + ), f'Could not find span named "{name}"; finished spans: {finished_spans}' + + def assert_does_not_have_span_named(self, name): + span = self.get_span_named(name) + assert span is None, f"Found unexpected span named {name}" + + def get_event_named(self, event_name): + for event in self.get_finished_logs(): + event_name_attr = event.attributes.get("event.name") + if event_name_attr is None: + continue + if event_name_attr == event_name: + return event + return None + + def get_events_named(self, event_name): + result = [] + for event in self.get_finished_logs(): + event_name_attr = event.attributes.get("event.name") + if event_name_attr is None: + continue + if event_name_attr == event_name: + result.append(event) + return result + + def assert_has_event_named(self, name): + event = self.get_event_named(name) + finished_logs = self.get_finished_logs() + assert ( + event is not None + ), f'Could not find event named "{name}"; finished logs: {finished_logs}' + + def assert_does_not_have_event_named(self, name): + event = self.get_event_named(name) + assert event is None, f"Unexpected event: {event}" + + def get_metrics_data_named(self, name): + results = [] + for entry in self.get_metrics_data(): + if entry.name == name: + results.append(entry) + return results + + def assert_has_metrics_data_named(self, name): + data = self.get_metrics_data_named(name) + assert len(data) > 0 + + def _install_logs(self): + provider = LoggerProvider() + provider.add_log_record_processor(SimpleLogRecordProcessor(self._logs)) + set_logger_provider(provider) + event_provider = EventLoggerProvider(logger_provider=provider) + set_event_logger_provider(event_provider) + + def _install_metrics(self): + provider = MeterProvider(metric_readers=[self._metrics]) + set_meter_provider(provider) + + def _install_traces(self): + provider = TracerProvider() + provider.add_span_processor(SimpleSpanProcessor(self._traces)) + set_tracer_provider(provider) From 272e81c65b1f4d9fc634f42ca5787c8743ef2399 Mon Sep 17 00:00:00 2001 From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Thu, 19 Jun 2025 20:01:04 +0000 Subject: [PATCH 2/4] Remove added file --- .../django/middleware/otel_mocker.py | 232 ------------------ 1 file changed, 232 deletions(-) delete mode 100644 instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py deleted file mode 100644 index bd47dd7a9f..0000000000 --- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_mocker.py +++ /dev/null @@ -1,232 +0,0 @@ -# Copyright The OpenTelemetry Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -import opentelemetry._events -import opentelemetry._logs._internal -import opentelemetry.metrics._internal -import opentelemetry.trace -from opentelemetry._events import ( - get_event_logger_provider, - set_event_logger_provider, -) -from opentelemetry._logs import get_logger_provider, set_logger_provider -from opentelemetry.metrics import get_meter_provider, set_meter_provider -from opentelemetry.sdk._events import EventLoggerProvider -from opentelemetry.sdk._logs import LoggerProvider -from opentelemetry.sdk._logs.export import ( - InMemoryLogRecordExporter, - SimpleLogRecordProcessor, -) -from opentelemetry.sdk.metrics import MeterProvider -from opentelemetry.sdk.metrics._internal.export import InMemoryMetricReader -from opentelemetry.sdk.trace import TracerProvider -from opentelemetry.sdk.trace.export import SimpleSpanProcessor -from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( - InMemorySpanExporter, -) -from opentelemetry.trace import get_tracer_provider, set_tracer_provider -from opentelemetry.util._once import Once - - -def _bypass_otel_once(): - opentelemetry.trace._TRACER_PROVIDER_SET_ONCE = Once() - opentelemetry._logs._internal._LOGGER_PROVIDER_SET_ONCE = Once() - opentelemetry._events._EVENT_LOGGER_PROVIDER_SET_ONCE = Once() - opentelemetry.metrics._internal._METER_PROVIDER_SET_ONCE = Once() - - -class OTelProviderSnapshot: - def __init__(self): - self._tracer_provider = get_tracer_provider() - self._logger_provider = get_logger_provider() - self._event_logger_provider = get_event_logger_provider() - self._meter_provider = get_meter_provider() - - def restore(self): - _bypass_otel_once() - set_tracer_provider(self._tracer_provider) - set_logger_provider(self._logger_provider) - set_event_logger_provider(self._event_logger_provider) - set_meter_provider(self._meter_provider) - - -class _LogWrapper: - def __init__(self, log_data): - self._log_data = log_data - - @property - def scope(self): - return self._log_data.instrumentation_scope - - @property - def resource(self): - return self._log_data.log_record.resource - - @property - def attributes(self): - return self._log_data.log_record.attributes - - @property - def body(self): - return self._log_data.log_record.body - - def __str__(self): - return self._log_data.log_record.to_json() - - -class _MetricDataPointWrapper: - def __init__(self, resource, scope, metric): - self._resource = resource - self._scope = scope - self._metric = metric - - @property - def resource(self): - return self._resource - - @property - def scope(self): - return self._scope - - @property - def metric(self): - return self._metric - - @property - def name(self): - return self._metric.name - - @property - def data(self): - return self._metric.data - - -class OTelMocker: - def __init__(self): - self._snapshot = None - self._logs = InMemoryLogRecordExporter() - self._traces = InMemorySpanExporter() - self._metrics = InMemoryMetricReader() - self._spans = [] - self._finished_logs = [] - self._metrics_data = [] - - def install(self): - self._snapshot = OTelProviderSnapshot() - _bypass_otel_once() - self._install_logs() - self._install_metrics() - self._install_traces() - - def uninstall(self): - self._snapshot.restore() - - def get_finished_logs(self): - for log_data in self._logs.get_finished_logs(): - self._finished_logs.append(_LogWrapper(log_data)) - return self._finished_logs - - def get_finished_spans(self): - for span in self._traces.get_finished_spans(): - self._spans.append(span) - return self._spans - - def get_metrics_data(self): - data = self._metrics.get_metrics_data() - if data is not None: - for resource_metric in data.resource_metrics: - resource = resource_metric.resource - for scope_metrics in resource_metric.scope_metrics: - scope = scope_metrics.scope - for metric in scope_metrics.metrics: - wrapper = _MetricDataPointWrapper( - resource, scope, metric - ) - self._metrics_data.append(wrapper) - return self._metrics_data - - def get_span_named(self, name): - for span in self.get_finished_spans(): - if span.name == name: - return span - return None - - def assert_has_span_named(self, name): - span = self.get_span_named(name) - finished_spans = [span.name for span in self.get_finished_spans()] - assert ( - span is not None - ), f'Could not find span named "{name}"; finished spans: {finished_spans}' - - def assert_does_not_have_span_named(self, name): - span = self.get_span_named(name) - assert span is None, f"Found unexpected span named {name}" - - def get_event_named(self, event_name): - for event in self.get_finished_logs(): - event_name_attr = event.attributes.get("event.name") - if event_name_attr is None: - continue - if event_name_attr == event_name: - return event - return None - - def get_events_named(self, event_name): - result = [] - for event in self.get_finished_logs(): - event_name_attr = event.attributes.get("event.name") - if event_name_attr is None: - continue - if event_name_attr == event_name: - result.append(event) - return result - - def assert_has_event_named(self, name): - event = self.get_event_named(name) - finished_logs = self.get_finished_logs() - assert ( - event is not None - ), f'Could not find event named "{name}"; finished logs: {finished_logs}' - - def assert_does_not_have_event_named(self, name): - event = self.get_event_named(name) - assert event is None, f"Unexpected event: {event}" - - def get_metrics_data_named(self, name): - results = [] - for entry in self.get_metrics_data(): - if entry.name == name: - results.append(entry) - return results - - def assert_has_metrics_data_named(self, name): - data = self.get_metrics_data_named(name) - assert len(data) > 0 - - def _install_logs(self): - provider = LoggerProvider() - provider.add_log_record_processor(SimpleLogRecordProcessor(self._logs)) - set_logger_provider(provider) - event_provider = EventLoggerProvider(logger_provider=provider) - set_event_logger_provider(event_provider) - - def _install_metrics(self): - provider = MeterProvider(metric_readers=[self._metrics]) - set_meter_provider(provider) - - def _install_traces(self): - provider = TracerProvider() - provider.add_span_processor(SimpleSpanProcessor(self._traces)) - set_tracer_provider(provider) From 5bd0058de5239e41fb144eb24202f94efd8a2d8b Mon Sep 17 00:00:00 2001 From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Mon, 30 Jun 2025 11:29:13 -0700 Subject: [PATCH 3/4] Update --- .../tests/common/otel_mocker.py | 2 +- .../opentelemetry-instrumentation-openai-v2/tests/conftest.py | 2 +- .../opentelemetry-instrumentation-vertexai/tests/conftest.py | 2 +- .../tests/test_chat_completions.py | 2 +- .../tests/test_function_calling.py | 2 +- .../opentelemetry-instrumentation-botocore/tests/conftest.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py index bd47dd7a9f..bf659fcc4e 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py +++ b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py @@ -26,7 +26,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import MeterProvider diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py index c3350cc94c..a07b332207 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py index c3155d3c3e..3f22c45160 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py @@ -20,7 +20,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py index 3778b216af..74cffbe59c 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py @@ -29,7 +29,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace import ReadableSpan from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py index bb4843a6b4..f21184ffb4 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py @@ -9,7 +9,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( InMemorySpanExporter, diff --git a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py index 9f07f8658a..1599776bef 100644 --- a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py +++ b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogRecordExporter, + InMemoryLogExporter as InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( From a5b8c2cb749b06a05da7f15fa26ea41540e1e21c Mon Sep 17 00:00:00 2001 From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Tue, 1 Jul 2025 18:06:06 +0000 Subject: [PATCH 4/4] Remove alias --- .../tests/common/otel_mocker.py | 2 +- .../opentelemetry-instrumentation-openai-v2/tests/conftest.py | 2 +- .../opentelemetry-instrumentation-vertexai/tests/conftest.py | 2 +- .../tests/test_chat_completions.py | 2 +- .../tests/test_function_calling.py | 2 +- .../opentelemetry-instrumentation-botocore/tests/conftest.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py index bf659fcc4e..bd47dd7a9f 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py +++ b/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py @@ -26,7 +26,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import MeterProvider diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py index a07b332207..c3350cc94c 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py index 3f22c45160..c3155d3c3e 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py @@ -20,7 +20,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py index 74cffbe59c..3778b216af 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py @@ -29,7 +29,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace import ReadableSpan from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( diff --git a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py index f21184ffb4..bb4843a6b4 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py +++ b/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py @@ -9,7 +9,7 @@ from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, ) from opentelemetry.sdk.trace.export.in_memory_span_exporter import ( InMemorySpanExporter, diff --git a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py index 1599776bef..9f07f8658a 100644 --- a/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py +++ b/instrumentation/opentelemetry-instrumentation-botocore/tests/conftest.py @@ -14,7 +14,7 @@ from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider from opentelemetry.sdk._logs.export import ( - InMemoryLogExporter as InMemoryLogRecordExporter, + InMemoryLogRecordExporter, SimpleLogRecordProcessor, ) from opentelemetry.sdk.metrics import (