feat(config): wire top-level attribute_limits into per-signal providers#5365
Open
ocelotl wants to merge 4 commits into
Open
feat(config): wire top-level attribute_limits into per-signal providers#5365ocelotl wants to merge 4 commits into
ocelotl wants to merge 4 commits into
Conversation
Parses config.attribute_limits in configure_sdk() and passes it as a global fallback to create_tracer_provider() and create_logger_provider(). Per-signal limits (tracer_provider.limits / logger_provider.limits) always take precedence; absent fields fall back to the global value, then to OTel spec defaults. For logs, adds log_record_limits to the LoggerProvider constructor, threads it through Logger, and applies it when constructing each ReadWriteLogRecord — mirroring how SpanLimits flows through TracerProvider.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5357
Summary
config.attribute_limitsinconfigure_sdk()and passes it as a global fallback tocreate_tracer_provider()andcreate_logger_provider()tracer_provider.limits/logger_provider.limits) always take precedence; absent fields fall back to the global value, then to OTel spec defaultslog_record_limitsparameter toLoggerProvider, threads it throughLoggerdown to eachReadWriteLogRecord— mirroring howSpanLimitsflows throughTracerProviderTest plan
tests/_configuration/test_sdk.py— global limits passed to per-signal factoriestests/_configuration/test_tracer_provider.py— per-signal override, global fallback, spec defaultstests/_configuration/test_logger_provider.py— same coverage for logs; verifies limits are applied (not just warned about)tests/logs/— no regressions in existing log SDK tests