Skip to content

Conversation

marcingrzejszczak
Copy link
Contributor

@marcingrzejszczak marcingrzejszczak commented Jan 27, 2023

Micrometer Tracing comes with 3 generic interfaces, SpanExportingPredicate, SpanReporter and SpanFilter, thanks to which you can decide whether you want to export a span, how you want to report it and how to mutate it regardless of which tracer library you are using.

Without this change usage of these 3 interfaces is not possible for OpenTelemetry.

With this change we're putting all SpanExporters to the CompositeSpanExporter and apply the exporters only after predicates, filtering and reporting took place.

fixes #31469

Micrometer Tracing comes with 3 generic interfaces, SpanExportingPredicate, SpanReporter and SpanFilter, thanks to which you can decide whether you want to export a span, how you want to report it and how to mutate it regardless of which tracer library you are using.

Without this change usage of these 3 interfaces is not possible for OpenTelemetry.

With this change we're putting all SpanExporters to the CompositeSpanExporter and apply the exporters only after predicates, filtering and reporting took place.
@marcingrzejszczak
Copy link
Contributor Author

fixes #31469

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Jan 27, 2023
@scottfrederick scottfrederick added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Jan 27, 2023
@scottfrederick scottfrederick modified the milestone: 3.1.x Jan 27, 2023
@scottfrederick scottfrederick added theme: observability Issues related to observability labels Jan 27, 2023
@mhalbritter mhalbritter self-assigned this Jan 31, 2023
@mhalbritter mhalbritter changed the title Adds CompositeSpanExporter Add Micrometer Tracing's CompositeSpanExporter Jan 31, 2023
@mhalbritter
Copy link
Contributor

Thank you!

mhalbritter pushed a commit that referenced this pull request Jan 31, 2023
Micrometer Tracing comes with 3 generic interfaces, SpanExportingPredicate,
SpanReporter and SpanFilter, thanks to which you can decide whether you
want to export a span, how you want to report it and how to mutate it
regardless of which tracer library you are using.

Without this change usage of these 3 interfaces is not possible
for OpenTelemetry.

With this change we're putting all SpanExporters to the
CompositeSpanExporter and apply the exporters only after predicates,
filtering and reporting took place.

See gh-34002
@mhalbritter mhalbritter modified the milestones: 3.1.x, 3.1.0-M1 Jan 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme: observability Issues related to observability type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

When using OTel, auto-configure CompositeSpanExporters with span exporting predicates, filters, and reporters
4 participants