Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Node.js DI documentation page #27150

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions content/en/dynamic_instrumentation/enabling/dotnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ further_reading:
text: 'Getting Started with Datadog Agent'
---

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version, and go directly to enabling Dynamic Instrumentation in step 4.
Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Prerequisites

Expand All @@ -26,7 +26,7 @@ For a better experience, Datadog recommends enabling [autocomplete and search (i

**Note**: Dynamic Instrumentation is available in the `dd-trace-dotnet` library in versions 2.54.0 and later.

4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your probes and target active clients across these dimensions.
4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
5. After starting your service with Dynamic Instrumentation enabled, you can start using Dynamic Instrumentation on the [APM > Dynamic Instrumentation page][4].

## Configuration
Expand All @@ -43,7 +43,7 @@ Configure Dynamic Instrumentation using the following environment variables:

## What to do next

See [Dynamic Instrumentation][6] for information about setting snapshot and metric probes and browsing and indexing the data.
See [Dynamic Instrumentation][6] for information about adding instrumentations and browsing and indexing the data.

## Further reading

Expand Down
6 changes: 3 additions & 3 deletions content/en/dynamic_instrumentation/enabling/java.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ further_reading:
text: 'Getting Started with Datadog Agent'
---

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version, and go directly to enabling Dynamic Instrumentation in step 4.
Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Requirements

Expand Down Expand Up @@ -45,7 +45,7 @@ Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If

**Note**: Dynamic Instrumentation is available in the `dd-java-agent.jar` library in versions 1.34.0 and later.

3. Run your service with Dynamic Instrumentation enabled by setting `-Ddd.dynamic.instrumentation.enabled` flag or `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `dd.service`, `dd.env`, and `dd.version` Unified Service Tags so you can filter and group your probes and target active clients across these dimensions.
3. Run your service with Dynamic Instrumentation enabled by setting `-Ddd.dynamic.instrumentation.enabled` flag or `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `dd.service`, `dd.env`, and `dd.version` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
{{< tabs >}}
{{% tab "Command arguments" %}}

Expand Down Expand Up @@ -99,7 +99,7 @@ Configure Dynamic Instrumentation using the following environment variables:

## What to do next

See [Dynamic Instrumentation][6] for information about setting snapshot and metric probes and browsing and indexing the data.
See [Dynamic Instrumentation][6] for information about adding instrumentations and browsing and indexing the data.

## Further reading

Expand Down
101 changes: 101 additions & 0 deletions content/en/dynamic_instrumentation/enabling/nodejs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: Enable Dynamic Instrumentation for Node.js
aliases:
- /tracing/dynamic_instrumentation/enabling/nodejs/
private: false
code_lang: nodejs
type: multi-code-lang
code_lang_weight: 30
further_reading:
- link: 'agent'
tag: 'Documentation'
text: 'Getting Started with Datadog Agent'
---

<div class="alert alert-info">
<p><strong>Dynamic Instrumentation for Node.js is in limited preview</strong></p>
<p>It is not available to all customers. To join the waiting list, <a href="https://forms.gle/TODO" target="_blank">fill out this form</a>.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
</div>

<div class="alert alert-warning">
<p><strong>Dynamic Instrumentation for Node.js is in limited preview</strong></p>
<p>It is not available to all customers. To join the waiting list, <a href="https://forms.gle/TODO" target="_blank">fill out this form</a>.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
</div>

{{< beta-callout url="https://forms.gle/TODO" >}}
<p><strong>Dynamic Instrumentation for Node.js is in limited preview</strong></p>
<p>It is not available to all customers. Request access to join the waiting list.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
{{< /beta-callout >}}

{{< beta-callout-private url="https://forms.gle/TODO" >}}
<p><strong>Dynamic Instrumentation for Node.js is in limited preview</strong></p>
<p>It is not available to all customers. Request access to join the waiting list.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
{{< /beta-callout-private >}}

{{< callout url="https://forms.gle/TODO">}}
<p><strong>Dynamic Instrumentation for Node.js is in limited preview.</strong></p>
<p>It is not available to all customers. Request access to join the waiting list.</p>
<p>Certain limitations apply to the preview. See <a href="#limitations">Limitations</a> for more information.</p>
{{< /callout >}}

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Installation

1. Install or upgrade your Agent to version [7.45.0][6] or higher.
2. If you don't already have APM enabled, in your Agent configuration, set the `DD_APM_ENABLED` environment variable to `true` and listening to the port `8126/TCP`.
3. Install or upgrade the Node.js tracing library to version 5.32.0 or higher, by following the [relevant instructions][2].
4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
5. After starting your service with Dynamic Instrumentation enabled, you can start using Dynamic Instrumentation on the [APM > Dynamic Instrumentation page][3].

## Configuration

{{< partial name="dynamic_instrumentation/config/nodejs.md" markdown="true" >}}

It's also recommended that you configure [Unified Service Tagging][10] and optionally add custom tags using [`DD_TAGS`][11].

## What to do next

See [Dynamic Instrumentation][4] for information about adding instrumentations and browsing and indexing the data.

## Limitations

Dynamic Instrumentation for Node.js is currently in limited preview, which means it is not available to all customers. To join the waiting list, [fill out this form][5].

The following limitations apply to the limited preview:

### Supported features

- [Dynamic Logs][7] attached to a specific file/line
- Capturing of variables for Dynamic Logs
- [PII redaction][8] based on variable/property names
- [Source code integration][9]

### Unsupported features

- Dynamic Metrics, Spans, and Span Tags
- Dynamic Logs attached to a function/method
- Custom template for Dynamic Logs
- Dynamic Log conditions
- Source maps (e.g. if using TypeScript, the Dynamic Log needs to be configured against the transpiled JavaScript file)
- PII redaction based on specific classes or types

## Further reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: /tracing/trace_collection/
[2]: /tracing/trace_collection/dd_libraries/nodejs/
[3]: https://app.datadoghq.com/dynamic-instrumentation
[4]: /dynamic_instrumentation/
[5]: https://forms.gle/TODO
[6]: https://app.datadoghq.com/account/settings/agent/latest?platform=overview
[7]: /dynamic_instrumentation/#creating-log-probes
[8]: /dynamic_instrumentation/sensitive-data-scrubbing/#custom-identifier-redaction
[9]: /integrations/guide/source-code-integration/?tab=nodejs#embed-git-information-in-your-build-artifacts
[10]: /tracing/trace_collection/library_config/nodejs/#unified-service-tagging
[11]: /tracing/trace_collection/library_config/nodejs/#agent
32 changes: 26 additions & 6 deletions content/en/dynamic_instrumentation/enabling/php.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,20 @@ further_reading:
text: 'Getting Started with Datadog Agent'
---

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version, and go directly to enabling Dynamic Instrumentation in step 4.
{{< beta-callout-private url="https://forms.gle/TODO" >}}
<p><strong>Dynamic Instrumentation for PHP is in limited preview</strong></p>
<p>It is not available to all customers. Request access to join the waiting list.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
{{< /beta-callout-private >}}

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Installation

1. Install or upgrade your Agent to version [7.45.0][7] or higher.
2. If you don't already have APM enabled, in your Agent configuration, set the `DD_APM_ENABLED` environment variable to `true` and listening to the port `8126/TCP`.
3. Install or upgrade the PHP tracing libraries to version 1.4.0, by following the [relevant instructions][2].

**Note**: Dynamic Instrumentation is available in the `dd-trace-php` library in versions 1.4.0 and later. Only function and method probes are supported.

4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your probes and target active clients across these dimensions.
4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
5. After starting your service with Dynamic Instrumentation enabled, you can start using Dynamic Instrumentation on the [APM > Dynamic Instrumentation page][3].

## Configuration
Expand All @@ -39,7 +42,22 @@ Configure Dynamic Instrumentation using the following environment variables:

## What to do next

See [Dynamic Instrumentation][5] for information about setting snapshot and metric probes and browsing and indexing the data.
See [Dynamic Instrumentation][5] for information about adding instrumentations and browsing and indexing the data.

## Limitations

Dynamic Instrumentation for PHP is currently in limited preview, which means it is not available to all customers. To join the waiting list, [fill out this form][6].

The following limitations apply to the limited preview:

### Supported features

- [Dynamic Logs][8] attached to a function/method

### Unsupported features

- Dynamic Logs attached to a specific file/line
- Dynamic Metrics, Spans, and Span Tags

## Further reading

Expand All @@ -50,4 +68,6 @@ See [Dynamic Instrumentation][5] for information about setting snapshot and metr
[3]: https://app.datadoghq.com/dynamic-instrumentation
[4]: /getting_started/tagging/unified_service_tagging
[5]: /dynamic_instrumentation/
[6]: https://forms.gle/TODO
[7]: https://app.datadoghq.com/account/settings/agent/latest?platform=overview
[8]: /dynamic_instrumentation/#creating-log-probes
6 changes: 3 additions & 3 deletions content/en/dynamic_instrumentation/enabling/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ further_reading:
text: 'Getting Started with Datadog Agent'
---

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version, and go directly to enabling Dynamic Instrumentation in step 4.
Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Prerequisites

Expand All @@ -31,7 +31,7 @@ Recommended, [autocomplete and search (in Preview)][6] is enabled.

**Note**: Dynamic Instrumentation is available in the `ddtrace` library version 2.2.0 and higher.

4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your probes and target active clients across these dimensions.
4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
{{< tabs >}}
{{% tab "Environment variables" %}}

Expand Down Expand Up @@ -70,7 +70,7 @@ Configure Dynamic Instrumentation using the following environment variables:

## What to do next

See [Dynamic Instrumentation][5] for information about setting snapshot and metric probes and browsing and indexing the data.
See [Dynamic Instrumentation][5] for information about adding instrumentations and browsing and indexing the data.

## Further reading

Expand Down
34 changes: 28 additions & 6 deletions content/en/dynamic_instrumentation/enabling/ruby.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,20 @@ further_reading:
text: 'Getting Started with Datadog Agent'
---

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version, and go directly to enabling Dynamic Instrumentation in step 4.
{{< beta-callout-private url="https://forms.gle/TODO" >}}
<p><strong>Dynamic Instrumentation for Ruby is in limited preview</strong></p>
<p>It is not available to all customers. Request access to join the waiting list.</p>
<p>Certain limitations apply to the limited preview. See <a href="#limitations">Limitations</a> for more information.</p>
{{< /beta-callout-private >}}

Dynamic Instrumentation is a feature of supporting Datadog tracing libraries. If you are already using [APM to collect traces][1] for your application, ensure your Agent and tracing library are on the required version. Then, go directly to enabling Dynamic Instrumentation in step 4.

## Installation

1. Install or upgrade your Agent to version [7.45.0][7] or higher.
2. If you don't already have APM enabled, in your Agent configuration, set the `DD_APM_ENABLED` environment variable to `true` and listening to the port `8126/TCP`.
3. Install or upgrade the Ruby tracing library to version 2.8.0 or higher, by following the [relevant instructions][2].

**Note**: Dynamic Instrumentation is available in the `dd-trace-ruby` library in versions 2.8.0 and later. Only log probes are currently supported.

4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your probes and target active clients across these dimensions.
4. Run your service with Dynamic Instrumentation enabled by setting the `DD_DYNAMIC_INSTRUMENTATION_ENABLED` environment variable to `true`. Specify `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` Unified Service Tags so you can filter and group your instrumentations and target active clients across these dimensions.
5. After starting your service with Dynamic Instrumentation enabled, you can start using Dynamic Instrumentation on the [APM > Dynamic Instrumentation page][3].

## Configuration
Expand All @@ -39,7 +42,24 @@ Configure Dynamic Instrumentation using the following environment variables:

## What to do next

See [Dynamic Instrumentation][5] for information about setting snapshot and metric probes and browsing and indexing the data.
See [Dynamic Instrumentation][5] for information about adding instrumentations and browsing and indexing the data.

## Limitations

Dynamic Instrumentation for Ruby is currently in limited preview, which means it is not available to all customers. To join the waiting list, [fill out this form][6].

The following limitations apply to the limited preview:

### Supported features

- [Dynamic Logs][8]

### Unsupported features

- Dynamic Metrics, Spans, and Span Tags
- Dynamic Log conditions
- Local variable capture for Dynamic Logs attached to a method
- Expression evaluation in Dynamic Log templates

## Further reading

Expand All @@ -50,4 +70,6 @@ See [Dynamic Instrumentation][5] for information about setting snapshot and metr
[3]: https://app.datadoghq.com/dynamic-instrumentation
[4]: /getting_started/tagging/unified_service_tagging
[5]: /dynamic_instrumentation/
[6]: https://forms.gle/TODO
[7]: https://app.datadoghq.com/account/settings/agent/latest?platform=overview
[8]: /dynamic_instrumentation/#creating-log-probes
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,10 @@ A regex string to redact sensitive data by its value in attack reports.
**Default**: `'disabled'`<br>
To enable DBM to APM link using tag injection, can be set to `'service'` or `'full'`. The `'service'` option enables the connection between DBM and APM services. The `'full'` option enables connection between database spans with database query events. Available for Postgres.

### Dynamic Instrumentation

{{< partial name="dynamic_instrumentation/config/nodejs.md" markdown="true" >}}

### Logs

`DD_LOGS_INJECTION`
Expand Down
17 changes: 17 additions & 0 deletions layouts/partials/dynamic_instrumentation/config/nodejs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
`DD_DYNAMIC_INSTRUMENTATION_ENABLED`
: **Configuration**: `dynamicInstrumentation.enabled`<br>
**Default**: `false`<br>
Enable [Dynamic Instrumentation][1].

`DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS`
: **Configuration**: `dynamicInstrumentation.redactedIdentifiers`<br>
**Default**: N/A<br>
A comma-separated list of identifiers to redact. For more information, see [Sensitive Data Scrubbing][2].

`DD_DYNAMIC_INSTRUMENTATION_REDACTION_EXCLUDED_IDENTIFIERS`
: **Configuration**: `dynamicInstrumentation.redactionExcludedIdentifiers`<br>
**Default**: N/A<br>
A comma-separated list of identifiers to exclude from redaction. For more information, see [Sensitive Data Scrubbing][2].

[1]: /dynamic_instrumentation/
[2]: /dynamic_instrumentation/sensitive-data-scrubbing/
Loading