Skip to content

Commit 38bc548

Browse files
authored
Rename InMemoryLogExporter to InMemoryLogRecordExporter (#3589)
* Rename InMemoryLogExporter to InMemoryLogRecordExporter * Remove added file * Update * Remove alias * Update * Added backward compatibility in imports * Lint * Lint * Lint for real this time :)
1 parent ccea42c commit 38bc548

File tree

9 files changed

+117
-50
lines changed

9 files changed

+117
-50
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2828
- `opentelemetry-instrumentation-aiohttp-server`: add support for custom header captures via `OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST` and `OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE`
2929
([#3916](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3916))
3030
- `opentelemetry-instrumentation-redis`: add support for `suppress_instrumentation` context manager for both sync and async Redis clients and pipelines
31+
- Update for Log SDK breaking changes. Rename InMemoryLogExporter to InMemoryLogRecordExporter in several tests
32+
([#3850](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3589))
3133

3234
### Fixed
3335

instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/common/otel_mocker.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,21 @@
2222
)
2323
from opentelemetry.metrics import get_meter_provider, set_meter_provider
2424
from opentelemetry.sdk._logs import LoggerProvider
25-
from opentelemetry.sdk._logs.export import (
26-
InMemoryLogExporter,
27-
SimpleLogRecordProcessor,
28-
)
25+
26+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
27+
try:
28+
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
29+
InMemoryLogRecordExporter,
30+
SimpleLogRecordProcessor,
31+
)
32+
except ImportError:
33+
# Fallback to old name for compatibility with older SDK versions
34+
from opentelemetry.sdk._logs.export import (
35+
InMemoryLogExporter as InMemoryLogRecordExporter,
36+
)
37+
from opentelemetry.sdk._logs.export import (
38+
SimpleLogRecordProcessor,
39+
)
2940
from opentelemetry.sdk.metrics import MeterProvider
3041
from opentelemetry.sdk.metrics._internal.export import InMemoryMetricReader
3142
from opentelemetry.sdk.trace import TracerProvider
@@ -114,7 +125,7 @@ def data(self):
114125
class OTelMocker:
115126
def __init__(self):
116127
self._snapshot = None
117-
self._logs = InMemoryLogExporter()
128+
self._logs = InMemoryLogRecordExporter()
118129
self._traces = InMemorySpanExporter()
119130
self._metrics = InMemoryMetricReader()
120131
self._spans = []

instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,21 @@
1212
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT,
1313
)
1414
from opentelemetry.sdk._logs import LoggerProvider
15-
from opentelemetry.sdk._logs.export import (
16-
InMemoryLogExporter,
17-
SimpleLogRecordProcessor,
18-
)
15+
16+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
17+
try:
18+
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
19+
InMemoryLogRecordExporter,
20+
SimpleLogRecordProcessor,
21+
)
22+
except ImportError:
23+
# Fallback to old name for compatibility with older SDK versions
24+
from opentelemetry.sdk._logs.export import (
25+
InMemoryLogExporter as InMemoryLogRecordExporter,
26+
)
27+
from opentelemetry.sdk._logs.export import (
28+
SimpleLogRecordProcessor,
29+
)
1930
from opentelemetry.sdk.metrics import (
2031
MeterProvider,
2132
)
@@ -38,7 +49,7 @@ def fixture_span_exporter():
3849

3950
@pytest.fixture(scope="function", name="log_exporter")
4051
def fixture_log_exporter():
41-
exporter = InMemoryLogExporter()
52+
exporter = InMemoryLogRecordExporter()
4253
yield exporter
4354

4455

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,21 @@
3939
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT,
4040
)
4141
from opentelemetry.sdk._logs import LoggerProvider
42-
from opentelemetry.sdk._logs.export import (
43-
InMemoryLogExporter,
44-
SimpleLogRecordProcessor,
45-
)
42+
43+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
44+
try:
45+
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
46+
InMemoryLogRecordExporter,
47+
SimpleLogRecordProcessor,
48+
)
49+
except ImportError:
50+
# Fallback to old name for compatibility with older SDK versions
51+
from opentelemetry.sdk._logs.export import (
52+
InMemoryLogExporter as InMemoryLogRecordExporter,
53+
)
54+
from opentelemetry.sdk._logs.export import (
55+
SimpleLogRecordProcessor,
56+
)
4657
from opentelemetry.sdk.metrics import (
4758
MeterProvider,
4859
)
@@ -66,7 +77,7 @@ def fixture_span_exporter():
6677

6778
@pytest.fixture(scope="function", name="log_exporter")
6879
def fixture_log_exporter():
69-
exporter = InMemoryLogExporter()
80+
exporter = InMemoryLogRecordExporter()
7081
yield exporter
7182

7283

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,17 @@
1313
)
1414

