Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ddtrace/contrib/internal/mcp/patch.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import os
import sys
from typing import TYPE_CHECKING
from typing import Optional
Expand All @@ -17,6 +16,7 @@
from ddtrace.contrib.trace_utils import unwrap
from ddtrace.contrib.trace_utils import wrap
from ddtrace.internal.logger import get_logger
from ddtrace.internal.settings import env
from ddtrace.internal.utils.formats import asbool
from ddtrace.llmobs._integrations.mcp import CLIENT_TOOL_CALL_OPERATION_NAME
from ddtrace.llmobs._integrations.mcp import SERVER_REQUEST_OPERATION_NAME
Expand All @@ -32,8 +32,8 @@
config._add(
"mcp",
{
"distributed_tracing": asbool(os.getenv("DD_MCP_DISTRIBUTED_TRACING", default=True)),
"capture_intent": asbool(os.getenv("DD_MCP_CAPTURE_INTENT", default=False)),
"distributed_tracing": asbool(env.get("DD_MCP_DISTRIBUTED_TRACING", default=True)),
"capture_intent": asbool(env.get("DD_MCP_CAPTURE_INTENT", default=False)),
},
)

Expand Down
13 changes: 7 additions & 6 deletions ddtrace/contrib/internal/ray/patch.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from ddtrace.internal.logger import get_logger
from ddtrace.internal.module import ModuleWatchdog
from ddtrace.internal.schema import schematize_service_name
from ddtrace.internal.settings import env
from ddtrace.internal.telemetry import get_config as _get_config
from ddtrace.internal.utils import get_argument_value
from ddtrace.internal.utils.formats import asbool
Expand Down Expand Up @@ -64,7 +65,7 @@

log = get_logger(__name__)

RAY_SERVICE_NAME = os.environ.get(RAY_JOB_NAME)
RAY_SERVICE_NAME = env.get(RAY_JOB_NAME)

# Ray modules that should be excluded from tracing
RAY_COMMON_MODULE_DENYLIST = {
Expand All @@ -84,8 +85,8 @@
"ray",
dict(
_default_service=schematize_service_name("ray"),
use_entrypoint_as_service_name=asbool(os.getenv("DD_TRACE_RAY_USE_ENTRYPOINT_AS_SERVICE_NAME", default=False)),
redact_entrypoint_paths=asbool(os.getenv("DD_TRACE_RAY_REDACT_ENTRYPOINT_PATHS", default=True)),
use_entrypoint_as_service_name=asbool(env.get("DD_TRACE_RAY_USE_ENTRYPOINT_AS_SERVICE_NAME", default=False)),
redact_entrypoint_paths=asbool(env.get("DD_TRACE_RAY_REDACT_ENTRYPOINT_PATHS", default=True)),
trace_core_api=_get_config("DD_TRACE_RAY_CORE_API", default=False, modifier=asbool),
trace_args_kwargs=_get_config("DD_TRACE_RAY_ARGS_KWARGS", default=False, modifier=asbool),
),
Expand Down Expand Up @@ -397,12 +398,12 @@ async def _traced_run_method(self: Any, *args: Any, _dd_ray_trace_ctx=None, **kw
from ddtrace.ext import SpanTypes

context = _TraceContext._extract(_dd_ray_trace_ctx) if _dd_ray_trace_ctx else None
submission_id = os.environ.get(RAY_SUBMISSION_ID)
submission_id = env.get(RAY_SUBMISSION_ID)

with long_running_ray_span(
"actor_method.execute",
resource=f"{self.__class__.__name__}.{method.__name__}",
service=os.environ.get(RAY_JOB_NAME, DEFAULT_JOB_NAME),
service=env.get(RAY_JOB_NAME, DEFAULT_JOB_NAME),
span_type=SpanTypes.RAY,
child_of=context,
activate=True,
Expand Down Expand Up @@ -440,7 +441,7 @@ def _traced_exec_entrypoint_method(self: Any, *args: Any, _dd_ray_trace_ctx=None
with tracer.trace(
"exec entrypoint",
resource=f"exec {entrypoint_name}",
service=os.environ.get(RAY_JOB_NAME, DEFAULT_JOB_NAME),
service=env.get(RAY_JOB_NAME, DEFAULT_JOB_NAME),
span_type=SpanTypes.RAY,
) as span:
span._set_attribute(SPAN_KIND, SpanKind.CONSUMER)
Expand Down
13 changes: 7 additions & 6 deletions ddtrace/contrib/internal/ray/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from ddtrace.constants import _FILTER_KEPT_KEY
from ddtrace.constants import _SAMPLING_PRIORITY_KEY
from ddtrace.constants import _SPAN_MEASURED_KEY
from ddtrace.internal.settings import env
from ddtrace.propagation.http import _TraceContext

from .constants import DD_RAY_TRACE_CTX
Expand Down Expand Up @@ -69,16 +70,16 @@ def _inject_context_in_kwargs(context: Context, kwargs: dict[str, Any]) -> None:
def _inject_context_in_env(context: Context) -> None:
headers = {}
_TraceContext._inject(context, headers)
os.environ["traceparent"] = headers.get("traceparent", "")
os.environ["tracestate"] = headers.get("tracestate", "")
env["traceparent"] = headers.get("traceparent", "")
env["tracestate"] = headers.get("tracestate", "")


def _extract_tracing_context_from_env() -> Optional[Context]:
if os.environ.get("traceparent") is not None and os.environ.get("tracestate") is not None:
if env.get("traceparent") is not None and env.get("tracestate") is not None:
return _TraceContext._extract(
{
"traceparent": os.environ.get("traceparent"),
"tracestate": os.environ.get("tracestate"),
"traceparent": env.get("traceparent"),
"tracestate": env.get("tracestate"),
}
)
return None
Expand All @@ -93,7 +94,7 @@ def _inject_ray_span_tags_and_metrics(span: Span) -> None:
span._set_attribute(_SPAN_MEASURED_KEY, 1)
span._set_attribute(_SAMPLING_PRIORITY_KEY, 2)

submission_id = os.environ.get(RAY_SUBMISSION_ID)
submission_id = env.get(RAY_SUBMISSION_ID)
if submission_id is not None:
span._set_attribute(RAY_SUBMISSION_ID_TAG, submission_id)

Expand Down
Loading