Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c0e8f40

Browse files
authored
Add force_flush to span exporters (open-telemetry#2919)
* Add force_flush to span exporters * Fix lint * add missing method to grpc exporter * Update contrib SHA * Add CHANGELOG entry
1 parent 725c580 commit c0e8f40

File tree

10 files changed

+35
-0
lines changed
  • exporter
    • opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc
    • opentelemetry-exporter-jaeger-thrift/src/opentelemetry/exporter/jaeger/thrift
    • opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter
    • opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter
    • opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter
    • opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json
    • opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http
  • opentelemetry-sdk/src/opentelemetry/sdk/trace/export

10 files changed

+35
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2525
- Add support for setting OTLP export protocol with env vars, as defined in the
2626
[specifications](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#specify-protocol)
2727
([#2893](https://github.com/open-telemetry/opentelemetry-python/pull/2893))
28+
- Add force_flush to span exporters
29+
([#2919](https://github.com/open-telemetry/opentelemetry-python/pull/2919))
2830

2931
## [1.12.0-0.33b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0) - 2022-08-08
3032

exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,3 +186,6 @@ def export(self, spans) -> SpanExportResult:
186186

187187
def shutdown(self):
188188
pass
189+
190+
def force_flush(self, timeout_millis: int = 30000) -> bool:
191+
return True

exporter/opentelemetry-exporter-jaeger-thrift/src/opentelemetry/exporter/jaeger/thrift/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,3 +222,6 @@ def export(self, spans) -> SpanExportResult:
222222

223223
def shutdown(self):
224224
pass
225+
226+
def force_flush(self, timeout_millis: int = 30000) -> bool:
227+
return True

exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ def generate_span_requests(self, spans):
101101
)
102102
yield service_request
103103

104+
def force_flush(self, timeout_millis: int = 30000) -> bool:
105+
return True
106+
104107

105108
# pylint: disable=too-many-branches
106109
def translate_to_collector(spans: Sequence[ReadableSpan]):

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,9 @@ def _translate_data(
290290
def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
291291
return self._export(spans)
292292

293+
def force_flush(self, timeout_millis: int = 30000) -> bool:
294+
return True
295+
293296
@property
294297
def _exporting(self):
295298
return "traces"

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,9 @@ def shutdown(self):
165165
self._session.close()
166166
self._shutdown = True
167167

168+
def force_flush(self, timeout_millis: int = 30000) -> bool:
169+
return True
170+
168171

169172
def _compression_from_env() -> Compression:
170173
compression = (

exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,3 +186,6 @@ def shutdown(self) -> None:
186186
return
187187
self.session.close()
188188
self._closed = True
189+
190+
def force_flush(self, timeout_millis: int = 30000) -> bool:
191+
return True

exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,6 @@ def shutdown(self) -> None:
178178
return
179179
self.session.close()
180180
self._closed = True
181+
182+
def force_flush(self, timeout_millis: int = 30000) -> bool:
183+
return True

opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ def shutdown(self) -> None:
7575
Called when the SDK is shut down.
7676
"""
7777

78+
def force_flush(self, timeout_millis: int = 30000) -> bool:
79+
"""Hint to ensure that the export of any spans the exporter has received
80+
prior to the call to ForceFlush SHOULD be completed as soon as possible, preferably
81+
before returning from this method.
82+
"""
83+
7884

7985
class SimpleSpanProcessor(SpanProcessor):
8086
"""Simple SpanProcessor implementation.
@@ -438,3 +444,6 @@ def export(self, spans: typing.Sequence[ReadableSpan]) -> SpanExportResult:
438444
self.out.write(self.formatter(span))
439445
self.out.flush()
440446
return SpanExportResult.SUCCESS
447+
448+
def force_flush(self, timeout_millis: int = 30000) -> bool:
449+
return True

opentelemetry-sdk/src/opentelemetry/sdk/trace/export/in_memory_span_exporter.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,6 @@ def shutdown(self):
5656
Calls to export after the exporter has been shut down will fail.
5757
"""
5858
self._stopped = True
59+
60+
def force_flush(self, timeout_millis: int = 30000) -> bool:
61+
return True

0 commit comments

Comments
 (0)