1515
from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
16-
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
17-
InMemoryLogExporter,
18-
)
16+
17+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
18+
try:
19+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
20+
InMemoryLogRecordExporter,
21+
)
22+
except ImportError:
23+
# Fallback to old name for compatibility with older SDK versions
24+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
25+
InMemoryLogExporter as InMemoryLogRecordExporter,
26+
)
1927
from opentelemetry.sdk.trace import ReadableSpan
2028
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
2129
InMemorySpanExporter,
@@ -26,7 +34,7 @@
2634
@pytest.mark.vcr()
2735
def test_generate_content(
2836
span_exporter: InMemorySpanExporter,
29-
log_exporter: InMemoryLogExporter,
37+
log_exporter: InMemoryLogRecordExporter,
3038
generate_content: callable,
3139
instrument_with_content: VertexAIInstrumentor,
3240
):
@@ -94,7 +102,7 @@ def test_generate_content(
94102
@pytest.mark.vcr()
95103
def test_generate_content_without_events(
96104
span_exporter: InMemorySpanExporter,
97-
log_exporter: InMemoryLogExporter,
105+
log_exporter: InMemoryLogRecordExporter,
98106
generate_content: callable,
99107
instrument_no_content: VertexAIInstrumentor,
100108
):
@@ -242,7 +250,7 @@ def test_generate_content_invalid_temperature(
242250

243251
@pytest.mark.vcr()
244252
def test_generate_content_invalid_role(
245-
log_exporter: InMemoryLogExporter,
253+
log_exporter: InMemoryLogRecordExporter,
246254
generate_content: callable,
247255
instrument_with_content: VertexAIInstrumentor,
248256
):
@@ -335,7 +343,7 @@ def assert_span_error(span: ReadableSpan) -> None:
335343

336344
@pytest.mark.vcr()
337345
def test_generate_content_all_events(
338-
log_exporter: InMemoryLogExporter,
346+
log_exporter: InMemoryLogRecordExporter,
339347
generate_content: callable,
340348
instrument_with_content: VertexAIInstrumentor,
341349
):
@@ -353,7 +361,7 @@ def test_generate_content_all_events(
353361

354362
@pytest.mark.vcr()
355363
def test_preview_generate_content_all_input_events(
356-
log_exporter: InMemoryLogExporter,
364+
log_exporter: InMemoryLogRecordExporter,
357365
generate_content: callable,
358366
instrument_with_content: VertexAIInstrumentor,
359367
):
@@ -371,7 +379,7 @@ def test_preview_generate_content_all_input_events(
371379

372380
def generate_content_all_input_events(
373381
model: GenerativeModel | PreviewGenerativeModel,
374-
log_exporter: InMemoryLogExporter,
382+
log_exporter: InMemoryLogRecordExporter,
375383
instrument_with_content: VertexAIInstrumentor,
376384
):
377385
model.generate_content(

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_chat_completions_experimental.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,17 @@
1414
)
1515

1616
from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
17-
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
18-
InMemoryLogExporter,
19-
)
17+
18+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
19+
try:
20+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
21+
InMemoryLogRecordExporter,
22+
)
23+
except ImportError:
24+
# Fallback to old name for compatibility with older SDK versions
25+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
26+
InMemoryLogExporter as InMemoryLogRecordExporter,
27+
)
2028
from opentelemetry.sdk.trace import ReadableSpan
2129
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
2230
InMemorySpanExporter,
@@ -27,7 +35,7 @@
2735
@pytest.mark.vcr()
2836
def test_generate_content_with_files(
2937
span_exporter: InMemorySpanExporter,
30-
log_exporter: InMemoryLogExporter,
38+
log_exporter: InMemoryLogRecordExporter,
3139
generate_content: callable,
3240
instrument_with_experimental_semconvs: VertexAIInstrumentor,
3341
):
@@ -113,7 +121,7 @@ def test_generate_content_with_files(
113121
@pytest.mark.vcr()
114122
def test_generate_content_without_events(
115123
span_exporter: InMemorySpanExporter,
116-
log_exporter: InMemoryLogExporter,
124+
log_exporter: InMemoryLogRecordExporter,
117125
generate_content: callable,
118126
instrument_with_experimental_semconvs: VertexAIInstrumentor,
119127
):
@@ -274,7 +282,7 @@ def test_generate_content_invalid_temperature(
274282

275283
@pytest.mark.vcr()
276284
def test_generate_content_invalid_role(
277-
log_exporter: InMemoryLogExporter,
285+
log_exporter: InMemoryLogRecordExporter,
278286
generate_content: callable,
279287
instrument_with_experimental_semconvs: VertexAIInstrumentor,
280288
):
@@ -371,7 +379,7 @@ def assert_span_error(span: ReadableSpan) -> None:
371379

372380
@pytest.mark.vcr()
373381
def test_generate_content_all_events(
374-
log_exporter: InMemoryLogExporter,
382+
log_exporter: InMemoryLogRecordExporter,
375383
generate_content: callable,
376384
instrument_with_experimental_semconvs: VertexAIInstrumentor,
377385
):
@@ -389,7 +397,7 @@ def test_generate_content_all_events(
389397

390398
@pytest.mark.vcr()
391399
def test_preview_generate_content_all_input_events(
392-
log_exporter: InMemoryLogExporter,
400+
log_exporter: InMemoryLogRecordExporter,
393401
generate_content: callable,
394402
instrument_with_experimental_semconvs: VertexAIInstrumentor,
395403
):
@@ -407,7 +415,7 @@ def test_preview_generate_content_all_input_events(
407415

408416
def generate_content_all_input_events(
409417
model: GenerativeModel | PreviewGenerativeModel,
410-
log_exporter: InMemoryLogExporter,
418+
log_exporter: InMemoryLogRecordExporter,
411419
instrument_with_experimental_semconvs: VertexAIInstrumentor,
412420
):
413421
model.generate_content(

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,17 @@
55
)
66

77
from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
8-
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
9-
InMemoryLogExporter,
10-
)
8+
9+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
10+
try:
11+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
12+
InMemoryLogRecordExporter,
13+
)
14+
except ImportError:
15+
# Fallback to old name for compatibility with older SDK versions
16+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
17+
InMemoryLogExporter as InMemoryLogRecordExporter,
18+
)
1119
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
1220
InMemorySpanExporter,
1321
)
@@ -16,7 +24,7 @@
1624
@pytest.mark.vcr()
1725
def test_function_call_choice(
1826
span_exporter: InMemorySpanExporter,
19-
log_exporter: InMemoryLogExporter,
27+
log_exporter: InMemoryLogRecordExporter,
2028
instrument_with_content: VertexAIInstrumentor,
2129
generate_content: callable,
2230
):
@@ -96,7 +104,7 @@ def test_function_call_choice(
96104

97105
@pytest.mark.vcr()
98106
def test_function_call_choice_no_content(
99-
log_exporter: InMemoryLogExporter,
107+
log_exporter: InMemoryLogRecordExporter,
100108
instrument_no_content: VertexAIInstrumentor,
101109
generate_content: callable,
102110
):
@@ -136,7 +144,7 @@ def test_function_call_choice_no_content(
136144
@pytest.mark.vcr()
137145
def test_tool_events(
138146
span_exporter: InMemorySpanExporter,
139-
log_exporter: InMemoryLogExporter,
147+
log_exporter: InMemoryLogRecordExporter,
140148
instrument_with_content: VertexAIInstrumentor,
141149
generate_content: callable,
142150
):
@@ -228,7 +236,7 @@ def test_tool_events(
228236
@pytest.mark.vcr()
229237
def test_tool_events_no_content(
230238
span_exporter: InMemorySpanExporter,
231-
log_exporter: InMemoryLogExporter,
239+
log_exporter: InMemoryLogRecordExporter,
232240
instrument_no_content: VertexAIInstrumentor,
233241
generate_content: callable,
234242
):

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/test_function_calling_experimental.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,25 @@
1010
)
1111

1212
from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
13-
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
14-
InMemoryLogExporter,
15-
)
13+
14+
# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
15+
try:
16+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
17+
InMemoryLogRecordExporter,
18+
)
19+
except ImportError:
20+
# Fallback to old name for compatibility with older SDK versions
21+
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
22+
InMemoryLogExporter as InMemoryLogRecordExporter,
23+
)
1624
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
1725
InMemorySpanExporter,
1826
)
1927

