Skip to content

Commit de4348a

Browse files
test
1 parent 5ea9f78 commit de4348a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

ddtrace/_trace/tracer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,8 @@ def sample(self, span):
204204

205205
def _sample_before_fork(self) -> None:
206206
if isinstance(self._span_aggregator.writer, AgentWriterInterface):
207-
self._span_aggregator.writer.before_fork()
207+
pass
208+
#self._span_aggregator.writer.before_fork()
208209
span = self.current_root_span()
209210
if span is not None and span.context.sampling_priority is None:
210211
self.sample(span)

ddtrace/internal/writer/writer.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from typing import TextIO
1515

1616
from ddtrace import config
17+
from ddtrace.internal import forksafe
1718
from ddtrace.internal.dist_computing.utils import in_ray_job
1819
from ddtrace.internal.hostname import get_hostname
1920
import ddtrace.internal.native as native
@@ -786,6 +787,7 @@ def __init__(
786787
self._compute_stats_enabled = compute_stats_enabled
787788
self._response_cb = response_callback
788789
self._stats_opt_out = stats_opt_out
790+
forksafe.register_before_fork(self.before_fork)
789791
self._exporter = self._create_exporter()
790792

791793
def _create_exporter(self) -> native.TraceExporter:
@@ -933,7 +935,6 @@ def _set_keep_rate(self, trace):
933935
def _send_payload(self, payload: bytes, count: int, client: WriterClientBase):
934936
try:
935937
response_body = self._exporter.send(payload, count)
936-
self._exporter.stop_worker()
937938
except native.RequestError as e:
938939
try:
939940
# Request errors are formatted as "Error code: {code}, Response: {response}"
@@ -1065,6 +1066,7 @@ def _stop_service(
10651066
) -> None:
10661067
# FIXME: don't join() on stop(), let the caller handle this
10671068
super(NativeWriter, self)._stop_service()
1069+
self.before_fork()
10681070
self.join(timeout=timeout)
10691071

10701072
def before_fork(self) -> None:
@@ -1074,6 +1076,7 @@ def on_shutdown(self):
10741076
try:
10751077
self.periodic()
10761078
finally:
1079+
forksafe.unregister_before_fork(self.before_fork)
10771080
self._exporter.shutdown(3_000_000_000) # 3 seconds timeout
10781081

10791082

0 commit comments

Comments
 (0)