Repository: DataDog/documentation
Pull request #28056: Create new Code Origins doc page
Author: login: sstonehill12
Labels: name: Architecture
description: Everything related to the Doc backend
name: editorial review
description: Waiting on a more in-depth review
name: Images
description: Images are added/removed with this PR
name: Guide
description: Content impacting a guide
name: mergequeue-status: done
Created: 2025-03-10T17:23:41Z | Merged: 2025-04-24T03:26:48Z

<!-- *Note: Please remember to review the Datadog Documentation [Contribution Guidelines](https://github.com/DataDog/documentation/blob/master/CONTRIBUTING.md) if you have not yet done so.* -->

### What does this PR do? What is the motivation?
<!-- A brief description of the change being made with this pull request. What is your motivation for the PR? -->
Add new public docs page for Code Origins feature, and associated images.

### Merge instructions

<!-- 
If you're waiting for a release or there are other considerations that you want us to be aware of, list them here. 
If the PR is ready to be merged once it receives the required reviews, check the box below after you've created the PR.
-->

Merge readiness:
- [x] Ready for merge

Merge queue is enabled in this repo. To have it automatically merged after it receives the required reviews, create the PR (from a branch that follows the `<yourname>/description` naming convention) and then add the following PR comment:

```
/merge
```

### Additional notes
<!-- Anything else we should know when reviewing?-->

<!-- Previewing the PR: Assuming you are a Datadog employee and named your branch `<yourname>/<description>`, a preview build will run and links to the preview output will be auto-generated and posted in the PR comments. The links will 404 until the preview build is finished running. -->



Diff:
diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml
index f0a9c69c878..1fafcd1b34d 100644
--- a/config/_default/menus/main.en.yaml
+++ b/config/_default/menus/main.en.yaml
@@ -3792,6 +3792,11 @@ menu:
       url: tracing/trace_explorer/trace_queries/
       parent: trace_explorer
       weight: 606
+    - name: Code Origins for Spans
+      url: tracing/guide/code_origins
+      parent: tracing
+      identifier: tracing_code_origins
+      weight: 7
     - name: Service Observability
       url: tracing/services/
       parent: tracing
diff --git a/content/en/tracing/guide/_index.md b/content/en/tracing/guide/_index.md
index 959934f08c3..3b859787bdd 100644
--- a/content/en/tracing/guide/_index.md
+++ b/content/en/tracing/guide/_index.md
@@ -83,4 +83,5 @@ These tutorials walk you through setting up a sample multi-service application w
     {{< nextlink href="/tracing/guide/aws_payload_tagging/" >}}Capture requests and responses from AWS services automatically{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/service_overrides/" >}}Service Overrides{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/injectors/" >}}Understanding injector behavior with Single Step Instrumentation{{< /nextlink >}}
+    {{< nextlink href="/tracing/guide/code_origins/" >}}Code Origins for Spans{{< /nextlink >}}
 {{< /whatsnext >}}
diff --git a/content/en/tracing/guide/code_origins.md b/content/en/tracing/guide/code_origins.md
new file mode 100644
index 00000000000..12910447780
--- /dev/null
+++ b/content/en/tracing/guide/code_origins.md
@@ -0,0 +1,110 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives|
+| Node.js | 4.49.0+ | Fastify|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+    - Supported IDEs: IntelliJ, VS Code
+    - Supported Languages: Java, Python
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
+1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
+    - In particular, check whether your service's language and framework support Code Origins.
+1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:*` in the [Trace Explorer][1].
+1. Enable [Source Code Integration][7] to see code previews in the APM Trace side panel.
+
+
+## Further Reading
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: https://app.datadoghq.com/apm/traces
+[2]: /tracing/services/service_page/
+[3]: /tracing/services/resource_page/ 
+[4]: /developers/ide_plugins/
+[5]: /dynamic_instrumentation/
+[6]: /tracing/trace_collection/
+[7]: /integrations/guide/source-code-integration/
+[8]: /tracing/trace_collection/compatibility/nodejs#web-framework-compatibility
diff --git a/static/images/tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png b/static/images/tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png
new file mode 100644
index 00000000000..d4858b738a0
Binary files /dev/null and b/static/images/tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png differ
diff --git a/static/images/tracing/guide/code_origins/code_origin_details_spotlight.png b/static/images/tracing/guide/code_origins/code_origin_details_spotlight.png
new file mode 100644
index 00000000000..afb93cb7f0f
Binary files /dev/null and b/static/images/tracing/guide/code_origins/code_origin_details_spotlight.png differ
diff --git a/static/images/tracing/guide/code_origins/code_origin_ide_details.png b/static/images/tracing/guide/code_origins/code_origin_ide_details.png
new file mode 100644
index 00000000000..60077631ce1
Binary files /dev/null and b/static/images/tracing/guide/code_origins/code_origin_ide_details.png differ


Reviews:
user: login: evanchooly
state: CHANGES_REQUESTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T13:48:43Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T14:57:01Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T14:57:40Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T14:58:01Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T14:59:43Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T15:00:20Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T19:00:51Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T19:01:09Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T19:01:59Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T19:31:12Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T21:03:13Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-25T21:03:48Z
user: login: evanchooly
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-03T13:42:29Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-09T12:50:04Z
user: login: tylfin
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-09T12:50:19Z
user: login: tylfin
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-11T16:08:55Z
user: login: tylfin
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-16T21:02:16Z
user: login: domalessi
body: Thanks for writing this up, @sstonehill12! Left some Qs, comments, and suggestions. Give everything a look-through, let me know if you have questions, and hit me up when this is ready for re-review!
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T19:14:27Z
user: login: domalessi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T19:19:20Z
user: login: evanchooly
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-18T13:39:06Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-18T15:56:16Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-18T16:01:12Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-18T16:33:44Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-18T16:58:05Z
user: login: domalessi
body: Just a few minor things! 
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-19T19:53:11Z
user: login: evanchooly
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T14:58:28Z
user: login: evanchooly
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T14:59:03Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T15:06:04Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T15:10:30Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T15:13:52Z
user: login: domalessi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T16:12:08Z
user: login: duviduduvid
body: 👍🏽 Left only minor comments
state: APPROVED
author_association: NONE
submitted_at: 2025-04-21T16:15:00Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T17:39:10Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T17:47:17Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T17:57:44Z
user: login: evanchooly
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-21T22:13:27Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T02:54:08Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T02:54:27Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T02:56:30Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:00:17Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:03:23Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:04:16Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:07:30Z
user: login: OmerRaviv
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:08:18Z
user: login: OmerRaviv
body: LGTM, left a few comments
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T03:08:35Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T15:33:27Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T15:37:09Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T15:41:10Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T15:55:28Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T16:10:18Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T16:11:32Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T16:12:01Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T16:45:52Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T18:33:29Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T18:37:59Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T19:01:32Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T19:18:00Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T19:18:56Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T21:18:16Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T22:04:34Z
user: login: domalessi
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-23T17:17:50Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-24T02:37:50Z
user: login: sstonehill12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-24T02:38:16Z

Review comments:
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: Where did this come from?  I can't find any trace (pun intended) of this type in `dd-trace-java`.
created_at: 2025-03-25T13:43:23Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: at least in the java tracer, this was renamed to DD_CODE_ORIGIN_FOR_SPANS_ENABLED.  Alternately, the flag `-Ddd.code.origin.for.spans.enabled=true` can be passed to the JVM at start up.
created_at: 2025-03-25T13:46:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:

- Debug performance issues
- Understand code execution flow
- Identify performance bottlenecks
- Onboard new team members
```
created_at: 2025-03-25T14:57:01Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
- [Datadog APM][6] configured to capture spans
- Service meets the [Compatibility Requirements](#compatibility-requirements) below
- [Source Code Integration][7] enabled (recommended for code previews)
```
created_at: 2025-03-25T14:57:39Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
Enable Code Origins through environment variables or tracing library configuration:
```
created_at: 2025-03-25T14:58:01Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
+```
+
+{{% /tab %}}
+{{< /tabs >}}
+
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+**Entry spans**: The Code Origin is the first method in the application code that handles the incoming request. When a service is [instrumented][6], we use the APM integration metadata to identify the source code location where incoming requests enter the system.
+
+**Exit spans**: The Code Origin is the specific line of code that made the outgoing request to a downstream service/component. By examining the call stack, we can identify the line of code where an exit span starts, instrument that line, and decorate the span accordingly. Third-party code is skipped when walking the call stack. 
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins has negligible performance overhead that is virtually unnoticeable in production environments.
+
+**Pricing Impact**: Code Origins will have no additional impact on billing.
+
+## Troubleshooting
+
+If you don't see Code Origin information:
+
+1. Verify that Code Origins is enabled in your tracing library configuration.
+2. Confirm all [Compatibility Requirements](#compatibility-requirements) are met.
+3. Note that Code Origin information is only available on entry spans for most services.
+4. Code Origins does not support third-party code.
+5. Enable [Source Code Integration][7] to see the application code preview in the Code Origin section of the APM Trace details.
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
If Code Origin information is missing:

1. Verify Code Origins is enabled in your tracing library configuration
2. Check that your service meets all [Compatibility Requirements](#compatibility-requirements)
3. Most services only show Code Origin information on entry spans
4. Code Origins does not capture third-party code
5. Enable [Source Code Integration][7] to see code previews in the APM Trace details
```
created_at: 2025-03-25T14:59:42Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
+```
+
+{{% /tab %}}
+{{< /tabs >}}
+
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+**Entry spans**: The Code Origin is the first method in the application code that handles the incoming request. When a service is [instrumented][6], we use the APM integration metadata to identify the source code location where incoming requests enter the system.
+
+**Exit spans**: The Code Origin is the specific line of code that made the outgoing request to a downstream service/component. By examining the call stack, we can identify the line of code where an exit span starts, instrument that line, and decorate the span accordingly. Third-party code is skipped when walking the call stack. 
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
Code Origins captures two types of spans:

**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.

**Exit spans**: Shows the exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
```
created_at: 2025-03-25T15:00:19Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Yep this was definitely made up by Cursor! I'll swap it out with the JVM flag instructions.
created_at: 2025-03-25T19:00:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Will update!
created_at: 2025-03-25T19:01:09Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
+```
+
+{{% /tab %}}
+{{< /tabs >}}
+
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+**Entry spans**: The Code Origin is the first method in the application code that handles the incoming request. When a service is [instrumented][6], we use the APM integration metadata to identify the source code location where incoming requests enter the system.
+
+**Exit spans**: The Code Origin is the specific line of code that made the outgoing request to a downstream service/component. By examining the call stack, we can identify the line of code where an exit span starts, instrument that line, and decorate the span accordingly. Third-party code is skipped when walking the call stack. 
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @tylfin Beautiful! Will commit this suggestion.
created_at: 2025-03-25T19:01:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,159 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins is a feature that helps you understand where your APM spans originate from in your codebase. When enabled, it automatically captures the file path, line number, and function name where each span was created, giving you deeper visibility into your application's execution flow.
+
+This information is particularly valuable when:
+- Debugging performance issues
+- Understanding which parts of your code are being executed
+- Identifying hot spots in your application
+- Onboarding new team members to your codebase
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- Set up [Datadog APM][6] to capture spans and view them in the Traces Explorer.
+- Service must meet the [Compatibility Requirements](#compatibility-requirements) below.
+- (Recommended) For the best experience, enable [Source Code Integration][7] to see Code Origin application code previews.
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+You can enable Code Origins through environment variables or Datadog tracing library configuration:
+
+{{< tabs >}}
+{{% tab "Java" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/">Java tracing library</a> version 1.47.0 or later is required. Spring Boot/Data, gRPC servers, Micronaut 4, and Kafka consumers are supported.</div>
+
+```java
+import datadog.trace.api.DDTrace;
+
+// Enable/disable Code Origins
+DDTrace.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Python" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/python/">Python tracing library</a> version 2.15.0 or later is required. Django, Flask, and Starlette (and Starlette derivatives) are supported.</div>
+
+```python
+import ddtrace
+
+# Enable/disable Code Origins
+ddtrace.config.code_origins.enabled = True
+```
+
+{{% /tab %}}
+{{% tab "Node.js" %}}
+
+<div class="alert alert-info"><a href="/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/">Node.js tracing library</a> version 4.49.0 or later is required. Both Entry and exit spans are supported on Fastify apps; Only exit spans are supported for all other apps.</div>
+
+```javascript
+const tracer = require('dd-trace').init();
+
+// Enable/disable Code Origins
+tracer.enableCodeOrigins();
+```
+
+{{% /tab %}}
+{{% tab "Environment Variables" %}}
+
+```bash
+# Enable/disable Code Origins
+DD_TRACE_CODE_ORIGINS_ENABLED=true
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Decided to remove the language-specific instructions and keep the environment variable instructions only - for simplicity!
created_at: 2025-03-25T19:31:12Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,117 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```bash
+# Enable/disable Code Origins
+DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
```
created_at: 2025-03-25T21:03:13Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,117 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry spans only)|
+| Node.js | `4.49.0` or later | Fastify (supports both entry & exit spans), All other [APM-supported integrations][8] (support exit spans only)|
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```bash
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: I don't know why, but if you make it `shell` instead of `bash`, it will render with a Copy button

```suggestion
```shell
```
created_at: 2025-03-25T21:03:47Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,117 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: "from" is unnecessary here
created_at: 2025-04-03T13:39:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -82,4 +82,5 @@ These tutorials walk you through setting up a sample multi-service application w
     {{< nextlink href="/tracing/guide/setting_up_apm_with_kubernetes_service/" >}}Setting up APM with Kubernetes Service{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/aws_payload_tagging/" >}}Capture requests and responses from AWS services automatically{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/service_overrides/" >}}Service Overrides{{< /nextlink >}}
+    {{< nextlink href="/tracing/guide/code_origins/" >}}Capture Code Origins for spans{{< /nextlink >}}
path: content/en/tracing/guide/_index.md
user: login: evanchooly
body: I'm not sure about the "Capture" here.  Makes more sense, to me, to just have "Code Origins for spans."  And maybe capitalize "spans" here if this is supposed to be a section title.
created_at: 2025-04-03T13:40:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,117 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate from in your codebase"
path: content/en/tracing/guide/code_origins.md
user: login: tylfin
body: ```suggestion
description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
```
created_at: 2025-04-09T12:50:03Z
author_association: MEMBER
diff_hunk: @@ -82,4 +82,5 @@ These tutorials walk you through setting up a sample multi-service application w
     {{< nextlink href="/tracing/guide/setting_up_apm_with_kubernetes_service/" >}}Setting up APM with Kubernetes Service{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/aws_payload_tagging/" >}}Capture requests and responses from AWS services automatically{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/service_overrides/" >}}Service Overrides{{< /nextlink >}}
+    {{< nextlink href="/tracing/guide/code_origins/" >}}Capture Code Origins for spans{{< /nextlink >}}
path: content/en/tracing/guide/_index.md
user: login: tylfin
body: ```suggestion
    {{< nextlink href="/tracing/guide/code_origins/" >}}Code Origins for Spans{{< /nextlink >}}
```
created_at: 2025-04-09T12:50:19Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
Code Origins is currently in Preview. To join the preview, follow the instructions below. 

To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 

For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
```
created_at: 2025-04-17T17:46:24Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
```
created_at: 2025-04-17T17:48:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: I like the call-out for onboarding new team members, but it's a bit of a stretch to connect the dots between Code Origins functionality and the onboarding process. I think the reasons why it might help onboard new team members is covered in the earlier bullet (in particular, I think it helps newbies understand code execution flow). 
```suggestion
```
created_at: 2025-04-17T17:51:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Hmm... It's not entirely clear to me what I'm looking at? Perhaps a one-liner introducing the image could help. It's not immediately clear to me how to interpret the image, especially since it's fairly code-heavy (i.e., it's not simply seeing a UI -- there's some light code-interpretation that I think is required here).
created_at: 2025-04-17T17:53:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
- [Datadog APM][6] is configured to capture spans.
- [Source Code Integration][7] is enabled (recommended for code previews).
- Your service meets the [compatibility requirements](#compatibility-requirements).
```
created_at: 2025-04-17T18:03:36Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
```
created_at: 2025-04-17T18:05:49Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
Run your service with the following environment variable:
```
created_at: 2025-04-17T18:06:39Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
### In the Trace Explorer

1. Navigate to the [Trace Explorer][1].
```
created_at: 2025-04-17T18:25:48Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
+
+**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.
+
+**Exit spans**: Shows the exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins has negligible performance overhead that is virtually unnoticeable in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins will have no additional impact on billing.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is enabled in your tracing library configuration
+2. Check that your service meets all [Compatibility Requirements](#compatibility-requirements)
+3. Check the service language and framework support for capturing Code Origins on entry and/or exit spans
+4. Filter spans with Code Origins in the Traces explorer using the search query: `@_dd.code_origin.type:*`
+5. Code Origins does not capture third-party code
+6. Enable [Source Code Integration][7] to see code previews in the APM Trace details
+
+## Further Reading
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /tracing/trace_explorer/
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: I think it's more helpful to link directly to the app for the step-by-step instructions.

```suggestion
[1]: https://app.datadoghq.com/apm/traces
```
created_at: 2025-04-17T18:27:24Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: We try to stay away from documenting a future state 😞 

```suggestion
```
created_at: 2025-04-17T18:29:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Can we include an image specific to #3 to help users identify the section? Maybe draw a little circle or arrow to highlight the Code Origin piece?
created_at: 2025-04-17T18:33:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: I recommend moving this image under step number 4 and drawing a circle around the code in line 103 + the "Create Instrumentation" pop-up to draw the eye into that. 
created_at: 2025-04-17T18:35:37Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
```
created_at: 2025-04-17T18:41:09Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.

    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}

```
created_at: 2025-04-17T18:42:55Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Where are users clicking on a span? From within the IDE or from the Datadog app? Can we clarify that? Including a suggestion but I don't know if this is the intended meaning...

```suggestion
3. Click any span in the Datadog app to jump directly to its code location within your IDE.
```
created_at: 2025-04-17T18:45:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Moved this to be under step 1. 

```suggestion
```
created_at: 2025-04-17T18:45:47Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
1. Set up your [Datadog IDE Integration][4].
    <div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
```
created_at: 2025-04-17T18:46:13Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Moved this to be under step 2.

```suggestion
```
created_at: 2025-04-17T18:46:42Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
Code Origins identifies the source code locations where APM spans originate. It captures two types of spans:
```
created_at: 2025-04-17T18:49:36Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
+
+**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Clarification Q: When you say "Shows", what is the thing doing the "showing"? Code Origins or Entry spans?

```suggestion
**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
```
created_at: 2025-04-17T18:51:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
+
+**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.
+
+**Exit spans**: Shows the exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins has negligible performance overhead that is virtually unnoticeable in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins will have no additional impact on billing.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
**Pricing Impact**: While in Preview, Code Origins has no impact on billing.
```
created_at: 2025-04-17T18:53:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
+
+**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.
+
+**Exit spans**: Shows the exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins has negligible performance overhead that is virtually unnoticeable in production environments.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
```
created_at: 2025-04-17T18:53:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
+
+<div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+
+{{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins captures two types of spans:
+
+**Entry spans**: Shows the first method in your application code that handles an incoming request. The APM integration identifies the source code location where requests enter your system.
+
+**Exit spans**: Shows the exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins has negligible performance overhead that is virtually unnoticeable in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins will have no additional impact on billing.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is enabled in your tracing library configuration
+2. Check that your service meets all [Compatibility Requirements](#compatibility-requirements)
+3. Check the service language and framework support for capturing Code Origins on entry and/or exit spans
+4. Filter spans with Code Origins in the Traces explorer using the search query: `@_dd.code_origin.type:*`
+5. Code Origins does not capture third-party code
+6. Enable [Source Code Integration][7] to see code previews in the APM Trace details
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
    - In particular, check whether your service's language and framework support Code Origins for entry and/or exit spans.
1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:* in the [Trace Explorer][1].
1. Enable [Source Code Integration][7] to see code previews in the APM Trace details.

**Note**: Code Origins does not capture third-party code.
```
created_at: 2025-04-17T19:12:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -82,4 +82,5 @@ These tutorials walk you through setting up a sample multi-service application w
     {{< nextlink href="/tracing/guide/setting_up_apm_with_kubernetes_service/" >}}Setting up APM with Kubernetes Service{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/aws_payload_tagging/" >}}Capture requests and responses from AWS services automatically{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/service_overrides/" >}}Service Overrides{{< /nextlink >}}
