Skip to content

Commit 22519a3

Browse files
chore(writer): move forksafe hooks to writer
1 parent 701a90d commit 22519a3

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

ddtrace/_trace/tracer.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,6 @@ def sample(self, span):
203203
self._sampler.sample(span)
204204

205205
def _sample_before_fork(self) -> None:
206-
if isinstance(self._span_aggregator.writer, AgentWriterInterface):
207-
self._span_aggregator.writer.before_fork()
208206
span = self.current_root_span()
209207
if span is not None and span.context.sampling_priority is None:
210208
self.sample(span)

ddtrace/internal/writer/writer.py

Lines changed: 4 additions & 0 deletions
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
@@ -777,6 +778,8 @@ def __init__(
777778
self._max_payload_size = max_payload_size
778779
self._test_session_token = test_session_token
779780

781+
forksafe.register_before_fork(self.before_fork)
782+
780783
self._clients = [client]
781784
self.dogstatsd = dogstatsd
782785
self._metrics: Dict[str, int] = defaultdict(int)
@@ -1064,6 +1067,7 @@ def _stop_service(
10641067
) -> None:
10651068
# FIXME: don't join() on stop(), let the caller handle this
10661069
super(NativeWriter, self)._stop_service()
1070+
forksafe.unregister_before_fork(self.before_fork)
10671071
self.join(timeout=timeout)
10681072

10691073
def before_fork(self) -> None:

0 commit comments

Comments
 (0)