-
Notifications
You must be signed in to change notification settings - Fork 512
[SDK] Add ForceFlush for all LogRecordExporters and SpanExporters.
#2000
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
[SDK] Add ForceFlush for all LogRecordExporters and SpanExporters.
#2000
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #2000 +/- ##
==========================================
- Coverage 87.30% 87.17% -0.12%
==========================================
Files 166 166
Lines 4723 4746 +23
==========================================
+ Hits 4123 4137 +14
- Misses 600 609 +9
|
ForceFlush for all LogRecordExporters and SpanExporters.ForceFlush for all LogRecordExporters and SpanExporters.
cd4a83f to
5e20900
Compare
lalitb
left a comment
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.
LGTM. With nit comments. Thanks.
exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h
Outdated
Show resolved
Hide resolved
0440c9e to
a5be47f
Compare
|
@owent - Can you resolve conflict here too, we can merge it now. |
| break_condition); | ||
| } | ||
| result = true; | ||
| timeout_steady = std::chrono::steady_clock::duration::max(); |
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 am not able to understand this part of code. The AdjustWaitForTimeout call above will change timeout from duration::zero() to duration::max() and this line now will change it back to duration::zero().
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.
AdjustWaitForTimeout just cahnge the timeout to meet the requirement of wait_for .It will return the second parameter when the timeout is greater than max available value.It will change timeout to duration::zero() here, not to duration::max().
Some old codes use zero for indefinite waiting. Maybe we can raise another PR to remove this implementation if we have cleanup all zero value usage. Maybe it is easier to understand to do not wait when we get zero here.
What's your suggestion?
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.
Yes, I think cleaning up the zero-value usage for indefinite waiting in a separate PR would be good. Thanks for the explanation.
+ Optimize `BatchSpanProcessor::ForceFlush` and `BatchLogRecordProcessor::ForceFlush`. + Optimize OTLP HTTP log example + Call `ForceFlush` to prevent cancel in OTLP examples. Signed-off-by: owent <[email protected]>
…nd `LogRecordExporter::ForceFlush`. Signed-off-by: owent <[email protected]>
…ter` into .cc files. Signed-off-by: owent <[email protected]>
Signed-off-by: owent <[email protected]>
Signed-off-by: owent <[email protected]>
…elemetry_logs` Signed-off-by: owent <[email protected]>
…ix the unit test in open-telemetry#1793 . Signed-off-by: owent <[email protected]>
Signed-off-by: owent <[email protected]>
Signed-off-by: owent <[email protected]>
9cfd097 to
8359014
Compare
Done. |
ForceFlush for all LogRecordExporters and SpanExporters.ForceFlush for all LogRecordExporters and SpanExporters.
ForceFlush for all LogRecordExporters and SpanExporters.ForceFlush for all LogRecordExporters and SpanExporters.
ForceFlush for all LogRecordExporters and SpanExporters.ForceFlush for all LogRecordExporters and SpanExporters.
* commit '7887d32da60f54984a597abccbb0c883f3a51649': (82 commits) [RELEASE] Release version 1.9.0 (open-telemetry#2091) Use sdk_start_ts for MetricData start_ts for instruments having cumulative aggregation temporality. (open-telemetry#2086) [SEMANTIC CONVENTIONS] Upgrade to version 1.20.0 (open-telemetry#2088) [EXPORTER] Add OTLP HTTP SSL support (open-telemetry#1793) Make Windows build environment parallel (open-telemetry#2080) make some hints (open-telemetry#2078) Make some targets parallel in CI pipeline (open-telemetry#2076) [Metrics SDK] Implement Forceflush for Periodic Metric Reader (open-telemetry#2064) Upgraded semantic conventions to 1.19.0 (open-telemetry#2017) Bump actions/stale from 7 to 8 (open-telemetry#2070) Include directory path added for Zipkin exporter example (open-telemetry#2069) Ignore more warning of generated protobuf files than not included in `-Wall` and `-Wextra` (open-telemetry#2067) Add `ForceFlush` for all `LogRecordExporter`s and `SpanExporter`s. (open-telemetry#2000) Remove unused 'alerting' section from prometheus.yml in examples (open-telemetry#2055) Clean warnings in ETW exporters (open-telemetry#2063) Fix default value of `OPENTELEMETRY_INSTALL_default`. (open-telemetry#2062) [EXPORTER] GRPC endpoint scheme should take precedence over OTEL_EXPORTER_OTLP_TRACES_INSECURE (open-telemetry#2060) Fix view names in Prometheus example (open-telemetry#2034) Fix some docs typo (open-telemetry#2057) Checking indices before dereference (open-telemetry#2040) ... # Conflicts: # exporters/ostream/CMakeLists.txt # sdk/src/metrics/state/metric_collector.cc # sdk/src/metrics/state/temporal_metric_storage.cc
Fixes #1623
Fixes #1955
Changes
ForceFlushfor allLogRecordExporters andSpanExporters.ForceFlushto prevent cancel in OTLP examples.BatchSpanProcessor::ForceFlushandBatchLogRecordProcessor::ForceFlush. We will finish force flush more quickly when pass a large timeout .For significant contributions please make sure you have completed the following items:
CHANGELOG.mdupdated for non-trivial changes