-
Notifications
You must be signed in to change notification settings - Fork 438
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 LogRecordExporter
s and SpanExporter
s.
#2000
[SDK] Add ForceFlush
for all LogRecordExporter
s and SpanExporter
s.
#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 LogRecordExporter
s and SpanExporter
s.ForceFlush
for all LogRecordExporter
s and SpanExporter
s.
cd4a83f
to
5e20900
Compare
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 LogRecordExporter
s and SpanExporter
s.ForceFlush
for all LogRecordExporter
s and SpanExporter
s.
ForceFlush
for all LogRecordExporter
s and SpanExporter
s.ForceFlush
for all LogRecordExporter
s and SpanExporter
s.
ForceFlush
for all LogRecordExporter
s and SpanExporter
s.ForceFlush
for all LogRecordExporter
s and SpanExporter
s.
* 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
ForceFlush
for allLogRecordExporter
s andSpanExporter
s.ForceFlush
to prevent cancel in OTLP examples.BatchSpanProcessor::ForceFlush
andBatchLogRecordProcessor::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.md
updated for non-trivial changes