Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Add force_flush to LogExporter #2276
base: main
Are you sure you want to change the base?
Add force_flush to LogExporter #2276
Changes from 13 commits
905ffbc
7db1bd9
9cc40c1
29f7ae6
d67c975
4ed3b73
125af29
3aa6f8d
9984bec
6974ced
9290828
f1e861e
b258265
71d4b40
2987161
9b661f4
1bf3d45
55dfd62
eae55fe
bacb628
3d02d35
b67e2b0
a154ce8
54bb9fa
86d7058
6e7e418
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should not have a default implementation for this method. Otherwise, we could run into a situation where an exporter user goes through the documentation and calls
force_flush
with certain expectations that haven't been agreed upon by the exporter author.It looks like we have a default implementation for a few other methods as well such as
shutdown
andset_resource
. We should revisit them based on what we decide.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise, we could run into a situation where an exporter user goes through the documentation and calls force_flush with certain expectations that haven't been agreed upon by the exporter author.
If the exporter author does not provide an implementation for flush, then they can document that right? Or the doc for Provider can be updated to merely state that it'll invoke flush on the processor, and the same for processor can state they will invoke the flush for exporter.
Default implementation seems reasonable to me, as not every exporter need to do something for flush.
Check warning on line 135 in opentelemetry-sdk/src/logs/log_processor.rs
Codecov / codecov/patch
opentelemetry-sdk/src/logs/log_processor.rs#L135
Check warning on line 285 in opentelemetry-sdk/src/logs/log_processor.rs
Codecov / codecov/patch
opentelemetry-sdk/src/logs/log_processor.rs#L285
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this?
export_with_timeout
already callsexporter.export
which is what is expected fromforce_flush
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default
force_flush
is empty, but the user exporter could override it and do more than export, so I think we need make the call toforce_flush
here.