Skip to content
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `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`
([#3916](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3916))
- `opentelemetry-instrumentation-redis`: add support for `suppress_instrumentation` context manager for both sync and async Redis clients and pipelines
- Update for Log SDK breaking changes. Rename InMemoryLogExporter to InMemoryLogRecordExporter in several tests
([#3850](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3589))

### Fixed

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,21 @@
)
from opentelemetry.metrics import get_meter_provider, set_meter_provider
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter,
SimpleLogRecordProcessor,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
SimpleLogRecordProcessor,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk._logs.export import (
SimpleLogRecordProcessor,
)
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics._internal.export import InMemoryMetricReader
from opentelemetry.sdk.trace import TracerProvider
Expand Down Expand Up @@ -114,7 +125,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 = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,21 @@
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT,
)
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter,
SimpleLogRecordProcessor,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
SimpleLogRecordProcessor,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk._logs.export import (
SimpleLogRecordProcessor,
)
from opentelemetry.sdk.metrics import (
MeterProvider,
)
Expand All @@ -38,7 +49,7 @@ def fixture_span_exporter():

@pytest.fixture(scope="function", name="log_exporter")
def fixture_log_exporter():
exporter = InMemoryLogExporter()
exporter = InMemoryLogRecordExporter()
yield exporter


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,21 @@
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT,
)
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter,
SimpleLogRecordProcessor,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs.export import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
SimpleLogRecordProcessor,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs.export import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk._logs.export import (
SimpleLogRecordProcessor,
)
from opentelemetry.sdk.metrics import (
MeterProvider,
)
Expand All @@ -66,7 +77,7 @@ def fixture_span_exporter():

@pytest.fixture(scope="function", name="log_exporter")
def fixture_log_exporter():
exporter = InMemoryLogExporter()
exporter = InMemoryLogRecordExporter()
yield exporter


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,17 @@
)

from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk.trace import ReadableSpan
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
InMemorySpanExporter,
Expand All @@ -26,7 +34,7 @@
@pytest.mark.vcr()
def test_generate_content(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
generate_content: callable,
instrument_with_content: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -94,7 +102,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: callable,
instrument_no_content: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -242,7 +250,7 @@ def test_generate_content_invalid_temperature(

@pytest.mark.vcr()
def test_generate_content_invalid_role(
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
generate_content: callable,
instrument_with_content: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -335,7 +343,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: callable,
instrument_with_content: VertexAIInstrumentor,
):
Expand All @@ -353,7 +361,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: callable,
instrument_with_content: VertexAIInstrumentor,
):
Expand All @@ -371,7 +379,7 @@ def test_preview_generate_content_all_input_events(

def generate_content_all_input_events(
model: GenerativeModel | PreviewGenerativeModel,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
instrument_with_content: VertexAIInstrumentor,
):
model.generate_content(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,17 @@
)

from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk.trace import ReadableSpan
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
InMemorySpanExporter,
Expand All @@ -27,7 +35,7 @@
@pytest.mark.vcr()
def test_generate_content_with_files(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
generate_content: callable,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -113,7 +121,7 @@ def test_generate_content_with_files(
@pytest.mark.vcr()
def test_generate_content_without_events(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
generate_content: callable,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -274,7 +282,7 @@ def test_generate_content_invalid_temperature(

@pytest.mark.vcr()
def test_generate_content_invalid_role(
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
generate_content: callable,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
Expand Down Expand Up @@ -371,7 +379,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: callable,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
Expand All @@ -389,7 +397,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: callable,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
Expand All @@ -407,7 +415,7 @@ def test_preview_generate_content_all_input_events(

def generate_content_all_input_events(
model: GenerativeModel | PreviewGenerativeModel,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
):
model.generate_content(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,17 @@
)

from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
InMemorySpanExporter,
)
Expand All @@ -16,7 +24,7 @@
@pytest.mark.vcr()
def test_function_call_choice(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
instrument_with_content: VertexAIInstrumentor,
generate_content: callable,
):
Expand Down Expand Up @@ -96,7 +104,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,
generate_content: callable,
):
Expand Down Expand Up @@ -136,7 +144,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,
generate_content: callable,
):
Expand Down Expand Up @@ -228,7 +236,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,
generate_content: callable,
):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,25 @@
)

from opentelemetry.instrumentation.vertexai import VertexAIInstrumentor
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter,
)

# Backward compatibility for InMemoryLogExporter -> InMemoryLogRecordExporter rename
try:
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import ( # pylint: disable=no-name-in-module
InMemoryLogRecordExporter,
)
except ImportError:
# Fallback to old name for compatibility with older SDK versions
from opentelemetry.sdk._logs._internal.export.in_memory_log_exporter import (
InMemoryLogExporter as InMemoryLogRecordExporter,
)
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
InMemorySpanExporter,
)


def test_function_call_choice(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
instrument_with_experimental_semconvs: VertexAIInstrumentor,
generate_content: callable,
):
Expand Down Expand Up @@ -92,7 +100,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_with_experimental_semconvs: VertexAIInstrumentor,
generate_content: callable,
):
Expand All @@ -117,7 +125,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_experimental_semconvs: VertexAIInstrumentor,
generate_content: callable,
):
Expand Down Expand Up @@ -216,7 +224,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_with_experimental_semconvs: VertexAIInstrumentor,
generate_content: callable,
):
Expand Down Expand Up @@ -261,7 +269,7 @@ def assert_fsspec_equal(path: str, value: Any) -> None:
@pytest.mark.vcr()
def test_tool_events_with_completion_hook(
span_exporter: InMemorySpanExporter,
log_exporter: InMemoryLogExporter,
log_exporter: InMemoryLogRecordExporter,
instrument_with_upload_hook: VertexAIInstrumentor,
generate_content: callable,
):
Expand Down
Loading