Skip to content

Make internal/telemetry API public #12405

@jade-guiton-dd

Description

@jade-guiton-dd

Once #12217 is implemented, we now have wrappers in place to automatically add component-identifying attributes (as defined by the Pipeline Component Telemetry RFC) to log records (see #12259) and metric points / spans (see #12384).

We also have an API so components can opt out of specific attributes in case they aren't relevant to them (for example, the OTLP receiver is a singleton shared for all signals, so the signal attribute is not relevant, see code).

However, this API is currently internal while it is being worked on. We want to eventually stabilize it and make it available to components outside of core as part of the component module.

To do this:

  • The TelemetrySettings struct, which in Wrap TelemetrySettings providers to add component-identifying attributes #12384 is moved to internal/telemetry and reexported in component, should be moved back into component.
  • The API functions that take a TelemetrySettings as first argument should be turned into methods for said struct (they are currently not because that would make them publicly available through the reexport)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions