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 Instrumentation |
+ SDK-based Auto Instrumentation |
+ Code-based Custom Instrumentation |
+ UI-based Custom Instrumentation (a.k.a. Dynamic Instrumentation) |
+
+
+
+
+ Description |
+ Automatically 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? |
+ No |
+ No (aside from adding the SDK) |
+ Yes |
+ No |
+
+
+ Environment config changes? |
+ No |
+ Yes |
+ Yes |
+ No |
+
+
+ Set-up complexity |
+ Low |
+ Medium |
+ High |
+ Low |
+
+
+ Best for |
+ SRE, 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