From ae5b43b2682e8e65820aff3fa8d88a421d8aeaef Mon Sep 17 00:00:00 2001 From: Tim McCormack Date: Tue, 18 Jun 2024 14:02:29 +0000 Subject: [PATCH] temp: Add temporary debugging headers for edxapp tracing See https://github.com/edx/edx-arch-experiments/issues/692 --- .../roles/edxapp/templates/edx/app/edxapp/cms.sh.j2 | 12 ++++++++++++ .../roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 | 12 ++++++++++++ .../edxapp/templates/edx/app/edxapp/worker.sh.j2 | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/playbooks/roles/edxapp/templates/edx/app/edxapp/cms.sh.j2 b/playbooks/roles/edxapp/templates/edx/app/edxapp/cms.sh.j2 index 92b492e4b3b..70db1c8f00c 100644 --- a/playbooks/roles/edxapp/templates/edx/app/edxapp/cms.sh.j2 +++ b/playbooks/roles/edxapp/templates/edx/app/edxapp/cms.sh.j2 @@ -30,6 +30,18 @@ export DD_DJANGO_USE_HANDLER_RESOURCE_FORMAT=true export DD_TRACE_LOG_STREAM_HANDLER=false # Datadog's instrumentation breaks pymongo: https://github.com/edx/edx-arch-experiments/issues/580 export DD_TRACE_PYMONGO_ENABLED=false + +# Temporary: Include span tags representing a variety of tracing HTTP headers. +# This might help us (or DD support) identify an interaction with incoming trace +# headers that causes trace concatenation in edxapp. +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_TRACE_HEADER_TAGS=tracecontext:tracecontext,tracestate:tracestate,x-datadog-trace-id:x-datadog-trace-id,x-datadog-parent-id:x-datadog-parent-id +# Temporary: We currently have a span (or several) for each Django middleware, +# and Datadog Support has implied that it will be easier to debug our tracing +# issues if we don't record those middleware. (They make up the bulk of traces, +# at least visually.) +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_DJANGO_INSTRUMENT_MIDDLEWARE=false {% endif -%} export PORT="{{ edxapp_cms_gunicorn_port }}" diff --git a/playbooks/roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 b/playbooks/roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 index a5788c5d320..ea14090e009 100644 --- a/playbooks/roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 +++ b/playbooks/roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 @@ -30,6 +30,18 @@ export DD_DJANGO_USE_HANDLER_RESOURCE_FORMAT=true export DD_TRACE_LOG_STREAM_HANDLER=false # Datadog's instrumentation breaks pymongo: https://github.com/edx/edx-arch-experiments/issues/580 export DD_TRACE_PYMONGO_ENABLED=false + +# Temporary: Include span tags representing a variety of tracing HTTP headers. +# This might help us (or DD support) identify an interaction with incoming trace +# headers that causes trace concatenation in edxapp. +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_TRACE_HEADER_TAGS=tracecontext:tracecontext,tracestate:tracestate,x-datadog-trace-id:x-datadog-trace-id,x-datadog-parent-id:x-datadog-parent-id +# Temporary: We currently have a span (or several) for each Django middleware, +# and Datadog Support has implied that it will be easier to debug our tracing +# issues if we don't record those middleware. (They make up the bulk of traces, +# at least visually.) +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_DJANGO_INSTRUMENT_MIDDLEWARE=false {% endif -%} export PORT="{{ edxapp_lms_gunicorn_port }}" diff --git a/playbooks/roles/edxapp/templates/edx/app/edxapp/worker.sh.j2 b/playbooks/roles/edxapp/templates/edx/app/edxapp/worker.sh.j2 index 66a4fc91a4c..bbb3db02ad7 100644 --- a/playbooks/roles/edxapp/templates/edx/app/edxapp/worker.sh.j2 +++ b/playbooks/roles/edxapp/templates/edx/app/edxapp/worker.sh.j2 @@ -26,6 +26,18 @@ export DD_DJANGO_USE_LEGACY_RESOURCE_FORMAT=true export DD_TRACE_LOG_STREAM_HANDLER=false # Datadog's instrumentation breaks pymongo: https://github.com/edx/edx-arch-experiments/issues/580 export DD_TRACE_PYMONGO_ENABLED=false + +# Temporary: Include span tags representing a variety of tracing HTTP headers. +# This might help us (or DD support) identify an interaction with incoming trace +# headers that causes trace concatenation in edxapp. +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_TRACE_HEADER_TAGS=tracecontext:tracecontext,tracestate:tracestate,x-datadog-trace-id:x-datadog-trace-id,x-datadog-parent-id:x-datadog-parent-id +# Temporary: We currently have a span (or several) for each Django middleware, +# and Datadog Support has implied that it will be easier to debug our tracing +# issues if we don't record those middleware. (They make up the bulk of traces, +# at least visually.) +# See https://github.com/edx/edx-arch-experiments/issues/692 +DD_DJANGO_INSTRUMENT_MIDDLEWARE=false {% endif -%}