oss_25_declarative_config_configprovider_create#45
Conversation
…config Add a stateless create(model) -> Providers that builds the SDK providers without mutating global state, and have configure_sdk() reuse it (build via create, then install the built providers as the process globals and run instrumentation). Add a ConfigProperties read view over the parsed instrumentation node with typed getters (get_string/get_bool/get_int/get_float/get_config/ get_config_list/get_scalar_list/keys) that return None on missing key or type mismatch, and a global ConfigProvider exposing the instrumentation config.
|
🔒 Internal (dash0) — not for upstream.
|
|
📣 Public-facing draft — to be used for the upstream PR in Title: Add pure WhatAdds a stateless
WhySeparates building providers from installing them (enabling embedding and testing without side effects) and gives instrumentation libraries a standard, spec-shaped read view over declarative instrumentation config. Spec / reference
TestsNew |
Closes #38
Declarative config: add a stateless
create(model) -> Providersthat builds providers without mutating globals (configure_sdk() now delegates to it then installs globals), plusConfigProperties/ConfigProvidertyped read view over the .instrumentation node (Linear OSS-25, finding L8).Validation: scope contained to opentelemetry-configuration + changelog; package suite 392 passed.
Linear issue: https://linear.app/dash0/issue/OSS-25/l8-declarative-config-no-configproviderconfigproperties-api-no-pure