Skip to content

Conversation

@jack-berg
Copy link
Member

In response to this feedback: #4568 (comment)

The declarative config SDK spec uses "component", "extension plugin interface", "SDK extension plugins" somewhat interchangeable.

This PR makes the vocabulary consistent:

  • component: any part of the SDK, i.e. TracerProvider, SpanExporter, OtlpHttpSpanExporter, Sampler, SpanProcessor, BatchSpanProcessor, etc
  • plugin component: also called a SDK extension plugin interface elsewhere, any SDK component which is pluggable, i.e. Sampler, SpanExporter, SpanProcessor, but not ParentBasedSampler

To facilitate, this PR:

  • Renames ComponentProvider to PluginComponentProvider. This makes it clear that only plugins are being provided rather than all components.
  • Rename ComponentProvider.createPlugin to PluginComponentProvider.createComponent.

There are no functional changes in this PR, just naming updates.

@jack-berg jack-berg requested review from a team as code owners December 15, 2025 21:34
The [configuration data model](./data-model.md) SHOULD support configuration of
all SDK extension plugin interfaces. SDKs SHOULD
support [registration](#register-componentprovider) of custom implementations of
SDK extension plugin interfaces via the `ComponentProvider` mechanism.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved up so all the normative language is centralized, leaving this section to just connect the dots of how plugin components are mapped.

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

This PR was marked stale. It will be closed in 14 days without additional activity.

@github-actions github-actions bot added the Stale label Jan 2, 2026
@jack-berg jack-berg removed the Stale label Jan 2, 2026
* [Create Plugin](#create-plugin)
+ [PluginComponentProvider](#plugincomponentprovider)
- [Supported SDK plugin components](#supported-sdk-plugin-components)
- [PluginComponentsProvider operations](#plugincomponentsprovider-operations)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [PluginComponentsProvider operations](#plugincomponentsprovider-operations)
- [PluginComponentProvider operations](#plugincomponentprovider-operations)

| [log record processor](../logs/sdk.md#logrecordprocessor) | [LogRecordProcessor](https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema-docs.md#logrecordprocessor-) |

##### ComponentsProvider operations
##### PluginComponentsProvider operations

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
##### PluginComponentsProvider operations
##### PluginComponentProvider operations

##### ComponentsProvider operations
##### PluginComponentsProvider operations

The `ComponentsProvider` MUST provide the following functions:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `ComponentsProvider` MUST provide the following functions:
The `PluginComponentProvider` MUST provide the following functions:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants