diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index 2fabaad426962..22df55e33e6ae 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -344,7 +344,7 @@ menu: url: agent/supported_platforms/heroku/ weight: 405 parent: agent_supported_platforms - - name: MacOS + - name: MacOS identifier: basic_agent_usage_osx url: agent/supported_platforms/osx/ weight: 406 @@ -3794,171 +3794,191 @@ menu: parent: tracing identifier: tracing_trace_collection weight: 2 - - name: Automatic Instrumentation - url: tracing/trace_collection/automatic_instrumentation/ + - name: Single Step Instrumentation + url: tracing/trace_collection/single-step-apm/ parent: tracing_trace_collection - identifier: automatic_instrumentation - weight: 201 - - name: Using Single Step Instrumentation - url: tracing/trace_collection/automatic_instrumentation/single-step-apm/ - parent: automatic_instrumentation identifier: single_step_apm - weight: 2011 + weight: 201 - name: Single Step APM Instrumentation on Linux - url: tracing/trace_collection/automatic_instrumentation/single-step-apm/linux + url: tracing/trace_collection/single-step-apm/linux parent: single_step_apm identifier: single_step_apm_linux - weight: 20111 + weight: 2011 - name: Single Step APM Instrumentation on Docker - url: tracing/trace_collection/automatic_instrumentation/single-step-apm/docker + url: tracing/trace_collection/single-step-apm/docker parent: single_step_apm identifier: single_step_apm_docker - weight: 20112 + weight: 2012 - name: Single Step APM Instrumentation on Kubernetes - url: tracing/trace_collection/automatic_instrumentation/single-step-apm/kubernetes + url: tracing/trace_collection/single-step-apm/kubernetes parent: single_step_apm identifier: single_step_apm_kubernetes - weight: 20113 - - name: Using Datadog Tracing Libraries - url: tracing/trace_collection/automatic_instrumentation/dd_libraries/ - parent: automatic_instrumentation + weight: 2013 + - name: Datadog Tracing Libraries + url: tracing/trace_collection/dd_libraries/ + parent: tracing_trace_collection identifier: auto_dd_libraries - weight: 2012 - - name: Custom Instrumentation + weight: 202 + - name: Code-based Custom Instrumentation url: tracing/trace_collection/custom_instrumentation/ parent: tracing_trace_collection identifier: custom_instrumentation - weight: 202 + weight: 203 - name: Java url: tracing/trace_collection/custom_instrumentation/java/dd-api parent: custom_instrumentation identifier: custom_instrumentation_java - weight: 2021 + weight: 2031 - name: Python url: tracing/trace_collection/custom_instrumentation/python/dd-api parent: custom_instrumentation identifier: custom_instrumentation_python - weight: 2022 + weight: 2032 - name: Ruby url: tracing/trace_collection/custom_instrumentation/ruby/dd-api parent: custom_instrumentation identifier: custom_instrumentation_ruby - weight: 2023 + weight: 2033 - name: Go url: tracing/trace_collection/custom_instrumentation/go/dd-api parent: custom_instrumentation identifier: custom_instrumentation_go - weight: 2024 + weight: 2034 - name: Node.js url: tracing/trace_collection/custom_instrumentation/nodejs/dd-api parent: custom_instrumentation identifier: custom_instrumentation_nodejs - weight: 2025 + weight: 2035 - name: PHP url: tracing/trace_collection/custom_instrumentation/php/dd-api parent: custom_instrumentation identifier: custom_instrumentation_php - weight: 2026 + weight: 2036 - name: C++ url: tracing/trace_collection/custom_instrumentation/cpp/dd-api parent: custom_instrumentation identifier: custom_instrumentation_cpp - weight: 2027 + weight: 2037 - name: .NET url: tracing/trace_collection/custom_instrumentation/dotnet/dd-api parent: custom_instrumentation identifier: custom_instrumentation_dotnet - weight: 2028 + weight: 2038 - name: Android url: tracing/trace_collection/custom_instrumentation/android/otel parent: custom_instrumentation identifier: custom_instrumentation_android - weight: 2029 + weight: 2039 - name: iOS url: tracing/trace_collection/custom_instrumentation/ios/otel parent: custom_instrumentation identifier: custom_instrumentation_ios - weight: 2030 + weight: 2040 - name: Rust url: tracing/trace_collection/custom_instrumentation/rust parent: custom_instrumentation identifier: custom_instrumentation_rust - weight: 2031 + weight: 2041 - name: Swift url: tracing/trace_collection/custom_instrumentation/swift parent: custom_instrumentation identifier: custom_instrumentation_swift - weight: 2032 + weight: 2042 - name: Elixir url: tracing/trace_collection/custom_instrumentation/elixir parent: custom_instrumentation identifier: custom_instrumentation_elixir - weight: 2033 + weight: 2043 + - name: Dynamic Instrumentation + url: tracing/trace_collection/dynamic_instrumentation/ + identifier: dyninst + parent: tracing_trace_collection + weight: 204 + - name: Enabling + url: tracing/trace_collection/dynamic_instrumentation/enabling + identifier: dyninst_enable + parent: dyninst + weight: 2041 + - name: Autocomplete and Search + url: tracing/trace_collection/dynamic_instrumentation/symdb + identifier: dyninst_symdb + parent: dyninst + weight: 2042 + - name: Expression Language + url: tracing/trace_collection/dynamic_instrumentation/expression-language + identifier: dyninst_explang + parent: dyninst + weight: 2043 + - name: Sensitive Data Scrubbing + url: tracing/trace_collection/dynamic_instrumentation/sensitive-data-scrubbing + identifier: dyninst_sensitive_data_scrubbing + parent: dyninst + weight: 2044 - name: Library Compatibility url: tracing/trace_collection/compatibility/ parent: tracing_trace_collection identifier: tracing_compatibility - weight: 203 + weight: 206 - name: Library Configuration url: tracing/trace_collection/library_config/ parent: tracing_trace_collection identifier: tracing_library_config - weight: 204 + weight: 207 - name: Configuration at Runtime url: tracing/trace_collection/runtime_config/ parent: tracing_trace_collection identifier: runtime_config - weight: 205 + weight: 208 - name: Trace Context Propagation url: tracing/trace_collection/trace_context_propagation/ parent: tracing_trace_collection identifier: tracing_context - weight: 206 + weight: 209 - name: Serverless Application Tracing url: serverless/distributed_tracing/ parent: tracing_trace_collection identifier: tracing_serverless - weight: 207 + weight: 210 - name: Proxy Tracing url: tracing/trace_collection/proxy_setup/ parent: tracing_trace_collection identifier: tracing_proxies - weight: 208 + weight: 211 - name: Envoy url: tracing/trace_collection/proxy_setup/envoy parent: tracing_proxies identifier: tracing_proxies_envoy - weight: 2081 + weight: 2111 - name: NGINX url: tracing/trace_collection/proxy_setup/nginx parent: tracing_proxies identifier: tracing_proxies_nginx - weight: 2082 + weight: 2112 - name: Istio url: tracing/trace_collection/proxy_setup/istio parent: tracing_proxies identifier: tracing_proxies_istio - weight: 2083 + weight: 2113 - name: Kong url: tracing/trace_collection/proxy_setup/kong parent: tracing_proxies identifier: tracing_proxies_kong - weight: 2084 + weight: 2114 - name: Apache HTTP Server url: tracing/trace_collection/proxy_setup/httpd parent: tracing_proxies identifier: tracing_proxies_httpd - weight: 2085 + weight: 2115 - name: Span Tag Semantics url: tracing/trace_collection/tracing_naming_convention parent: tracing_trace_collection identifier: tracing_naming_convention - weight: 209 + weight: 212 - name: Span Links url: tracing/trace_collection/span_links parent: tracing_trace_collection identifier: tracing_span_links - weight: 211 + weight: 213 - name: APM Metrics Collection url: tracing/metrics/ parent: tracing @@ -4149,21 +4169,6 @@ menu: identifier: monitor_endpoints parent: endpoint_observability weight: 1003 - - name: Dynamic Instrumentation - url: tracing/dynamic_instrumentation/ - identifier: dyninst - parent: tracing - weight: 11 - - name: Enabling - url: tracing/dynamic_instrumentation/enabling - identifier: dyninst_enable - parent: dyninst - weight: 1101 - - name: Expression Language - url: tracing/dynamic_instrumentation/expression-language - identifier: dyninst_explang - parent: dyninst - weight: 1102 - name: Live Debugger url: tracing/live_debugger/ identifier: live_debugger @@ -6031,11 +6036,6 @@ menu: parent: cloudprem_installation identifier: cloudprem_azure_aks weight: 202 - # - name: Kubernetes with NGINX - # url: /cloudprem/install/kubernetes_nginx - # parent: cloudprem_installation - # identifier: cloudprem_kubernetes_nginx - # weight: 203 - name: Log Ingestion url: /cloudprem/ingest_logs/ parent: cloudprem diff --git a/content/en/tracing/trace_collection/_index.md b/content/en/tracing/trace_collection/_index.md index 7bb2a9e7f1c3b..1d628464b1e69 100644 --- a/content/en/tracing/trace_collection/_index.md +++ b/content/en/tracing/trace_collection/_index.md @@ -12,10 +12,19 @@ aliases: - /agent/apm/ - /tracing/setup_overview/ - /tracing/trace_collection/library_injection_remote + - /tracing/trace_collection/automatic_instrumentation further_reading: - link: "tracing/trace_collection/compatibility" tag: "Documentation" text: "Compatibility requirements" +- link: "/tracing/glossary/" + tag: "Documentation" + text: "APM Terms and Concepts" +- link: "https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/" + tag: "Architecture Center" + text: "Instrument your app using the Datadog Operator and Admission Controller" +algolia: + tags: ['apm automatic instrumentation'] --- ## Overview @@ -42,7 +51,13 @@ Create {{< tooltip glossary="span" >}}s for your application with minimal manual - [Single Step Instrumentation][7]: Run a one-line installation command to install the Datadog Agent, enable APM, and instrument all of your services on your Linux host, VM, or container. - [Datadog libraries][8]: Add Datadog tracing libraries to your application. -To learn more, see [automatic instrumentation][5]. +#### Use cases + +Some situations when you might use automatic instrumentation include: + +- Capturing essential observability data across common libraries and languages with minimal configuration. +- Enabling real-time monitoring with pre-configured settings for immediate insights into application performance. +- Simplifying the observability setup for projects where [custom instrumentation][6] is not required. ### Custom instrumentation @@ -50,14 +65,80 @@ Capture observability data from in-house code or complex functions that aren't c - [Datadog libraries][9]: Use Datadog tracing libraries to add and customize observability within Datadog. - [OpenTelemetry APIs][10]: Use OpenTelemetry API support in Datadog libraries to have vendor-neutral instrumentation of your code. -- [Dynamic Instrumentation][11]: Use Dynamic Instrumentation to add custom telemetry at specific code locations, from the Datadog UI. +- [Dynamic Instrumentation][11]: Use Dynamic Instrumentation to add custom telemetry at specific code locations from the Datadog UI, without code changes. -To learn more, see [custom instrumentation][6]. +#### Use cases + +Some situations when you might use custom instrumentation include: + +- Collecting observability data from custom code with unique or complex business logic. +- Providing deeper visibility and context into spans, including adding [span tags][12]. +- Precisely monitoring specific sequences of operations or user interactions that require fine-grained control. +- Removing unwanted spans from traces. {{< callout url="https://www.datadoghq.com/product-preview/service-discovery/" btn_hidden="false" header="Service discovery is in Preview">}} Service discovery provides complete visibility into the current state of application monitoring, highlighting any major gaps or broken traces in your system. {{< /callout >}} +## Instrumentation types comparison + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Automatic Instrumentation + + Custom Instrumentation +
Single Step InstrumentationSDK-based Auto InstrumentationCode-based Custom InstrumentationUI-based Custom Instrumentation
(a.k.a. Dynamic Instrumentation)
DescriptionAutomatically install and activate the Datadog tracing library at runtime (no code or SDK setup required).Add Datadog tracing libraries (SDKs) to your code. The SDK handles instrumentation automatically.Add explicit tracing API calls or span logic in your application code.Add instrumentation rules in the Datadog UI (dynamic, runtime; no code changes).
Code changes required?NoNo (aside from adding the SDK)YesNo
Environment config changes?NoYesYesNo
Set-up complexityLowMediumHighLow
Best forSRE, admins, or central teams who want tracing across services without developer involvement.App dev teams who want to instrument applications individually with granular control over configuration through environment variables.Teams needing custom logic, specialized spans, or visibility into custom code paths.Teams wanting to add spans, logs, or metrics to specific code locations at runtime without redeploying or modifying source code. Configuration is managed through the Datadog UI.
+ ## APM setup tutorials @@ -94,4 +175,4 @@ The following tutorials guide you through setting up distributed tracing for a s [8]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/ [9]: /tracing/trace_collection/custom_instrumentation/dd_libraries/ [10]: /tracing/trace_collection/custom_instrumentation/otel_instrumentation/ -[11]: /tracing/dynamic_instrumentation/ +[11]: /tracing/dynamic_instrumentation/ \ No newline at end of file diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/_index.md b/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/_index.md deleted file mode 100644 index 10c7c807c8683..0000000000000 --- a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/_index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Add the Datadog Tracing Library -type: multi-code-lang -aliases: - - /tracing/languages - - /tracing/setup_overview/setup/undefined - - /tracing/setup_overview/setup/ - - /tracing/trace_collection/dd_libraries/ ---- - -Set up your application to send [traces][1] using one of the following official Datadog tracing libraries: - -{{< partial name="apm/apm-compatibility.html" >}} - -
- -To instrument an application written in a language that does not yet have official library support, see the list of [community tracing libraries][2]. - - - -[1]: /tracing/glossary/#trace -[2]: /developers/community/libraries/#apm-tracing-client-libraries diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/configure_apm_features_linux.md b/content/en/tracing/trace_collection/configure_apm_features_linux.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/configure_apm_features_linux.md rename to content/en/tracing/trace_collection/configure_apm_features_linux.md diff --git a/content/en/tracing/trace_collection/custom_instrumentation/_index.md b/content/en/tracing/trace_collection/custom_instrumentation/_index.md index 23a7848874636..3c85bbc81a6e0 100644 --- a/content/en/tracing/trace_collection/custom_instrumentation/_index.md +++ b/content/en/tracing/trace_collection/custom_instrumentation/_index.md @@ -1,5 +1,5 @@ --- -title: Custom Instrumentation +title: Code-Based Custom Instrumentation description: Add custom spans, tags, and instrumentation to capture application-specific observability data using Datadog APIs and OpenTelemetry. further_reading: - link: 'tracing/guide/instrument_custom_method' @@ -16,21 +16,12 @@ algolia: ## Overview -Custom instrumentation allows for precise monitoring of specific components in your application. It allows you to capture observability data from in-house code or complex functions that aren't captured by automatic instrumentation. Automatic instrumentation includes [Single Step Instrumentation][5] or using [Datadog tracing libraries][6]. +Code-based custom instrumentation allows for precise monitoring of specific components in your application. It allows you to capture observability data from in-house code or complex functions that aren't captured by automatic instrumentation. Automatic instrumentation includes [Single Step Instrumentation][5] or using [Datadog tracing libraries][6]. -Custom instrumentation involves embedding tracing code directly into your application code. This allows for the programmatic creation, modification, or deletion of traces to send to Datadog. +Code-based custom instrumentation involves embedding tracing code directly into your application code. This allows for the programmatic creation, modification, or deletion of traces to send to Datadog.
To add custom instrumentation at specific application code locations from the Datadog UI, without code changes, see Dynamic Instrumentation.
-## Use cases - -Some situations when you might use custom instrumentation include: - -- Collecting observability data from custom code with unique or complex business logic. -- Providing deeper visibility and context into spans, including adding [span tags][1]. -- Precisely monitoring specific sequences of operations or user interactions that require fine-grained control. -- Removing unwanted spans from traces. - ## Getting started Before you begin, make sure you've already [installed and configured the Agent][7]. diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/_index.md b/content/en/tracing/trace_collection/dd_libraries/_index.md similarity index 50% rename from content/en/tracing/trace_collection/automatic_instrumentation/_index.md rename to content/en/tracing/trace_collection/dd_libraries/_index.md index d5381f7a83cae..39063a50ff824 100644 --- a/content/en/tracing/trace_collection/automatic_instrumentation/_index.md +++ b/content/en/tracing/trace_collection/dd_libraries/_index.md @@ -1,58 +1,26 @@ --- -title: Automatic Instrumentation -description: Learn about automatic instrumentation using Datadog tracing libraries, Single Step Instrumentation, or remote configuration. -algolia: - tags: ['apm automatic instrumentation'] -further_reading: - - link: "/tracing/glossary/" - tag: "Documentation" - text: "APM Terms and Concepts" - - link: "https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/" - tag: "Architecture Center" - text: "Instrument your app using the Datadog Operator and Admission Controller" +title: Add the Datadog Tracing Library +type: multi-code-lang +aliases: + - /tracing/languages + - /tracing/setup_overview/setup/undefined + - /tracing/setup_overview/setup/ --- ## Overview -Automatic instrumentation allows you to create spans automatically for your application. It allows you to capture observability data from a wide range of standard operations and popular frameworks with minimal manual intervention. You can automatically instrument your application when you install the Datadog Agent with [Single Step Instrumentation][5] or when you [manually add Datadog tracing libraries][6] to your code. - -## Use cases - -Some situations when you might use automatic instrumentation include: - -- Capturing essential observability data across common libraries and languages with minimal configuration. -- Enabling real-time monitoring with pre-configured settings for immediate insights into application performance. -- Simplifying the observability setup for projects where [custom instrumentation][7] is not required. - -## Getting started - -Follow the relevant documentation for your automatic instrumentation approach to learn more: - -{{< tabs >}} -{{% tab "Single Step Instrumentation" %}} - -If you install or update a Datadog Agent with the **Enable APM Instrumentation** option selected, the Agent is installed and configured to enable APM. This allows you to automatically instrument your application, without any additional installation or configuration steps. - -To get started, read the [Single Step Instrumentation][1] documentation. - -[1]: /tracing/trace_collection/automatic_instrumentation/single-step-apm - -{{% /tab %}} - -{{% tab "Datadog libraries" %}} - To automatically instrument your application with Datadog libraries: 1. [Install and configure the Agent](#install-and-configure-the-agent). 2. [Add the Datadog tracing library to your code](#instrument-your-application). -### Install and configure the Agent +## Install and configure the Agent Install and configure the Datadog Agent to receive traces from your instrumented application. By default, the Datadog Agent is configured to receive traces in your `datadog.yaml` file under `apm_config` with `enabled: true` and listens for trace data at `http://localhost:8126`. For containerized environments, follow the links below to enable trace collection within the Datadog Agent. -#### Containers +### Containers 1. Set `apm_non_local_traffic: true` in the `apm_config` section of your main [`datadog.yaml` configuration file][8]. 2. See the specific setup instructions to ensure that the Agent is configured to receive traces in a containerized environment: @@ -79,19 +47,19 @@ For containerized environments, follow the links below to enable trace collectio {{< /site-region >}} -#### AWS Lambda +### AWS Lambda To set up Datadog APM in AWS Lambda, see the [Tracing Serverless Functions][9] documentation. -#### Other environments +### Other environments Tracing is available for several other environments, such as [Heroku][10], [Cloud Foundry][11], [AWS Elastic Beanstalk][12], and [Azure App Service][13]. For other environments, see the [Integrations][14] documentation for that environment and [contact support][15] if you are encountering any setup issues. -### Instrument your application +## Instrument your application -Set up your application to send traces using one of the following official Datadog tracing libraries: +Set up your application to send [traces][2] using one of the following official Datadog tracing libraries: {{< partial name="apm/apm-languages.html" >}} @@ -99,7 +67,9 @@ Set up your application to send traces using one of the following official Datad To instrument an application written in a language that does not have official library support, see the list of [community tracing libraries][1]. + [1]: /developers/community/libraries/#apm-tracing-client-libraries +[2]: /tracing/glossary/#trace [8]: /agent/configuration/agent-configuration-files/#agent-main-configuration-file [9]: /tracing/serverless_functions/ [10]: /agent/basic_agent_usage/heroku/#installation @@ -107,20 +77,4 @@ To instrument an application written in a language that does not have official l [12]: /integrations/amazon_elasticbeanstalk/ [13]: /infrastructure/serverless/azure_app_services/#overview [14]: /integrations/ -[15]: /help/ -{{% /tab %}} -{{< /tabs >}} - -## Further reading - -{{< partial name="whats-next/whats-next.html" >}} - - -[2]: /tracing/trace_collection/custom_instrumentation/dd_libraries/ -[3]: /tracing/trace_collection/custom_instrumentation/otel_instrumentation -[4]: /tracing/trace_collection/custom_instrumentation/opentracing/ -[5]: /tracing/trace_collection/automatic_instrumentation/single-step-apm -[6]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/ -[7]: /tracing/trace_collection/custom_instrumentation/ - - +[15]: /help/ \ No newline at end of file diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/android.md b/content/en/tracing/trace_collection/dd_libraries/android.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/android.md rename to content/en/tracing/trace_collection/dd_libraries/android.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/cpp.md b/content/en/tracing/trace_collection/dd_libraries/cpp.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/cpp.md rename to content/en/tracing/trace_collection/dd_libraries/cpp.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core.md b/content/en/tracing/trace_collection/dd_libraries/dotnet-core.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core.md rename to content/en/tracing/trace_collection/dd_libraries/dotnet-core.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-framework.md b/content/en/tracing/trace_collection/dd_libraries/dotnet-framework.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-framework.md rename to content/en/tracing/trace_collection/dd_libraries/dotnet-framework.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/go.md b/content/en/tracing/trace_collection/dd_libraries/go.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/go.md rename to content/en/tracing/trace_collection/dd_libraries/go.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/ios.md b/content/en/tracing/trace_collection/dd_libraries/ios.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/ios.md rename to content/en/tracing/trace_collection/dd_libraries/ios.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/java.md b/content/en/tracing/trace_collection/dd_libraries/java.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/java.md rename to content/en/tracing/trace_collection/dd_libraries/java.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs.md b/content/en/tracing/trace_collection/dd_libraries/nodejs.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs.md rename to content/en/tracing/trace_collection/dd_libraries/nodejs.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/php.md b/content/en/tracing/trace_collection/dd_libraries/php.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/php.md rename to content/en/tracing/trace_collection/dd_libraries/php.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/python.md b/content/en/tracing/trace_collection/dd_libraries/python.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/dd_libraries/python.md rename to content/en/tracing/trace_collection/dd_libraries/python.md diff --git a/content/en/tracing/dynamic_instrumentation/_index.md b/content/en/tracing/trace_collection/dynamic_instrumentation/_index.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/_index.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/_index.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/_index.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/_index.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/_index.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/_index.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/dotnet.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/dotnet.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/dotnet.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/dotnet.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/java.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/java.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/java.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/java.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/nodejs.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/nodejs.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/nodejs.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/nodejs.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/php.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/php.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/php.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/php.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/python.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/python.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/python.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/python.md diff --git a/content/en/tracing/dynamic_instrumentation/enabling/ruby.md b/content/en/tracing/trace_collection/dynamic_instrumentation/enabling/ruby.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/enabling/ruby.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/enabling/ruby.md diff --git a/content/en/tracing/dynamic_instrumentation/expression-language.md b/content/en/tracing/trace_collection/dynamic_instrumentation/expression-language.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/expression-language.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/expression-language.md diff --git a/content/en/tracing/dynamic_instrumentation/sensitive-data-scrubbing.md b/content/en/tracing/trace_collection/dynamic_instrumentation/sensitive-data-scrubbing.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/sensitive-data-scrubbing.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/sensitive-data-scrubbing.md diff --git a/content/en/tracing/dynamic_instrumentation/symdb/_index.md b/content/en/tracing/trace_collection/dynamic_instrumentation/symdb/_index.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/symdb/_index.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/symdb/_index.md diff --git a/content/en/tracing/dynamic_instrumentation/symdb/dotnet.md b/content/en/tracing/trace_collection/dynamic_instrumentation/symdb/dotnet.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/symdb/dotnet.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/symdb/dotnet.md diff --git a/content/en/tracing/dynamic_instrumentation/symdb/java.md b/content/en/tracing/trace_collection/dynamic_instrumentation/symdb/java.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/symdb/java.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/symdb/java.md diff --git a/content/en/tracing/dynamic_instrumentation/symdb/python.md b/content/en/tracing/trace_collection/dynamic_instrumentation/symdb/python.md similarity index 100% rename from content/en/tracing/dynamic_instrumentation/symdb/python.md rename to content/en/tracing/trace_collection/dynamic_instrumentation/symdb/python.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/_index.md b/content/en/tracing/trace_collection/single-step-apm/_index.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/_index.md rename to content/en/tracing/trace_collection/single-step-apm/_index.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility.md b/content/en/tracing/trace_collection/single-step-apm/compatibility.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility.md rename to content/en/tracing/trace_collection/single-step-apm/compatibility.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/docker.md b/content/en/tracing/trace_collection/single-step-apm/docker.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/docker.md rename to content/en/tracing/trace_collection/single-step-apm/docker.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/kubernetes.md b/content/en/tracing/trace_collection/single-step-apm/kubernetes.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/kubernetes.md rename to content/en/tracing/trace_collection/single-step-apm/kubernetes.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/linux.md b/content/en/tracing/trace_collection/single-step-apm/linux.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/linux.md rename to content/en/tracing/trace_collection/single-step-apm/linux.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting.md b/content/en/tracing/trace_collection/single-step-apm/troubleshooting.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting.md rename to content/en/tracing/trace_collection/single-step-apm/troubleshooting.md diff --git a/content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/windows.md b/content/en/tracing/trace_collection/single-step-apm/windows.md similarity index 100% rename from content/en/tracing/trace_collection/automatic_instrumentation/single-step-apm/windows.md rename to content/en/tracing/trace_collection/single-step-apm/windows.md