2028

2129
def test_function_call_choice(
2230
span_exporter: InMemorySpanExporter,
23-
log_exporter: InMemoryLogExporter,
31+
log_exporter: InMemoryLogRecordExporter,
2432
instrument_with_experimental_semconvs: VertexAIInstrumentor,
2533
generate_content: callable,
2634
):
@@ -92,7 +100,7 @@ def test_function_call_choice(
92100

93101
@pytest.mark.vcr()
94102
def test_function_call_choice_no_content(
95-
log_exporter: InMemoryLogExporter,
103+
log_exporter: InMemoryLogRecordExporter,
96104
instrument_no_content_with_experimental_semconvs: VertexAIInstrumentor,
97105
generate_content: callable,
98106
):
@@ -117,7 +125,7 @@ def test_function_call_choice_no_content(
117125
@pytest.mark.vcr()
118126
def test_tool_events(
119127
span_exporter: InMemorySpanExporter,
120-
log_exporter: InMemoryLogExporter,
128+
log_exporter: InMemoryLogRecordExporter,
121129
instrument_with_experimental_semconvs: VertexAIInstrumentor,
122130
generate_content: callable,
123131
):
@@ -216,7 +224,7 @@ def test_tool_events(
216224
@pytest.mark.vcr()
217225
def test_tool_events_no_content(
218226
span_exporter: InMemorySpanExporter,
219-
log_exporter: InMemoryLogExporter,
227+
log_exporter: InMemoryLogRecordExporter,
220228
instrument_no_content_with_experimental_semconvs: VertexAIInstrumentor,
221229
generate_content: callable,
222230
):
@@ -261,7 +269,7 @@ def assert_fsspec_equal(path: str, value: Any) -> None:
261269
@pytest.mark.vcr()
262270
def test_tool_events_with_completion_hook(
263271
span_exporter: InMemorySpanExporter,
264-
log_exporter: InMemoryLogExporter,
272+
log_exporter: InMemoryLogRecordExporter,
265273
instrument_with_upload_hook: VertexAIInstrumentor,
266274
generate_content: callable,
267275
):

0 commit comments

Comments
 (0)