diff --git a/ddtrace/context.py b/ddtrace/context.py index 561ce807962..72640327d92 100644 --- a/ddtrace/context.py +++ b/ddtrace/context.py @@ -4,7 +4,7 @@ deprecate( - "The context interface is deprecated.", - message="The trace context is an internal interface and will no longer be supported.", + "The ddtrace.context module is deprecated and will be removed from the public API.", + message="Context should be imported from the ddtrace.trace package", category=DDTraceDeprecationWarning, ) diff --git a/ddtrace/internal/opentelemetry/trace.py b/ddtrace/internal/opentelemetry/trace.py index 37073efd6b5..21d9be57266 100644 --- a/ddtrace/internal/opentelemetry/trace.py +++ b/ddtrace/internal/opentelemetry/trace.py @@ -103,7 +103,7 @@ def start_span( curr_otel_span = get_current_span(context) if curr_otel_span is INVALID_SPAN: # There is no active datadog/otel span - dd_active = None # type: Optional[Union[ddtrace.context.Context, ddtrace.Span]] + dd_active = None # type: Optional[Union[ddtrace.trace.Context, ddtrace.Span]] elif isinstance(curr_otel_span, Span): # Get underlying ddtrace span from the active otel span dd_active = curr_otel_span._ddspan diff --git a/ddtrace/trace/__init__.py b/ddtrace/trace/__init__.py new file mode 100644 index 00000000000..90c662cebc7 --- /dev/null +++ b/ddtrace/trace/__init__.py @@ -0,0 +1,7 @@ +from ddtrace._trace.context import Context + + +# TODO: Move `ddtrace.Pin`, `ddtrace.Tracer`, `ddtrace.Span`, and `ddtrace.tracer` to this module +__all__ = [ + "Context", +] diff --git a/docs/api.rst b/docs/api.rst index f6298234533..4c52e37808f 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -22,7 +22,7 @@ Tracing .. autoclass:: ddtrace.Pin :members: -.. autoclass:: ddtrace.context.Context +.. autoclass:: ddtrace.trace.Context :members: :undoc-members: diff --git a/releasenotes/notes/add-context-back-to-public-api-e6c2412165df10a7.yaml b/releasenotes/notes/add-context-back-to-public-api-e6c2412165df10a7.yaml new file mode 100644 index 00000000000..afaf883c297 --- /dev/null +++ b/releasenotes/notes/add-context-back-to-public-api-e6c2412165df10a7.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + tracing: Adds ``ddtrace.trace.Context`` to the public api. This class can now be used to propagate context across execution boundaries (ex: threads). diff --git a/tests/.suitespec.json b/tests/.suitespec.json index dbb7ad06443..e63012070ba 100644 --- a/tests/.suitespec.json +++ b/tests/.suitespec.json @@ -88,6 +88,7 @@ "ddtrace/_logger.py", "ddtrace/_monkey.py", "ddtrace/_trace/*", + "ddtrace/trace/*", "ddtrace/constants.py", "ddtrace/context.py", "ddtrace/filters.py",