+    {{< nextlink href="/tracing/guide/code_origins/" >}}Code Origins for Spans{{< /nextlink >}}
path: content/en/tracing/guide/_index.md
user: login: domalessi
body: Also... Just want to confirm that the intention is to add the page to Guides and not include it in the left-hand nav? Guides are typically about more detailed use cases as opposed to describing how to use a sub-product/feature. I think Guides is fine if you're cool with the content being a bit more hidden. 
created_at: 2025-04-17T19:19:20Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: "any span" isn't quite right as not every span will have code origin attached.  it may in the future but we try to stay away from documenting a future state.  ;) 
created_at: 2025-04-18T13:39:06Z
author_association: CONTRIBUTOR
diff_hunk: @@ -82,4 +82,5 @@ These tutorials walk you through setting up a sample multi-service application w
     {{< nextlink href="/tracing/guide/setting_up_apm_with_kubernetes_service/" >}}Setting up APM with Kubernetes Service{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/aws_payload_tagging/" >}}Capture requests and responses from AWS services automatically{{< /nextlink >}}
     {{< nextlink href="/tracing/guide/service_overrides/" >}}Service Overrides{{< /nextlink >}}
+    {{< nextlink href="/tracing/guide/code_origins/" >}}Code Origins for Spans{{< /nextlink >}}
path: content/en/tracing/guide/_index.md
user: login: sstonehill12
body: I just pushed a change to add it to the left-hand nav menu as well! Thanks for the reminder. 
created_at: 2025-04-18T15:56:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: For this one, I think we should keep it closer to the original instruction. The key is that they are including that env variable when they run their service, but depending on the language and configuration setup, it might not be run as a command per se. 
created_at: 2025-04-18T16:01:11Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Was there meant to be a suggested code change here?
created_at: 2025-04-18T16:33:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on variables referenced the source code to add them as attributes on future spans using [Dynamic Instrumentation][5].
+5. (Coming Soon) Click on "Start Debug Session" to open Live Debugger and begin capturing logs at this code location in real-time.
+
+{{< img src="tracing/guide/code_origins/code_origin_traces_explorer.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. See RED metrics as code annotations above your endpoint methods.
+3. Quickly navigate to the code location of a given APM span visible from your IDE. 
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Removing this one for now because it's an IDE plugin-specific feature that I don't have a screenshot or other docs to support!
created_at: 2025-04-18T16:58:05Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Totally fair. In that case, let's just switch to "the following environment variable"? We try to avoid directional terms in the docs!
created_at: 2025-04-19T19:01:32Z
author_association: CONTRIBUTOR
path: static/images/tracing/guide/code_origins/code_origin_add_span_tags_spotlight.png
user: login: domalessi
body: Can we also put a little spotlight box around Code Origin? 
created_at: 2025-04-19T19:39:03Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tags_spotlight.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+    <div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+
+**Exit spans**: The exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
+1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
+    - In particular, check whether your service's language and framework support Code Origins for entry and/or exit spans.
+1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:* in the [Trace Explorer][1].
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: ```suggestion
1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:*` in the [Trace Explorer][1].
```
created_at: 2025-04-19T19:41:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tags_spotlight.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+    <div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Does this make sense? Trying to align "entry span(s)" and "first method(s)" in terms of singular/plural. 

```suggestion
**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
```
created_at: 2025-04-19T19:47:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tags_spotlight.png" alt="Code Origin in Traces Explorer" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+    <div class="alert alert-info">Supported IDEs: JetBrains, Visual Studio Code</div>
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+
+**Exit spans**: The exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Same thing here. Trying to align singular/plural. Does this make sense? 

```suggestion
**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
```
created_at: 2025-04-19T19:49:20Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
 
-**Exit spans**: The exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: mentioning the stack walking is an implementation detail that's unnecessary and I'm not sure it's 100% applicable across all tracers.
created_at: 2025-04-21T14:58:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
path: content/en/tracing/guide/code_origins.md
user: login: evanchooly
body: These two sentences are basically saying the same thing but in different words.  They're also a bit repetitive.
created_at: 2025-04-21T14:59:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To participate in the preview, simply follow the set up instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">fill out this form</a> with as much detail as possible. 
+
+For urgent issues, please contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact location in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+- Onboard new team members
+
+{{< img src="tracing/guide/code_origins/code_origin_details.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] configured to capture spans
+- Service meets the [Compatibility Requirements](#compatibility-requirements) below
+- [Source Code Integration][7] enabled (recommended for code previews)
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | `1.47.0` or later | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | `2.15.0` or later | Django, Flask, Starlette and derivatives (entry & exit spans)|
+| Node.js | `4.49.0` or later | Fastify (entry & exit spans), All other [APM-supported integrations][8] ( exit spans only)|
+| .NET | `3.15.0` or later | ASP.NET, ASP.NET Core (entry & exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the below environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Added! Same image reference as at the top of the page.
created_at: 2025-04-21T15:06:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @evanchooly I don't disagree! But in an effort to explain "how it works" at a high-level, is there a better way you can think of to describe this?
created_at: 2025-04-21T15:10:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
 
-**Exit spans**: The exact line of code that makes an outgoing request to a downstream service. The tracer examines the call stack to identify the line where an exit span starts, skipping third-party code.
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @evanchooly This is true, but we do have a note below as a disclaimer that some tracing libraries may have slightly different implementations. The goal for this "How it works" section is to give a little more context for curious users without information overload. I'm open to wording changes if you have suggestions!
created_at: 2025-04-21T15:13:52Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
path: content/en/tracing/guide/code_origins.md
user: login: duviduduvid
body: (nit picky) Shouldn't it say "...look for the "Code Origin" section in the **Overview** tab" ?
created_at: 2025-04-21T16:09:22Z
author_association: NONE
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
path: content/en/tracing/guide/code_origins.md
user: login: domalessi
body: Fair point... I don't know that this "How it works" section adds a ton of value, unless customers are frequently asking about these details? 

I'm leaning towards deleting the "How it works" section altogether. And then if we want to make reference to entry and exit spans specifically, maybe we can fold them into the Overview section and link out to their glossary definitions ([service entry span](https://docs.datadoghq.com/glossary/#service-entry-span), service exist span - term does not yet exist in Glossary but I can add it). 
created_at: 2025-04-21T16:12:08Z
author_association: CONTRIBUTOR
path: static/images/tracing/guide/code_origins/code_origin_details_spotlight.png
user: login: duviduduvid
body: Perhaps worth retaking this screenshot because the design of the code section has changed a bit - its background is grey instead of white.
created_at: 2025-04-21T16:14:22Z
author_association: NONE
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: I didn't include that detail on purpose, because there is some discussion with the APM traces team about whether it will be moved to another tab!
created_at: 2025-04-21T17:39:10Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,9 +89,9 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
 
 Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
 
-**Entry spans**: The first method in your application code that handles an incoming request. The APM integration pinpoints the line of code where requests enter your system.
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Customer questions about how our products work are really common actually - which is why I actually wanted to include this section.

From my limited experience so far, understanding the "how it works" is often a prerequisite for customers enabling the feature at all.

I'd like to have this section in the docs that we can at least link to, and we can improve the content as we get feedback from customers.
created_at: 2025-04-21T17:47:17Z
author_association: CONTRIBUTOR
path: static/images/tracing/guide/code_origins/code_origin_details_spotlight.png
user: login: sstonehill12
body: Ah it's such a minor difference, especially with the spotlight effect.. I don't think customers will notice the difference to be honest! I'll wait to update the image when there's a more significant UI change :) 
created_at: 2025-04-21T17:57:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: ```suggestion
| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry spans only)| 
```
created_at: 2025-04-22T02:54:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: See release notes for reference https://github.com/DataDog/dd-trace-dotnet/releases
created_at: 2025-04-22T02:54:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: We should specify which IDEs here - I believe right now this only works in IntelliJ? Probably best to ask @thibaultkrebs  to review this section and add that detail.
created_at: 2025-04-22T02:56:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: ```suggestion
```
This seems too vague to be useful - and also might flare up performance concerns from customers needlessly. Instead, maybe we should just say that exit spans are only supported in some runtimes?
created_at: 2025-04-22T03:00:17Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: This seems like to much of a deterrent - can we make a decision now about whether we want to charge for it or no now, and then either alter or delete this text? My concern is that we will scare aware customers now, for the vague concern that we *might* want to charge for it later.
```suggestion
```
created_at: 2025-04-22T03:03:22Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: Does this really deserve its own section? Maybe fold into 'How it works'?
created_at: 2025-04-22T03:04:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
+1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
+    - In particular, check whether your service's language and framework support Code Origins for entry and/or exit spans.
+1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:*` in the [Trace Explorer][1].
+1. Enable [Source Code Integration][7] to see code previews in the APM Trace details.
+
+**Note**: Code Origins does not capture third-party code.
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: ```suggestion
```

Potentially too confusing, and we already address this in the "How it works" section.
created_at: 2025-04-22T03:07:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
+1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
+    - In particular, check whether your service's language and framework support Code Origins for entry and/or exit spans.
+1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:*` in the [Trace Explorer][1].
+1. Enable [Source Code Integration][7] to see code previews in the APM Trace details.
path: content/en/tracing/guide/code_origins.md
user: login: OmerRaviv
body: ```suggestion
1. Enable [Source Code Integration][7] to see code previews in the APM Trace side panel.
```
created_at: 2025-04-22T03:08:17Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv I got confirmation from Matan last week that .NET supports both entry and exit! [Slack thread](https://dd.slack.com/archives/G01AQ0HN9C3/p1744750280167169)
created_at: 2025-04-22T15:33:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv I actually purposefully removed the specific IDE names so that the IDE Integration pages can be the source of truth for Code Origins support! Wanted to minimize risk of having stale info on our page. But I can add it back if you feel strongly. LMK, otherwise I'll keep as is.
created_at: 2025-04-22T15:37:09Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv I included this because it's the second-most asked question I've heard from customers so far, besides "how does it work?". I figure it'll make the docs easier to skim through if they see their question in the TOC. 
created_at: 2025-04-22T15:41:10Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv From on my conversation with Antoine, he is against making this a forever-free feature, given that the extra CO metadata could double or triple the # bytes for a given span ([example](https://dd.datad0g.com/api/ui/trace/67f7c0e500000000a447c60608e74052)) and DD has to eat the cost if we don't charge for that extra data.

I'd argue that customers would be more hesitant to enable it if we say nothing about how it will impact their billing.

I could revise the second sentence to give a bit more comfort around the ability to opt-out once it goes into GA.
created_at: 2025-04-22T15:55:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: ```suggestion
**Pricing Impact**: While in Preview, Code Origins has no impact on billing. All organizations that enable Code Origins during the Preview period will be notified 30 days before any pricing changes go into effect.
```
@OmerRaviv What do you think about this alternative?
created_at: 2025-04-22T16:10:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv Check my suggested change below!
created_at: 2025-04-22T16:11:32Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
+
+## Troubleshooting
+
+If Code Origin information is missing:
+
+1. Verify Code Origins is [enabled](#enable-code-origins) in your tracing library configuration.
+1. Confirm that your service meets all [compatibility requirements](#compatibility-requirements).
+    - In particular, check whether your service's language and framework support Code Origins for entry and/or exit spans.
+1. Filter for spans that include Code Origins using the query `@_dd.code_origin.type:*` in the [Trace Explorer][1].
+1. Enable [Source Code Integration][7] to see code previews in the APM Trace details.
+
+**Note**: Code Origins does not capture third-party code.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Agree!
created_at: 2025-04-22T16:12:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: @OmerRaviv This note wasn't actually meant to refer to entry/exit span support! It was more of a disclaimer for any tracers that don't do the stack walk method to identify exit spans. 

I can definitely call out the specific tracer libraries that do stack walk vs. another method - I just need to know which ones!

My goal is to hit a balance of an acceptable "How it works" explanation without information overload. LMK what you think!
created_at: 2025-04-22T16:45:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Just spoke with @OmerRaviv and we believe exit spans are disabled for .NET at this time. Will confirm with Matan offline!
created_at: 2025-04-22T18:33:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: I will check with Thibault and add the list of supported IDEs here.
created_at: 2025-04-22T18:37:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Spoke with @OmerRaviv and we're going to remove this section for now until we have more final answers about exit spans/billing implications.
created_at: 2025-04-22T19:01:32Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Decided to remove this section altogether for now.
created_at: 2025-04-22T19:17:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Given decision to exclude mention of exit spans in the docs for now, I'll remove this How it works section as well, since there's not enough additional info it provides without the Exit spans definition.
created_at: 2025-04-22T19:18:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,127 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
+{{< /beta-callout >}}
+
+## Overview
+
+Code Origins captures the exact locations in your codebase where APM spans are created. When enabled, it automatically adds file path, line number, and function name to each span, making it easier to:
+
+- Debug performance issues
+- Understand code execution flow
+- Identify performance bottlenecks
+
+In Trace Explorer, select a span to see Code Origin details on the Overview tab:
+{{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details" style="width:100%;">}}
+
+
+## Getting started
+
+### Prerequisites
+- [Datadog APM][6] is configured to capture spans.
+- [Source Code Integration][7] is enabled (recommended for code previews).
+- Your service meets the [compatibility requirements](#compatibility-requirements).
+
+### Compatibility requirements
+
+| Runtime Language | Tracing Library Version | Frameworks |
+|---|---|---|
+| Java | 1.47.0+ | Spring Boot/Data, gRPC servers, Micronaut 4, Kafka consumers (entry spans only)|
+| Python | 2.15.0+ | Django, Flask, Starlette and derivatives (entry and exit spans)|
+| Node.js | 4.49.0+ | Fastify (entry and exit spans), all other [APM-supported integrations][8] (exit spans only)|
+| .NET | 3.15.0+ | ASP.NET, ASP.NET Core (entry and exit spans)| 
+
+### Enable Code Origins
+
+Run your service with the following environment variable:
+
+```shell
+export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
+```
+
+## Using Code Origins
+
+### In the Trace Explorer
+
+1. Navigate to the [Trace Explorer][1].
+2. Click on any trace to view its details.
+3. In the span details panel, look for the "Code Origin" section.
+
+    {{< img src="tracing/guide/code_origins/code_origin_details_spotlight.png" alt="Code Origin Details in Traces Explorer" style="width:100%;">}}
+
+4. Optionally, click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+  
+    {{< img src="tracing/guide/code_origins/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Add span tag with Dynamic Instrumentation" style="width:100%;">}}  
+
+### In your IDE
+
+1. Set up your [Datadog IDE Integration][4].
+2. View RED metrics (Requests, Errors, and Duration) as inline annotations above your endpoint methods.
+
+    {{< img src="tracing/guide/code_origins/code_origin_ide_details.png" alt="Code Origin Details in IDE" style="width:100%;">}}
+
+## How it works
+
+Code Origins identifies the source code locations where APM spans originate. Code Origin details are captured for two types of spans:
+
+**Entry spans:** These represent the first method(s) in your application code that handle incoming requests. The APM integration pinpoints the line of code where each request enters your system.
+
+**Exit spans:** These represent the lines of code in your application that make outgoing requests to downstream services. The tracer examines the call stack to identify where each exit span originates, skipping third-party code.
+
+<div class="alert alert-info">Note: Some tracing libraries may have slightly different implementations to optimize for performance.</div>
+
+## Impact on performance and billing
+
+**Performance Impact**: Code Origins adds negligible performance overhead in production environments.
+
+**Pricing Impact**: While in Preview, Code Origins has no impact on billing. Any changes related to Code Origins that have an impact on pricing will be communicated before going into effect.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: Removed this section in latest version.
created_at: 2025-04-22T21:18:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,112 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For urgent issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: ```suggestion
For time-sensitive issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
```
created_at: 2025-04-22T22:04:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,112 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
+For time-sensitive issues, contact <a href="https://www.datadoghq.com/support/">Datadog support</a>.
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: ```suggestion
```
created_at: 2025-04-24T02:37:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,112 @@
+---
+title: Code Origins for Spans
+description: "Learn how to use Code Origins to understand where your spans originate in your codebase"
+further_reading:
+- link: "/tracing/glossary/"
+  tag: "Documentation"
+  text: "Learn about APM terms and concepts"
+- link: "/tracing/trace_collection/"
+  tag: "Documentation"
+  text: "Learn how to set up APM tracing with your application"
+- link: "/tracing/services/service_page/"
+  tag: "Documentation"
+  text: "Learn more about services in Datadog"
+- link: "/tracing/services/resource_page/"
+  tag: "Documentation"
+  text: "Dive into your resource performance and traces"
+- link: "/dynamic_instrumentation/"
+  tag: "Documentation"
+  text: "Learn how to add custom spans with Dynamic Instrumentation"
+
+---
+
+{{< beta-callout url="#" btn_hidden="true" >}}
+Code Origins is currently in Preview. To join the preview, follow the instructions below. 
+
+To submit questions, feedback, or requests related to Code Origins, fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLScyeRsF2GJjYdf9bUyeDjt8_9id-gvqiBU1SHR3ioDGe5eF3g/viewform?usp=header">this form</a> with details. 
+
path: content/en/tracing/guide/code_origins.md
user: login: sstonehill12
body: ```suggestion
```
created_at: 2025-04-24T02:38:16Z
author_association: CONTRIBUTOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-03-10T17:26:54Z
body: ## Preview links (active after the `build_preview` check completes)

### New or renamed files
* https://docs-staging.datadoghq.com/sarah.stonehill/code-origin-new-doc/tracing/guide/code_origins



### Modified Files
* https://docs-staging.datadoghq.com/sarah.stonehill/code-origin-new-doc/tracing/guide/
author_association: CONTRIBUTOR
user: login: tylfin
created_at: 2025-03-25T15:06:27Z
body: I generated some language suggestions feeding your changes with the RFC and CONTRIBUTING guide through an LLM. I thought these were generally good, but feel free to disregard them.

Also, the build preview is giving a 4xx because the CI is failing, but locally it runs just fine. I would try pulling the latest changes from the main branch and see if that helps 🤷 
author_association: MEMBER
user: login: cswatt
created_at: 2025-04-11T18:56:14Z
body: Added DOCS-10601 to track Documentation team review.
author_association: CONTRIBUTOR
user: login: tylfin
created_at: 2025-04-15T14:09:33Z
body: cc @cswatt this is ready for review
author_association: MEMBER
user: login: sstonehill12
created_at: 2025-04-22T21:21:32Z
body: @domalessi Ready for a final look-through! Biggest changes to note: 
- Removed all mention of support for Exit Spans (we are still evaluating whether we will support this feature long-term).
- Removed the "How it works" and "Impact on performance and pricing" sections (will add back after decision on exit spans).
author_association: CONTRIBUTOR
user: login: sstonehill12
created_at: 2025-04-24T03:05:38Z
body: /merge
author_association: CONTRIBUTOR
user: login: dd-devflow[bot]
created_at: 2025-04-24T03:05:41Z
body: <!-- "FeedbackWorkflowId":"e990fe8a-43e3-4f12-a903-1334de782c02_36" -->
[View all feedbacks in Devflow UI.](https://mosaic.us1.ddbuild.io/devflow/logs/e990fe8a-43e3-4f12-a903-1334de782c02_36)

`2025-04-24 03:05:41 UTC` :information_source: Start processing command `/merge`

---
`2025-04-24 03:05:45 UTC` :information_source: **MergeQueue:** waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
**Note:** if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with `/remove` command.

---
`2025-04-24 03:10:09 UTC` :information_source: **MergeQueue:** merge request added to the queue

The expected merge time in `master` is approximately 19m (p90).

---
`2025-04-24 03:26:51 UTC` :information_source: **MergeQueue:** This merge request was merged

author_association: NONE