Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proof-of-Concept for partial export err returns #3153

Closed
wants to merge 1 commit into from

Conversation

MrAlias
Copy link
Contributor

@MrAlias MrAlias commented Sep 7, 2022

Not submitted for review. Part of discussion in #3146.

@@ -45,3 +48,14 @@ type SpanExporter interface {
// DO NOT CHANGE: any modification will not be backwards compatible and
// must never be done outside of a new major release.
}

type PartialExportError struct {
Copy link
Contributor

Choose a reason for hiding this comment

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

How is this different from having the error in otlp or otlptrace? Yes other exporters can theoretically create this error, but no other exporter has this kind of error.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Discussed in SIG meeting, but for others interested: There are likely other exporters that support partial successes. For instance, there is the sumologic exporter in the collector.

// Wrap returns a wrapped version of the downstream SpanExporter with
// telemetry flow reporting. All calls to the returned SpanProcessor will
// introspected for telemetry data and then forwarded to downstream.
func Wrap(downstream SpanExporter, options ...Option) SpanProcessor {
Copy link
Contributor

Choose a reason for hiding this comment

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

Would you want to return a SpanExporter here? That way you can still use the batch processor, and you would just be instrumenting the calls to around ExportSpans()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, that could makes sense. This was (quickly) adapted from the flow SpanProcessor, which exports metrics about started/stopped spans. I can definitely see another package where this is a simple wrapper of a SpanExporter and only reports dropped values.

@MrAlias
Copy link
Contributor Author

MrAlias commented Sep 8, 2022

Closing as this is not meant to be merged and has been included in the discussion.

@MrAlias MrAlias closed this Sep 8, 2022
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.

None yet

2 participants