Skip to content

Configure second-stage exporters #1609

@jpkrohling

Description

@jpkrohling

As part of #1260, we need a way to add second-stage exporters to the GetExporters(). I can see two possible solutions for it:

  1. allow pipelines to have no receivers, so that they can "declare" the exporters that are used as second-stage exporters
  2. change the contract for GetExporters() so that it returns all exporters from the configuration, even if they aren't declared as part of any pipelines.

I think the first suggestion is cleaner, as it requires users to declare any second-stage exporters explicitly, differentiating them from unused exporters.

If we decide to go with the second suggestion, one additional aspect to solve is that exporters are tied to their types, which is determined based on the exporter's declaration in the pipeline:

exporters:
  exampleexporter:
  exampleexporter/2:
pipelines:
  traces:
  - exampleexporter

  logs:
  - exampleexporter

In the case above, Exporters#ToMapByDataType will not return exampleexporter/2 even when it's part of the list of exporters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions