Skip to content

opentelemetry-sdk: expose SynchronousMultiLogRecordProcessor and ConcurrentMultiLogRecordProcessor publicly#5327

Open
mwimpelberg28 wants to merge 7 commits into
open-telemetry:mainfrom
mwimpelberg28:feat/public-multi-log-record-processors-5312
Open

opentelemetry-sdk: expose SynchronousMultiLogRecordProcessor and ConcurrentMultiLogRecordProcessor publicly#5327
mwimpelberg28 wants to merge 7 commits into
open-telemetry:mainfrom
mwimpelberg28:feat/public-multi-log-record-processors-5312

Conversation

@mwimpelberg28

Copy link
Copy Markdown

Summary

Fixes #5312

  • Exports SynchronousMultiLogRecordProcessor and ConcurrentMultiLogRecordProcessor from the public opentelemetry.sdk._logs namespace, mirroring how SynchronousMultiSpanProcessor and ConcurrentMultiSpanProcessor are already public in opentelemetry.sdk.trace
  • Adds two tests verifying both classes are importable from the public path

Test plan

  • Run uv run tox -e py312-test-opentelemetry-sdk -- opentelemetry-sdk/tests/logs/test_multi_log_processor.py

🤖 Generated with Claude Code

)

The weaver binary's gRPC C core crashes with SIGABRT (exit code -6) on
PyPy due to an epoll_wait EBADF error in ev_epoll1_linux.cc. This is a
known incompatibility between gRPC's epoll1 event engine and PyPy
subprocesses that cannot be fixed from the Python side.

Skip both weaver test classes on PyPy, consistent with how other
gRPC-dependent tests are excluded from PyPy in this repo.

Assisted-by: Claude Sonnet 4.6
…#5176)

Weaver switched from gRPC C core to tonic (pure Rust) for its OTLP
server, so the epoll_wait EBADF crash that caused test flakiness on
PyPy no longer occurs. Verified by running the full weaver test suite
on PyPy 3.10 with grpcio compiled from source.

Remove the `platform_python_implementation != 'PyPy'` exclusions from
test-requirements.txt and the PyPy skip decorators added as a
workaround, so the weaver integration tests now run on PyPy as well.

Assisted-by: Claude Sonnet 4.6
grpcio has no PyPy wheel and the gRPC C core fails to build from source
with MSVC on Windows PyPy, so the previous "remove all PyPy exclusions"
change broke the Windows PyPy job. Gate the grpc deps off on PyPy+Windows
only; the weaver tests skip there via the existing _HAS_GRPC guard while
still running on Linux PyPy.

Assisted-by: Claude Opus 4.8 (1M context)
…urrentMultiLogRecordProcessor publicly

Fixes open-telemetry#5312

Assisted-by: Claude Sonnet 4.6
@mwimpelberg28 mwimpelberg28 requested a review from a team as a code owner June 18, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Public API for accessing SynchronousMultiLogRecordProcessor

1 participant