From 12d0a137934573950f3801c21bbfa3c7a84d9636 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 15 Dec 2025 14:07:08 -0800 Subject: [PATCH 01/31] (cdocs)(rum) Advanced configuration --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 820e0449dae..db3f16ecc46 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.5.0.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index eb3bca6af21..a0935dc91bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,15 +6566,15 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.5.0.tgz": - version: 2.5.0 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.5.0.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz": + version: 5.5.5 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/0b4034a4a7ec48ece4090b51a9882fd114b0970ea554e23d3fdfe40238d6329660eaf0738f97e1b2977d03ab8cee5957cd86ef343146f8f7b5a3708f92ccf960 + checksum: 10/59e05dfc86ff1c76ff4bff7d7bbebb364909fe9b1049f6dcf062dab08d7d2d2c81ca1955eca7976175b5fec1ea86702d1e2353a1ae342d8d4c9763215011defd languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz": - version: 1.0.2 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz": + version: 6.6.6 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/844190c9cbb525414c8f24cf874908535504cacb8d5ecbe86edfff00bb595f233d29044ed763b0b612e6fdccaa2376aa4999a56e3d94cfef0f4b325fcad9602e + checksum: 10/cd305be4fc9b869c7bd20f9a23194c1e4e0ca8f71a4b2f1b6392f8eaf2ad3dcb09e3e120da8ae673eed62b816baa401ba5a42193be27f23713c7156f652852fd languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.5.0.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 9344781f711c91ca006069f028ee603c5648804c Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 15 Dec 2025 15:21:31 -0800 Subject: [PATCH 02/31] Bump package --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index db3f16ecc46..d7a0ac4c933 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index a0935dc91bd..4901c04dbc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,15 +6566,15 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz": - version: 5.5.5 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz": + version: 5.5.6 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/59e05dfc86ff1c76ff4bff7d7bbebb364909fe9b1049f6dcf062dab08d7d2d2c81ca1955eca7976175b5fec1ea86702d1e2353a1ae342d8d4c9763215011defd + checksum: 10/246295e0ef4f37551565cb6480230bf6ff9d6f505544ad5a211ac9e16c5ae1c0a2278739a698eb5d4f7ea34c45b792d9878a8b062d98786a274be2e043f22870 languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz": - version: 6.6.6 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.6.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz": + version: 6.6.1 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/cd305be4fc9b869c7bd20f9a23194c1e4e0ca8f71a4b2f1b6392f8eaf2ad3dcb09e3e120da8ae673eed62b816baa401ba5a42193be27f23713c7156f652852fd + checksum: 10/62263b78c53deeab7ef5ab2988b5cb46dcafeb94df7a12efdb54d77dc8e017de4ff14db543e51dfd7f4e736cf53fe5cf1a867093a5c4e12fc6d672e2ea040160 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.5.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 23c99aad4316e1dc98ea15d269ea6c124481bebc Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Tue, 16 Dec 2025 11:13:53 -0800 Subject: [PATCH 03/31] wip --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d7a0ac4c933..846bdd164ff 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 4901c04dbc3..91916a88175 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz": - version: 5.5.6 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz": + version: 5.5.7 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/246295e0ef4f37551565cb6480230bf6ff9d6f505544ad5a211ac9e16c5ae1c0a2278739a698eb5d4f7ea34c45b792d9878a8b062d98786a274be2e043f22870 + checksum: 10/f0c5b314ae3793005b2eaf0216d14851e9da893fe50a5c4ff56d1c703247c4052926aadf3d5441580fd250c365092e7ca940c0cb10dd793faa863a71b5feb3aa languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.6.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From ca2dff0b220554f371a61c0b20917c07a5eebedc Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 22 Dec 2025 14:18:58 -0800 Subject: [PATCH 04/31] Rename page --- .../{advanced_configuration.md => advanced_configuration.mdoc.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/en/real_user_monitoring/application_monitoring/browser/{advanced_configuration.md => advanced_configuration.mdoc.md} (100%) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md similarity index 100% rename from content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md rename to content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md From 07bb2c5292bb5026bf145f2674165894054be810 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 22 Dec 2025 14:24:21 -0800 Subject: [PATCH 05/31] Add file to .gitignore --- content/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/content/.gitignore b/content/.gitignore index d53b1529da4..91f78b6387c 100644 --- a/content/.gitignore +++ b/content/.gitignore @@ -7,6 +7,7 @@ /en/product_analytics/session_replay/mobile/privacy_options.md /en/product_analytics/session_replay/mobile/setup_and_configuration.md +/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md /en/real_user_monitoring/guide/proxy-mobile-rum-data.md /en/real_user_monitoring/guide/proxy-rum-data.md /en/real_user_monitoring/session_replay/mobile/privacy_options.md From 01184d287b8e247a206dbddf4d93a3fff7a9a5b8 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 22 Dec 2025 15:42:14 -0800 Subject: [PATCH 06/31] First round --- .../browser/advanced_configuration.mdoc.md | 1190 +++++++---------- 1 file changed, 519 insertions(+), 671 deletions(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 2e33eafa579..fafad11687b 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -5,6 +5,10 @@ aliases: - /real_user_monitoring/installation/advanced_configuration/ - /real_user_monitoring/browser/modifying_data_and_context/ - /real_user_monitoring/browser/advanced_configuration/ +content_filters: + - trait_id: lib_src + option_group_id: rum_browser_sdk_source_options + further_reading: - link: "/real_user_monitoring/application_monitoring/browser/tracking_user_actions" tag: Documentation @@ -26,6 +30,21 @@ further_reading: text: "Datadog standard attributes" --- + + {% if equals($lib_src, "npm") %} + NPM-specific content goes here. + {% /if %} + + + {% if equals($lib_src, "cdn_async") %} + CDN async-specific content goes here. + {% /if %} + + + {% if equals($lib_src, "cdn_sync") %} + CDN sync-specific content goes here. + {% /if %} + ## Overview There are various ways you can modify the [data and context collected][1] by RUM, to support your needs for: @@ -43,10 +62,9 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d 1. Set `trackViewsManually` to true when initializing the RUM Browser SDK. - {{< tabs >}} - {{% tab "NPM" %}} - - ```javascript + + {% if equals($lib_src, "npm") %} + ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.init({ @@ -55,12 +73,11 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d ... }); ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN async" %}} - - - ```javascript + + {% if equals($lib_src, "cdn_async") %} + ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.init({ ..., @@ -69,12 +86,11 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d }) }) ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN sync" %}} - - - ```javascript + + {% if equals($lib_src, "cdn_sync") %} + ```javascript window.DD_RUM && window.DD_RUM.init({ ..., @@ -82,9 +98,7 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d ... }); ``` - - {{% /tab %}} - {{< /tabs >}} + {% /if %} 2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. Starting with [version 4.13.0][16], you can also optionally define the associated service name and version. @@ -99,10 +113,9 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d Latest version The following example manually tracks the pageviews on the checkout page in a RUM application. Use checkout for the view name and associate the purchase service with version 1.2.3. - {{< tabs >}} - {{% tab "NPM" %}} - - ```javascript + + {% if equals($lib_src, "npm") %} + ```javascript datadogRum.startView({ name: 'checkout', service: 'purchase', @@ -112,12 +125,11 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d }, }) ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN async" %}} - - - ```javascript + + {% if equals($lib_src, "cdn_async") %} + ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.startView({ name: 'checkout', @@ -129,12 +141,11 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d }) }) ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN sync" %}} - - - ```javascript + + {% if equals($lib_src, "cdn_sync") %} + ```javascript window.DD_RUM && window.DD_RUM.startView({ name: 'checkout', service: 'purchase', @@ -144,18 +155,15 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d }, }) ``` - - {{% /tab %}} - {{< /tabs >}} + {% /if %}
before v5.28.0 The following example manually tracks the pageviews on the checkout page in a RUM application. It uses checkout for the view name and associates the purchase service with version 1.2.3. -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.startView({ name: 'checkout', @@ -163,11 +171,10 @@ datadogRum.startView({ version: '1.2.3' }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.startView({ @@ -177,10 +184,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.startView({ @@ -189,42 +196,35 @@ window.DD_RUM && window.DD_RUM.startView({ version: '1.2.3' }) ``` +{% /if %} -{{% /tab %}} -{{< /tabs >}}
before v4.13.0 The following example manually tracks the pageviews on the checkout page in a RUM application. No service or version can be specified. - - {{< tabs >}} - {{% tab "NPM" %}} - + + {% if equals($lib_src, "npm") %} ```javascript datadogRum.startView('checkout') ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN async" %}} - - + + {% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.startView('checkout') }) ``` + {% /if %} - {{% /tab %}} - {{% tab "CDN sync" %}} - - + + {% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.startView('checkout') ``` - - {{% /tab %}} - {{< /tabs >}} + {% /if %}
@@ -239,198 +239,186 @@ To override default RUM view names so that they are aligned with how you've defi 1. Set `trackViewsManually` to `true` when initializing the RUM browser SDK as described [above](#override-default-rum-view-names). 2. Start views for each route change. - - {{< tabs >}} - {{% tab "NPM" %}} - + + {% if equals($lib_src, "npm") %} ```javascript - import { matchRoutes, useLocation } from 'react-router-dom'; - import { routes } from 'path/to/routes'; - import { datadogRum } from "@datadog/browser-rum"; - - export default function App() { - // Track every route change with useLocation API - let location = useLocation(); - - useEffect(() => { - const routeMatches = matchRoutes(routes, location.pathname); - const viewName = routeMatches && computeViewName(routeMatches); - if (viewName) { - datadogRum.startView({name: viewName}); - } - }, [location.pathname]); - - ... + import { matchRoutes, useLocation } from 'react-router-dom'; + import { routes } from 'path/to/routes'; + import { datadogRum } from "@datadog/browser-rum"; + + export default function App() { + // Track every route change with useLocation API + let location = useLocation(); + + useEffect(() => { + const routeMatches = matchRoutes(routes, location.pathname); + const viewName = routeMatches && computeViewName(routeMatches); + if (viewName) { + datadogRum.startView({name: viewName}); } - - // Compute view name out of routeMatches - function computeViewName(routeMatches) { - let viewName = ""; - for (let index = 0; index < routeMatches.length; index++) { - const routeMatch = routeMatches[index]; - const path = routeMatch.route.path; - // Skip pathless routes - if (!path) { - continue; - } - - if (path.startsWith("/")) { - // Handle absolute child route paths - viewName = path; - } else { - // Handle route paths ending with "/" - viewName += viewName.endsWith("/") ? path : `/${path}`; - } - } - - return viewName || '/'; + }, [location.pathname]); + + ... + } + + // Compute view name out of routeMatches + function computeViewName(routeMatches) { + let viewName = ""; + for (let index = 0; index < routeMatches.length; index++) { + const routeMatch = routeMatches[index]; + const path = routeMatch.route.path; + // Skip pathless routes + if (!path) { + continue; } - ``` - {{% /tab %}} - {{% tab "CDN async" %}} + if (path.startsWith("/")) { + // Handle absolute child route paths + viewName = path; + } else { + // Handle route paths ending with "/" + viewName += viewName.endsWith("/") ? path : `/${path}`; + } + } + return viewName || '/'; + } + ``` + {% /if %} + + {% if equals($lib_src, "cdn_async") %} ```javascript - import { matchRoutes, useLocation } from 'react-router-dom'; - import { routes } from 'path/to/routes'; - - export default function App() { - // Track every route change with useLocation API - let location = useLocation(); - - useEffect(() => { - const routeMatches = matchRoutes(routes, location.pathname); - const viewName = routeMatches && computeViewName(routeMatches); - if (viewName) { - DD_RUM.onReady(function() { - DD_RUM.startView({name: viewName}); - }); - } - }, [location.pathname]); - - ... + import { matchRoutes, useLocation } from 'react-router-dom'; + import { routes } from 'path/to/routes'; + + export default function App() { + // Track every route change with useLocation API + let location = useLocation(); + + useEffect(() => { + const routeMatches = matchRoutes(routes, location.pathname); + const viewName = routeMatches && computeViewName(routeMatches); + if (viewName) { + DD_RUM.onReady(function() { + DD_RUM.startView({name: viewName}); + }); } - - // Compute view name out of routeMatches - function computeViewName(routeMatches) { - let viewName = ""; - for (let index = 0; index < routeMatches.length; index++) { - const routeMatch = routeMatches[index]; - const path = routeMatch.route.path; - // Skip pathless routes - if (!path) { - continue; - } - - if (path.startsWith("/")) { - // Handle absolute child route paths - viewName = path; - } else { - // Handle route paths ending with "/" - viewName += viewName.endsWith("/") ? path : `/${path}`; - } - } - - return viewName || '/'; + }, [location.pathname]); + + ... + } + + // Compute view name out of routeMatches + function computeViewName(routeMatches) { + let viewName = ""; + for (let index = 0; index < routeMatches.length; index++) { + const routeMatch = routeMatches[index]; + const path = routeMatch.route.path; + // Skip pathless routes + if (!path) { + continue; } - ``` - {{% /tab %}} - {{% tab "CDN sync" %}} + if (path.startsWith("/")) { + // Handle absolute child route paths + viewName = path; + } else { + // Handle route paths ending with "/" + viewName += viewName.endsWith("/") ? path : `/${path}`; + } + } + return viewName || '/'; + } + ``` + {% /if %} + + {% if equals($lib_src, "cdn_sync") %} ```javascript - import { matchRoutes, useLocation } from 'react-router-dom'; - import { routes } from 'path/to/routes'; - - export default function App() { - // Track every route change with useLocation API - let location = useLocation(); - - useEffect(() => { - const routeMatches = matchRoutes(routes, location.pathname); - const viewName = routeMatches && computeViewName(routeMatches); - if (viewName) { - window.DD_RUM && - window.DD_RUM.startView({name: viewName}); - } - }, [location.pathname]); - - ... + import { matchRoutes, useLocation } from 'react-router-dom'; + import { routes } from 'path/to/routes'; + + export default function App() { + // Track every route change with useLocation API + let location = useLocation(); + + useEffect(() => { + const routeMatches = matchRoutes(routes, location.pathname); + const viewName = routeMatches && computeViewName(routeMatches); + if (viewName) { + window.DD_RUM && + window.DD_RUM.startView({name: viewName}); + } + }, [location.pathname]); + + ... + } + + // Compute view name out of routeMatches + function computeViewName(routeMatches) { + let viewName = ""; + for (let index = 0; index < routeMatches.length; index++) { + const routeMatch = routeMatches[index]; + const path = routeMatch.route.path; + // Skip pathless routes + if (!path) { + continue; } - // Compute view name out of routeMatches - function computeViewName(routeMatches) { - let viewName = ""; - for (let index = 0; index < routeMatches.length; index++) { - const routeMatch = routeMatches[index]; - const path = routeMatch.route.path; - // Skip pathless routes - if (!path) { - continue; - } - - if (path.startsWith("/")) { - // Handle absolute child route paths - viewName = path; - } else { - // Handle route paths ending with "/" - viewName += viewName.endsWith("/") ? path : `/${path}`; - } - } - - return viewName || '/'; + if (path.startsWith("/")) { + // Handle absolute child route paths + viewName = path; + } else { + // Handle route paths ending with "/" + viewName += viewName.endsWith("/") ? path : `/${path}`; + } } - ``` - {{% /tab %}} - {{< /tabs >}} + return viewName || '/'; + } + ``` + {% /if %} ### Set view name Use `setViewName(name: string)` to update the name of the current view. This allows you to change the view name during the view without starting a new one. + + {% if equals($lib_src, "npm") %} + ```javascript + import { datadogRum } from '@datadog/browser-rum'; -{{< tabs >}} -{{% tab "NPM" %}} - -```javascript -import { datadogRum } from '@datadog/browser-rum'; - -datadogRum.setViewName(''); - -// Code example -datadogRum.setViewName('Checkout'); -``` - -{{% /tab %}} - {{% tab "CDN async" %}} - - -```javascript -window.DD_RUM.onReady(function() { - window.DD_RUM.setViewName(''); -}) - -// Code example -window.DD_RUM.onReady(function() { - window.DD_RUM.setViewName('Checkout'); -}) -``` + datadogRum.setViewName(''); -{{% /tab %}} - {{% tab "CDN sync" %}} + // Code example + datadogRum.setViewName('Checkout'); + ``` + {% /if %} + + {% if equals($lib_src, "cdn_async") %} + ```javascript + window.DD_RUM.onReady(function() { + window.DD_RUM.setViewName(''); + }) -```javascript -window.DD_RUM && window.DD_RUM.setViewName(''); + // Code example + window.DD_RUM.onReady(function() { + window.DD_RUM.setViewName('Checkout'); + }) + ``` + {% /if %} -// Code example -window.DD_RUM && window.DD_RUM.setViewName('Checkout'); -``` + + {% if equals($lib_src, "cdn_sync") %} + ```javascript + window.DD_RUM && window.DD_RUM.setViewName(''); -{{% /tab %}} -{{< /tabs >}} + // Code example + window.DD_RUM && window.DD_RUM.setViewName('Checkout'); + ``` + {% /if %} **Note**: Changing the view name affects the view and its child events from the time the method is called. @@ -467,67 +455,61 @@ For more information, see the [Enrich and control RUM data guide][14]. ### Enrich RUM events Along with attributes added with the [Global Context API](#global-context) or the [Feature Flag data collection](#enrich-rum-events-with-feature-flags), you can add additional context attributes to the event. For example, tag your RUM resource events with data extracted from a fetch response object: + + {% if equals($lib_src, "npm") %} + ```javascript + import { datadogRum } from '@datadog/browser-rum'; -{{< tabs >}} -{{% tab "NPM" %}} - -```javascript -import { datadogRum } from '@datadog/browser-rum'; - -datadogRum.init({ - ..., - beforeSend: (event, context) => { - // collect a RUM resource's response headers - if (event.type === 'resource' && event.resource.type === 'fetch') { - event.context.responseHeaders = Object.fromEntries(context.response.headers) - } - return true - }, - ... -}); -``` - -{{% /tab %}} - {{% tab "CDN async" %}} - - -```javascript -window.DD_RUM.onReady(function() { - window.DD_RUM.init({ - ..., - beforeSend: (event, context) => { - // collect a RUM resource's response headers - if (event.type === 'resource' && event.resource.type === 'fetch') { - event.context.responseHeaders = Object.fromEntries(context.response.headers) - } - return true - }, - ... - }) -}) -``` - -{{% /tab %}} - {{% tab "CDN sync" %}} - + datadogRum.init({ + ..., + beforeSend: (event, context) => { + // collect a RUM resource's response headers + if (event.type === 'resource' && event.resource.type === 'fetch') { + event.context.responseHeaders = Object.fromEntries(context.response.headers) + } + return true + }, + ... + }); + ``` + {% /if %} -```javascript -window.DD_RUM && - window.DD_RUM.init({ - ..., - beforeSend: (event, context) => { - // collect a RUM resource's response headers - if (event.type === 'resource' && event.resource.type === 'fetch') { - event.context.responseHeaders = Object.fromEntries(context.response.headers) - } - return true - }, - ... - }); -``` + + {% if equals($lib_src, "cdn_async") %} + ```javascript + window.DD_RUM.onReady(function() { + window.DD_RUM.init({ + ..., + beforeSend: (event, context) => { + // collect a RUM resource's response headers + if (event.type === 'resource' && event.resource.type === 'fetch') { + event.context.responseHeaders = Object.fromEntries(context.response.headers) + } + return true + }, + ... + }) + }) + ``` + {% /if %} -{{% /tab %}} -{{< /tabs >}} + + {% if equals($lib_src, "cdn_sync") %} + ```javascript + window.DD_RUM && + window.DD_RUM.init({ + ..., + beforeSend: (event, context) => { + // collect a RUM resource's response headers + if (event.type === 'resource' && event.resource.type === 'fetch') { + event.context.responseHeaders = Object.fromEntries(context.response.headers) + } + return true + }, + ... + }); + ``` + {% /if %} If a user belongs to multiple teams, add additional key-value pairs in your calls to the Global Context API. @@ -540,58 +522,52 @@ You can [enrich your RUM event data with feature flags][14] to get additional co ### Modify the content of a RUM event For example, to redact email addresses from your web application URLs: + + {% if equals($lib_src, "npm") %} + ```javascript + import { datadogRum } from '@datadog/browser-rum'; -{{< tabs >}} -{{% tab "NPM" %}} - -```javascript -import { datadogRum } from '@datadog/browser-rum'; - -datadogRum.init({ - ..., - beforeSend: (event) => { - // remove email from view url - event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") - }, - ... -}); -``` - -{{% /tab %}} - {{% tab "CDN async" %}} - - -```javascript -window.DD_RUM.onReady(function() { - window.DD_RUM.init({ - ..., - beforeSend: (event) => { - // remove email from view url - event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") - }, - ... - }) -}) -``` - -{{% /tab %}} - {{% tab "CDN sync" %}} - + datadogRum.init({ + ..., + beforeSend: (event) => { + // remove email from view url + event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") + }, + ... + }); + ``` + {% /if %} -```javascript -window.DD_RUM && - window.DD_RUM.init({ - ..., - beforeSend: (event) => { - // remove email from view url - event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") - }, - ... - }); -``` + + {% if equals($lib_src, "cdn_async") %} + ```javascript + window.DD_RUM.onReady(function() { + window.DD_RUM.init({ + ..., + beforeSend: (event) => { + // remove email from view url + event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") + }, + ... + }) + }) + ``` + {% /if %} -{{% /tab %}} -{{< /tabs >}} + + {% if equals($lib_src, "cdn_sync") %} + ```javascript + window.DD_RUM && + window.DD_RUM.init({ + ..., + beforeSend: (event) => { + // remove email from view url + event.view.url = event.view.url.replace(/email=[^&]*/, "email=REDACTED") + }, + ... + }); + ``` + {% /if %} You can update the following event properties: @@ -629,29 +605,26 @@ beforeSend: (event) => { ### Discard a RUM event With the `beforeSend` API, discard a RUM event by returning `false`: - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.init({ - ..., - beforeSend: (event) => { - if (shouldDiscard(event)) { - return false - } - ... - }, - ... + ..., + beforeSend: (event) => { + if (shouldDiscard(event)) { + return false + } + ... + }, + ... }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.init({ @@ -666,11 +639,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.init({ @@ -684,9 +656,7 @@ window.DD_RUM && ... }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} **Note**: View events cannot be discarded. @@ -698,11 +668,11 @@ Adding user information to your RUM sessions helps you: - Know which users are the most impacted by errors - Monitor performance for your most important users -{{< img src="real_user_monitoring/browser/advanced_configuration/user-api.png" alt="User API in RUM UI" >}} +{% img src="real_user_monitoring/browser/advanced_configuration/user-api.png" alt="User API in RUM UI" /%} + -{{< tabs >}} -{{% tab "v6.4.0 and above" %}} +[**TODO**] v6.4.0 and above The following attributes are available: | Attribute | Type | Required | Description | @@ -711,9 +681,7 @@ The following attributes are available: | `usr.name` | String | No | User friendly name, displayed by default in the RUM UI. | | `usr.email` | String | No | User email, displayed in the RUM UI if the user name is not present. It is also used to fetch Gravatars. | -{{% /tab %}} -{{% tab "Below v6.4.0" %}} - +[**TODO**] "Below v6.4.0" The below attributes are optional but Datadog strongly recommends providing at least one of them. For example, you should set the user ID on your sessions to see relevant data on some default RUM dashboards, which rely on `usr.id` as part of the query. | Attribute | Type | Description | @@ -722,9 +690,6 @@ The below attributes are optional but Datadog strongly recommends providing at l | `usr.name` | String | User friendly name, displayed by default in the RUM UI. | | `usr.email` | String | User email, displayed in the RUM UI if the user name is not present. It is also used to fetch Gravatars. | -{{% /tab %}} -{{< /tabs >}} - Increase your filtering capabilities by adding extra attributes on top of the recommended ones. For instance, add information about the user plan, or which user group they belong to. When making changes to the user session object, all RUM events collected after the change contain the updated information. @@ -734,10 +699,8 @@ When making changes to the user session object, all RUM events collected after t ### Identify user session `datadogRum.setUser()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.setUser({ id: '1234', @@ -747,11 +710,10 @@ datadogRum.setUser({ ... }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setUser({ @@ -763,11 +725,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setUser({ id: '1234', @@ -777,137 +738,111 @@ window.DD_RUM && window.DD_RUM.setUser({ ... }) ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Access user session `datadogRum.getUser()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.getUser() ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.getUser() }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.getUser() ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Add/Override user session property `datadogRum.setUserProperty('', )` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.setUserProperty('name', 'John Doe') ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setUserProperty('name', 'John Doe') }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setUserProperty('name', 'John Doe') ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Remove user session property `datadogRum.removeUserProperty('')` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.removeUserProperty('name') ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.removeUserProperty('name') }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.removeUserProperty('name') ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Clear user session property `datadogRum.clearUser()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.clearUser() ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.clearUser() }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.clearUser() ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## Account @@ -923,10 +858,8 @@ The following attributes are available: ### Identify account `datadogRum.setAccount()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.setAccount({ id: '1234', @@ -934,11 +867,10 @@ datadogRum.setAccount({ ... }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setAccount({ @@ -948,11 +880,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setAccount({ id: '1234', @@ -960,147 +891,119 @@ window.DD_RUM && window.DD_RUM.setAccount({ ... }) ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Access account `datadogRum.getAccount()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.getAccount() ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.getAccount() }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.getAccount() ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Add/Override account property `datadogRum.setAccountProperty('', )` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.setAccountProperty('name', 'My Company Name') ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setAccountProperty('name', 'My Company Name') }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setAccountProperty('name', 'My Company Name') ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Remove account property `datadogRum.removeAccountProperty('')` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.removeAccountProperty('name') ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.removeAccountProperty('name') }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.removeAccountProperty('name') ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Clear account properties `datadogRum.clearAccount()` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript datadogRum.clearAccount() ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.clearAccount() }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.clearAccount() ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## Sampling By default, no sampling is applied on the number of collected sessions. To apply a relative sampling (in percent) to the number of sessions collected, use the `sessionSampleRate` parameter when initializing RUM. The following example collects only 90% of all sessions on a given RUM application: - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -1111,11 +1014,10 @@ datadogRum.init({ sessionSampleRate: 90, }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.init({ @@ -1126,11 +1028,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.init({ @@ -1140,9 +1041,7 @@ window.DD_RUM && sessionSampleRate: 90, }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} For a sampled out session, all pageviews and associated telemetry for that session are not collected. @@ -1163,10 +1062,8 @@ To change the tracking consent value after the RUM Browser SDK is initialized, u This state is not synchronized between tabs nor persisted between navigation. It is your responsibility to provide the user decision during RUM Browser SDK initialization or by using `setTrackingConsent()`. When `setTrackingConsent()` is used before `init()`, the provided value takes precedence over the initialization parameter. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -1179,11 +1076,10 @@ acceptCookieBannerButton.addEventListener('click', function() { datadogRum.setTrackingConsent('granted'); }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.init({ @@ -1198,10 +1094,10 @@ acceptCookieBannerButton.addEventListener('click', () => { }); }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.init({ @@ -1213,9 +1109,7 @@ acceptCookieBannerButton.addEventListener('click', () => { window.DD_RUM && window.DD_RUM.setTrackingConsent('granted'); }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## View context @@ -1228,10 +1122,8 @@ Optionally define the context while starting a view with [`startView` options](# ### Add view context Enrich or modify the context of RUM view events and corresponding child events with the `setViewContextProperty(key: string, value: any)` API. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -1243,11 +1135,10 @@ datadogRum.setViewContextProperty('activity', { amount: 23.42 }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setViewContextProperty('', ''); @@ -1261,11 +1152,10 @@ window.DD_RUM.onReady(function() { }); }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setViewContextProperty('', ''); @@ -1275,17 +1165,13 @@ window.DD_RUM && window.DD_RUM.setViewContextProperty('activity', { amount: 23.42 }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Replace view context Replace the context of your RUM view events and corresponding child events with `setViewContext(context: Context)` API. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.setViewContext({ '': '' }); @@ -1295,11 +1181,10 @@ datadogRum.setViewContext({ originalUrl: 'shopist.io/department/chairs', }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setViewContext({ '': '' }); @@ -1312,10 +1197,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setViewContext({ '': '' }); @@ -1326,9 +1211,7 @@ window.DD_RUM && originalUrl: 'shopist.io/department/chairs', }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## Error context @@ -1347,10 +1230,8 @@ throw error ### Add global context property After RUM is initialized, add extra context to all RUM events collected from your application with the `setGlobalContextProperty(key: string, value: any)` API: - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -1363,10 +1244,10 @@ datadogRum.setGlobalContextProperty('activity', { }); ``` -{{% /tab %}} - {{% tab "CDN async" %}} - +{% /if %} + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setGlobalContextProperty('', ''); @@ -1380,11 +1261,10 @@ window.DD_RUM.onReady(function() { }); }) ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setGlobalContextProperty('', ''); @@ -1394,17 +1274,13 @@ window.DD_RUM && window.DD_RUM.setGlobalContextProperty('activity', { amount: 23.42 }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Remove global context property You can remove a previously defined global context property. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.removeGlobalContextProperty(''); @@ -1412,10 +1288,10 @@ datadogRum.removeGlobalContextProperty(''); // Code example datadogRum.removeGlobalContextProperty('codeVersion'); ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN async" %}} - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.removeGlobalContextProperty(''); @@ -1426,10 +1302,10 @@ window.DD_RUM.onReady(function() { window.DD_RUM.removeGlobalContextProperty('codeVersion'); }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.removeGlobalContextProperty(''); @@ -1438,17 +1314,13 @@ window.DD_RUM && window.DD_RUM && window.DD_RUM.removeGlobalContextProperty('codeVersion'); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Replace global context Replace the default context for all your RUM events with the `setGlobalContext(context: Context)` API. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.setGlobalContext({ '': '' }); @@ -1458,10 +1330,10 @@ datadogRum.setGlobalContext({ codeVersion: 34, }); ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN async" %}} - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.setGlobalContext({ '': '' }); @@ -1474,10 +1346,10 @@ window.DD_RUM.onReady(function() { }) }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.setGlobalContext({ '': '' }); @@ -1488,75 +1360,63 @@ window.DD_RUM && codeVersion: 34, }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Clear global context You can clear the global context by using `clearGlobalContext`. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.clearGlobalContext(); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.clearGlobalContext(); }); ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.clearGlobalContext(); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ### Read global context Once RUM is initialized, read the global context with the `getGlobalContext()` API. - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; const context = datadogRum.getGlobalContext(); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { const context = window.DD_RUM.getGlobalContext(); }); ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} - + +{% if equals($lib_src, "cdn_sync") %} ```javascript const context = window.DD_RUM && window.DD_RUM.getGlobalContext(); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## Contexts life cycle @@ -1614,34 +1474,31 @@ You can optionally use `startTime` parameter to get the context of a specific ti ```typescript getInternalContext (startTime?: 'number' | undefined) ``` - -{{< tabs >}} -{{% tab "NPM" %}} - + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum' datadogRum.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... } ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN async" %}} - + +{% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function () { window.DD_RUM.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... } }) ``` +{% /if %} -{{% /tab %}} -{{% tab "CDN sync" %}} + +{% if equals($lib_src, "cdn_sync") %} ```javascript window.DD_RUM && window.DD_RUM.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... } ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} ## Micro frontend @@ -1650,9 +1507,8 @@ Starting with version 5.22, the RUM Browser SDK supports micro frontend architec ### How to use it In the `beforeSend` property, you can override the service and version properties. To help you identify where the event originated, use the `context.handlingStack` property. - -{{< tabs >}} -{{% tab "NPM" %}} + +{% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -1673,11 +1529,10 @@ datadogRum.init({ }, }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN async" %}} - - + +{% if equals($lib_src, "cdn_async") %} ```javascript const SERVICE_REGEX = /some-pathname\/(?\w+)\/(?\w+)\//; @@ -1698,11 +1553,10 @@ window.DD_RUM.onReady(function() { }); }); ``` +{% /if %} -{{% /tab %}} - {{% tab "CDN sync" %}} - - + +{% if equals($lib_src, "cdn_sync") %} ```javascript const SERVICE_REGEX = /some-pathname\/(?\w+)\/(?\w+)\//; @@ -1721,9 +1575,7 @@ window.DD_RUM && window.DD_RUM.init({ }, }); ``` - -{{% /tab %}} -{{< /tabs >}} +{% /if %} Any query done in the RUM Explorer can use the service attribute to filter events. @@ -1736,10 +1588,6 @@ Some events cannot be attributed to an origin, therefore they do not have an ass - View events (but you can [override default RUM view names][20] instead) - CORS and CSP violations -## Further Reading - -{{< partial name="whats-next/whats-next.html" >}} - [1]: /real_user_monitoring/application_monitoring/browser/data_collected/ [2]: /real_user_monitoring/application_monitoring/browser/monitoring_page_performance/ [3]: https://github.com/DataDog/browser-sdk/blob/main/CHANGELOG.md#v2170 From b6e4a13a441c8e632e972afe5669869f10e781e0 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 7 Jan 2026 08:43:04 -0800 Subject: [PATCH 07/31] version numbers --- .../browser/advanced_configuration.mdoc.md | 20 +++++------------ .../option_groups/real_user_monitoring.yaml | 8 +++++++ .../en/options/version_numbers.yaml | 22 ++++++++++++++++++- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index fafad11687b..0a2475d7b73 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -8,6 +8,8 @@ aliases: content_filters: - trait_id: lib_src option_group_id: rum_browser_sdk_source_options + - trait_id: rum_browser_sdk_version + option_group_id: rum_browser_sdk_version_for_advanced_config_options further_reading: - link: "/real_user_monitoring/application_monitoring/browser/tracking_user_actions" @@ -30,21 +32,6 @@ further_reading: text: "Datadog standard attributes" --- - - {% if equals($lib_src, "npm") %} - NPM-specific content goes here. - {% /if %} - - - {% if equals($lib_src, "cdn_async") %} - CDN async-specific content goes here. - {% /if %} - - - {% if equals($lib_src, "cdn_sync") %} - CDN sync-specific content goes here. - {% /if %} - ## Overview There are various ways you can modify the [data and context collected][1] by RUM, to support your needs for: @@ -54,6 +41,8 @@ There are various ways you can modify the [data and context collected][1] by RUM - Reducing how much RUM data you're collecting, through sampling the data. - Providing more context than what the default attributes provide about where the data is coming from. + +{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} ## Override default RUM view names The RUM Browser SDK automatically generates a [view event][2] for each new page visited by your users, or when the page URL is changed (for single-page applications). A view name is computed from the current page URL, where variable IDs are removed automatically. A path segment that contains at least one number is considered a variable ID. For example, `/dashboard/1234` and `/dashboard/9a` become `/dashboard/?`. @@ -156,6 +145,7 @@ Starting with [version 2.17.0][3], you can add view names and assign them to a d }) ``` {% /if %} +{% /if %}
diff --git a/customization_config/en/option_groups/real_user_monitoring.yaml b/customization_config/en/option_groups/real_user_monitoring.yaml index 6466bea8f44..4f3bc520fec 100644 --- a/customization_config/en/option_groups/real_user_monitoring.yaml +++ b/customization_config/en/option_groups/real_user_monitoring.yaml @@ -35,3 +35,11 @@ rum_browser_sdk_version_for_proxying_options: default: true - id: gte_4_34_0 - id: lt_4_34_0 + +rum_browser_sdk_version_for_advanced_config_options: +- id: lte_2_13_0 +- id: gte_2_17_0 +- id: gte_4_13_0 +- id: gte_5_22_0 +- id: gte_5_28_0 + default: true diff --git a/customization_config/en/options/version_numbers.yaml b/customization_config/en/options/version_numbers.yaml index 3961cc945fe..5e00865ffaa 100644 --- a/customization_config/en/options/version_numbers.yaml +++ b/customization_config/en/options/version_numbers.yaml @@ -1,5 +1,17 @@ options: +# 2.13.0 or earlier +- label: "<=2.13.0" + id: lte_2_13_0 + +# 2.17.0 or later +- label: ">=2.17.0" + id: gte_2_17_0 + +# 4.13.0 or later +- label: ">=4.13.0" + id: gte_4_13_0 + # Earlier than 4.34.0 - label: "<4.34.0" id: lt_4_34_0 @@ -10,4 +22,12 @@ options: # 5.4.0 or later - label: ">=5.4.0" - id: gte_5_4_0 \ No newline at end of file + id: gte_5_4_0 + +# 5.4.0 or later +- label: ">=5.22.0" + id: gte_5_22_0 + +# 5.4.0 or later +- label: ">=5.28.0" + id: gte_5_28_0 \ No newline at end of file From 32b0390b84a270342d2fd3e5de3d79d16a67395e Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 7 Jan 2026 15:45:34 -0800 Subject: [PATCH 08/31] wip --- .../browser/advanced_configuration.mdoc.md | 72 +++++++++++-------- package.json | 2 +- yarn.lock | 10 +-- 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 0a2475d7b73..4cc767bd109 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -45,58 +45,70 @@ There are various ways you can modify the [data and context collected][1] by RUM {% if versionMeets($rum_browser_sdk_version, "2.17.0") %} ## Override default RUM view names +Starting with [version 2.17.0][3], you can add view names and assign them to a dedicated service owned by a team by tracking view events manually with the `trackViewsManually` option. + The RUM Browser SDK automatically generates a [view event][2] for each new page visited by your users, or when the page URL is changed (for single-page applications). A view name is computed from the current page URL, where variable IDs are removed automatically. A path segment that contains at least one number is considered a variable ID. For example, `/dashboard/1234` and `/dashboard/9a` become `/dashboard/?`. -Starting with [version 2.17.0][3], you can add view names and assign them to a dedicated service owned by a team by tracking view events manually with the `trackViewsManually` option: +To override default RUM view names: 1. Set `trackViewsManually` to true when initializing the RUM Browser SDK. - {% if equals($lib_src, "npm") %} - ```javascript + {% if equals($lib_src, "npm") %} + ```javascript import { datadogRum } from '@datadog/browser-rum'; datadogRum.init({ - ..., - trackViewsManually: true, - ... + ..., + trackViewsManually: true, + ... }); ``` - {% /if %} + {% /if %} - - {% if equals($lib_src, "cdn_async") %} - ```javascript + + {% if equals($lib_src, "cdn_async") %} + ```javascript window.DD_RUM.onReady(function() { - window.DD_RUM.init({ - ..., - trackViewsManually: true, - ... - }) + window.DD_RUM.init({ + ..., + trackViewsManually: true, + ... + }) }) ``` - {% /if %} + {% /if %} - - {% if equals($lib_src, "cdn_sync") %} - ```javascript + + {% if equals($lib_src, "cdn_sync") %} + ```javascript window.DD_RUM && - window.DD_RUM.init({ - ..., - trackViewsManually: true, - ... - }); + window.DD_RUM.init({ + ..., + trackViewsManually: true, + ... + }); ``` - {% /if %} + {% /if %} -2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. Starting with [version 4.13.0][16], you can also optionally define the associated service name and version. +2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. - - View Name: Defaults to the page URL path. - - Service: Defaults to the default service specified when creating your RUM application. - - Version: Defaults to the default version specified when creating your RUM application. - - Context: Starting with [version 5.28.0][19], you can add context to views and the child events of views. + + + {% if versionMeets($rum_browser_sdk_version, "4.13.0") %} + Starting with [version 4.13.0][16], you can also optionally define the associated service name and version. + + - **View Name**: Defaults to the page URL path. + - **Service**: Defaults to the default service specified when creating your RUM application. + - **Version**: Defaults to the default version specified when creating your RUM application. + + {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} + - **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. + {% /if %} For more information, see [Setup Browser Monitoring][4]. + {% /if %} +
Latest version diff --git a/package.json b/package.json index 846bdd164ff..07052b43c14 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 91916a88175..49bcc28d587 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz": - version: 5.5.7 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz": + version: 5.5.9 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/f0c5b314ae3793005b2eaf0216d14851e9da893fe50a5c4ff56d1c703247c4052926aadf3d5441580fd250c365092e7ca940c0cb10dd793faa863a71b5feb3aa + checksum: 10/409a994a736d857e818d8a1afb5e29a8dea86e86d6945ee6a874d617e6c0dfdcba0bdf9a5c79fcafa429d571dece63593fdd428ad93c40889b1867547eb5b255 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.7.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From df531c02fd0370feffab9b37e14c91c0f0d345ff Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Thu, 8 Jan 2026 10:29:06 -0800 Subject: [PATCH 09/31] wip --- .vscode/markdoc.code-snippets | 15 ++- .../browser/advanced_configuration.mdoc.md | 114 ++++++++++-------- .../option_groups/real_user_monitoring.yaml | 4 +- .../en/options/version_numbers.yaml | 10 +- 4 files changed, 93 insertions(+), 50 deletions(-) diff --git a/.vscode/markdoc.code-snippets b/.vscode/markdoc.code-snippets index 87ebf896381..c6c6cd7763e 100644 --- a/.vscode/markdoc.code-snippets +++ b/.vscode/markdoc.code-snippets @@ -59,6 +59,19 @@ "description": "Markdoc if tag with equals condition" }, + "Version": { + "scope": "markdoc", + "prefix": ";;version", + "body": [ + "", + "{% if versionMeets($${2:trait_id}, \"${1:version}\") %}", + "${3:Content shown if version is met}", + "{% /if %}", + "" + ], + "description": "Show content that meets a semantic version" + }, + "Image": { "scope": "markdoc", "prefix": ";;image", @@ -70,7 +83,7 @@ "Video": { "scope": "markdoc", - "prefix": ";;;video", + "prefix": ";;video", "body": ["{% img src=\"${1:path/to/video.mp4}\" alt=\"${2:Descriptive video alt text}\" video=\"true\" /%}"], "description": "Markdoc video tag using img with video attribute" }, diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 4cc767bd109..83fb5e3b28a 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -92,7 +92,7 @@ To override default RUM view names: {% /if %} 2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. - +{% /if %} {% if versionMeets($rum_browser_sdk_version, "4.13.0") %} @@ -105,14 +105,15 @@ To override default RUM view names: {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} - **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. {% /if %} + For more information, see [Setup Browser Monitoring][4]. {% /if %} - + -
- Latest version - The following example manually tracks the pageviews on the checkout page in a RUM application. Use checkout for the view name and associate the purchase service with version 1.2.3. + + {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} + The following example manually tracks the pageviews on the `checkout` page in a RUM application. Use `checkout` for the view name and associate the `purchase` service with version `1.2.3`. {% if equals($lib_src, "npm") %} @@ -157,12 +158,13 @@ To override default RUM view names: }) ``` {% /if %} -{% /if %} -
-
-before v5.28.0 -The following example manually tracks the pageviews on the checkout page in a RUM application. It uses checkout for the view name and associates the purchase service with version 1.2.3. + {% /if %} + + + +{% if versionMeets($rum_browser_sdk_version, "5.22.0") %} +The following example manually tracks the pageviews on the `checkout` page in a RUM application. It uses `checkout` for the view name and associates the `purchase` service with version `1.2.3`. {% if equals($lib_src, "npm") %} @@ -199,36 +201,36 @@ window.DD_RUM && window.DD_RUM.startView({ }) ``` {% /if %} +{% /if %} + -
- -
- before v4.13.0 - The following example manually tracks the pageviews on the checkout page in a RUM application. No service or version can be specified. - - {% if equals($lib_src, "npm") %} - ```javascript - datadogRum.startView('checkout') - ``` - {% /if %} - - - {% if equals($lib_src, "cdn_async") %} - ```javascript - window.DD_RUM.onReady(function() { - window.DD_RUM.startView('checkout') - }) - ``` - {% /if %} + +{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} +The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. + +{% if equals($lib_src, "npm") %} +```javascript +datadogRum.startView('checkout') +``` +{% /if %} - - {% if equals($lib_src, "cdn_sync") %} - ```javascript - window.DD_RUM && window.DD_RUM.startView('checkout') - ``` - {% /if %} + +{% if equals($lib_src, "cdn_async") %} +```javascript +window.DD_RUM.onReady(function() { + window.DD_RUM.startView('checkout') +}) +``` +{% /if %} -
+ +{% if equals($lib_src, "cdn_sync") %} +```javascript +window.DD_RUM && window.DD_RUM.startView('checkout') +``` +{% /if %} +{% /if %} + If you are using React, Angular, Vue, or any other frontend framework, Datadog recommends implementing the `startView` logic at the framework router level. @@ -386,7 +388,7 @@ To override default RUM view names so that they are aligned with how you've defi ### Set view name Use `setViewName(name: string)` to update the name of the current view. This allows you to change the view name during the view without starting a new one. - + {% if equals($lib_src, "npm") %} ```javascript import { datadogRum } from '@datadog/browser-rum'; @@ -434,6 +436,8 @@ Intercepting the RUM events allows you to: - Modify your RUM events to alter their content or redact sensitive sequences (see [list of editable properties](#modify-the-content-of-a-rum-event)) - Discard selected RUM events + +{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} Starting with [version 2.13.0][5], `beforeSend` takes two arguments: the `event` generated by the RUM Browser SDK, and the `context` that triggered the creation of the RUM event. ```javascript @@ -453,6 +457,8 @@ The potential `context` values are: | Long Task | [PerformanceLongTaskTiming][13] | For more information, see the [Enrich and control RUM data guide][14]. +{% /if %} + ### Enrich RUM events @@ -672,19 +678,21 @@ Adding user information to your RUM sessions helps you: {% img src="real_user_monitoring/browser/advanced_configuration/user-api.png" alt="User API in RUM UI" /%} - - -[**TODO**] v6.4.0 and above -The following attributes are available: + +{% if versionMeets($rum_browser_sdk_version, "6.4.0") %} +In versions 6.4.0 and above, the following attributes are available: | Attribute | Type | Required | Description | |------------|------|------|----------------------------------------------------------------------------------------------------| | `usr.id` | String | Yes | Unique user identifier. | | `usr.name` | String | No | User friendly name, displayed by default in the RUM UI. | | `usr.email` | String | No | User email, displayed in the RUM UI if the user name is not present. It is also used to fetch Gravatars. | +{% /if %} + -[**TODO**] "Below v6.4.0" -The below attributes are optional but Datadog strongly recommends providing at least one of them. For example, you should set the user ID on your sessions to see relevant data on some default RUM dashboards, which rely on `usr.id` as part of the query. + +{% if not(versionMeets($rum_browser_sdk_version, "6.4.0")) %} +The below attributes are optional in versions before 6.4.0, but Datadog strongly recommends providing at least one of them. For example, you should set the user ID on your sessions to see relevant data on some default RUM dashboards, which rely on `usr.id` as part of the query. | Attribute | Type | Description | |------------|------|----------------------------------------------------------------------------------------------------| @@ -697,6 +705,8 @@ Increase your filtering capabilities by adding extra attributes on top of the re When making changes to the user session object, all RUM events collected after the change contain the updated information. **Note**: Deleting the user session information, as in a logout, retains the user information on the last view before the logout, but not on later views or the session level as the session data uses the last view's values. +{% /if %} + ### Identify user session @@ -1115,6 +1125,7 @@ acceptCookieBannerButton.addEventListener('click', () => { ## View context + Starting with [version 5.28.0][20], the context of view events is modifiable. Context can be added to the current view only, and populates its child events (such as `action`, `error`, and `timing`) with `startView`, `setViewContext`, and `setViewContextProperty` functions. ### Start view with context @@ -1221,11 +1232,11 @@ window.DD_RUM && When capturing errors, additional context may be provided at the time an error is generated. Instead of passing extra information through the `addError()` API, you can attach a `dd_context` property directly to the error instance. The RUM Browser SDK automatically detects this property and merges it into the final error event context. -{{< code-block lang="javascript" >}} +```javascript const error = new Error('Something went wrong') error.dd_context = { component: 'Menu', param: 123, } throw error -{{< /code-block >}} +``` ## Global context @@ -1429,7 +1440,9 @@ By default, global context and user context are stored in the current page memor To add them to all events of the session, they must be attached to every page. -With the introduction of the `storeContextsAcrossPages` configuration option in the v4.49.0 of the browser SDK, those contexts can be stored in [`localStorage`][18], allowing the following behaviors: + +{% if versionMeets($rum_browser_sdk_version, "4.49.0") %} +With the introduction of the `storeContextsAcrossPages` configuration option in version 4.49.0, those contexts can be stored in [`localStorage`][18], allowing the following behaviors: - Contexts are preserved after a full reload - Contexts are synchronized between tabs opened on the same origin @@ -1440,6 +1453,9 @@ However, this feature comes with some **limitations**: - The feature is incompatible with the `trackSessionAcrossSubdomains` options because `localStorage` data is only shared among the same origin (login.site.com ≠ app.site.com) - `localStorage` is limited to 5 MiB by origin, so the application-specific data, Datadog contexts, and other third-party data stored in local storage must be within this limit to avoid any issues +{% /if %} + + ## Internal context After the Datadog browser RUM SDK is initialized, you can access the internal context of the SDK. This provides core identifiers and metadata that the SDK uses internally, such as session IDs and application details. @@ -1502,6 +1518,8 @@ window.DD_RUM && window.DD_RUM.getInternalContext() // { session_id: "xxxx", app ``` {% /if %} + +{% if versionMeets($rum_browser_sdk_version, "5.22") %} ## Micro frontend Starting with version 5.22, the RUM Browser SDK supports micro frontend architectures. The mechanism is based on stacktrace. To use it, you must be able to extract service and version properties from your application's file paths and filenames. @@ -1589,6 +1607,8 @@ Some events cannot be attributed to an origin, therefore they do not have an ass - Resource events other than XHR and Fetch. - View events (but you can [override default RUM view names][20] instead) - CORS and CSP violations +{% /if %} + [1]: /real_user_monitoring/application_monitoring/browser/data_collected/ [2]: /real_user_monitoring/application_monitoring/browser/monitoring_page_performance/ diff --git a/customization_config/en/option_groups/real_user_monitoring.yaml b/customization_config/en/option_groups/real_user_monitoring.yaml index 4f3bc520fec..6c138636ce9 100644 --- a/customization_config/en/option_groups/real_user_monitoring.yaml +++ b/customization_config/en/option_groups/real_user_monitoring.yaml @@ -40,6 +40,8 @@ rum_browser_sdk_version_for_advanced_config_options: - id: lte_2_13_0 - id: gte_2_17_0 - id: gte_4_13_0 +- id: gte_4_49_0 - id: gte_5_22_0 - id: gte_5_28_0 - default: true +- id: gte_6_4_0 + default: true diff --git a/customization_config/en/options/version_numbers.yaml b/customization_config/en/options/version_numbers.yaml index 5e00865ffaa..4a101671734 100644 --- a/customization_config/en/options/version_numbers.yaml +++ b/customization_config/en/options/version_numbers.yaml @@ -24,10 +24,18 @@ options: - label: ">=5.4.0" id: gte_5_4_0 +# 4.49.0 or later +- label: ">=4.49.0" + id: gte_4_49_0 + # 5.4.0 or later - label: ">=5.22.0" id: gte_5_22_0 # 5.4.0 or later - label: ">=5.28.0" - id: gte_5_28_0 \ No newline at end of file + id: gte_5_28_0 + +# 6.4.0 +- label: ">=6.4.0" + id: gte_6_4_0 \ No newline at end of file From 3159d1696d02d473f93085752ff2d0b8925fcbb9 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Thu, 8 Jan 2026 12:27:53 -0800 Subject: [PATCH 10/31] wip --- .../browser/advanced_configuration.mdoc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 83fb5e3b28a..91764fee01a 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -437,7 +437,7 @@ Intercepting the RUM events allows you to: - Discard selected RUM events -{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} +{% if versionMeets($rum_browser_sdk_version, "2.13.0") %} Starting with [version 2.13.0][5], `beforeSend` takes two arguments: the `event` generated by the RUM Browser SDK, and the `context` that triggered the creation of the RUM event. ```javascript From 9428a341729fba5374af0d3af96fe7c4a8742243 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Fri, 9 Jan 2026 14:04:43 -0800 Subject: [PATCH 11/31] Fix gitignore --- content/.gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/.gitignore b/content/.gitignore index aaaa14052d5..222044657d1 100644 --- a/content/.gitignore +++ b/content/.gitignore @@ -5,8 +5,6 @@ # This file lists compiled Cdocs files to keep them out of version control. For more information, see the internal Cdocs documentation: https://datadoghq.atlassian.net/wiki/spaces/docs4docs/pages/4898063037/Cdocs+Build -/en/product_analytics/session_replay/mobile/privacy_options.md -/en/product_analytics/session_replay/mobile/setup_and_configuration.md /en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md /en/real_user_monitoring/guide/proxy-mobile-rum-data.md /en/real_user_monitoring/guide/proxy-rum-data.md From fccd7550c953d9348a6250253c6ed4ad25616545 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Fri, 9 Jan 2026 16:38:45 -0800 Subject: [PATCH 12/31] Bump package with version fix --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 07052b43c14..8ae2cd045b4 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 49bcc28d587..b0f7818e804 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6548,9 +6548,9 @@ __metadata: languageName: node linkType: hard -"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz": - version: 1.3.0 - resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" +"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz": + version: 1.3.3 + resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz" dependencies: "@types/semver": "npm:^7.7.0" js-yaml: "npm:^4.1.0" @@ -6562,18 +6562,18 @@ __metadata: typedoc-plugin-zod: "npm:^1.3.1" uuid: "npm:^11.0.5" zod: "npm:^4.1.12" - checksum: 10/5582490d1b31ffcfcc496c1753603bf5f7d07ccc6a1177b3136855b403a4f3c2cd4d8ac82e56a41541741a43705dbb8f3a586a95857a47312b3316addce0a072 + checksum: 10/702b05c51820c108cd0caa32e399e37facb75cb78041bba9d8b9ea5820f52cc62ca750576e7617eac5e2852c4ac624d503e2228ff6480d408fd55250fdebc900 languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz": - version: 5.5.9 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz": + version: 5.5.12 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" - cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" + cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz" cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/409a994a736d857e818d8a1afb5e29a8dea86e86d6945ee6a874d617e6c0dfdcba0bdf9a5c79fcafa429d571dece63593fdd428ad93c40889b1867547eb5b255 + checksum: 10/7da6bf0cc91d54bccc2ade58a54886d509c5b5c118fd091337d51695ddfbbf5803bb21cb3081b6314863ad9f89bc373a37f7f1c919e9bd6e7010e82d2bfdcdd7 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.9.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From d13436c67e3c4a967582b4e6d2f9097215bc8e0d Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Fri, 9 Jan 2026 17:55:17 -0800 Subject: [PATCH 13/31] Bump for fix --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8ae2cd045b4..3340b1959b6 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index b0f7818e804..c1993a39bc1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz": - version: 5.5.12 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz": + version: 5.5.13 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/7da6bf0cc91d54bccc2ade58a54886d509c5b5c118fd091337d51695ddfbbf5803bb21cb3081b6314863ad9f89bc373a37f7f1c919e9bd6e7010e82d2bfdcdd7 + checksum: 10/aec9b9f22267cde30646a3ddd3d7e1a706501645dc481c934f359f70ce82f00d96511b9175fd489e77ad79cc73a083f458564aa8b6aaf243a990b8d53ad61364 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.12.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 909c8f89306b2531719f7693144b6f0eeaf8241c Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Sat, 10 Jan 2026 16:11:09 -0800 Subject: [PATCH 14/31] bump --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 3340b1959b6..3375a29f106 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index c1993a39bc1..c222d2e4c11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,15 +6566,15 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz": - version: 5.5.13 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz": + version: 5.5.15 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/aec9b9f22267cde30646a3ddd3d7e1a706501645dc481c934f359f70ce82f00d96511b9175fd489e77ad79cc73a083f458564aa8b6aaf243a990b8d53ad61364 + checksum: 10/1d7e63e3915d7ff793ed7163b604048bf271533b184d1124e84a66b6be39a9a4f624db5fe1b2513f6cea014549e522d1fe562fe4c062ddc754cfbaf4d0fec1cd languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz": - version: 6.6.1 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-markdoc-v6.6.1.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz": + version: 1.1.4 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/62263b78c53deeab7ef5ab2988b5cb46dcafeb94df7a12efdb54d77dc8e017de4ff14db543e51dfd7f4e736cf53fe5cf1a867093a5c4e12fc6d672e2ea040160 + checksum: 10/5a6e3b920a96e11b1c2430e81c93c17fe39401be5c3724327ae18364c6cc649d663cbe3ed3434fc702dfb75381b8613d92b3c906c220abc695517307c6a0a946 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.13.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From c6c86a47cefdc30779879ec9790e32606fb67a48 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Mon, 12 Jan 2026 09:44:24 -0800 Subject: [PATCH 15/31] wip --- .../browser/advanced_configuration.mdoc.md | 145 +++++++++++------- package.json | 2 +- yarn.lock | 18 +-- 3 files changed, 96 insertions(+), 69 deletions(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 91764fee01a..1c1e17d864e 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -43,6 +43,7 @@ There are various ways you can modify the [data and context collected][1] by RUM {% if versionMeets($rum_browser_sdk_version, "2.17.0") %} + ## Override default RUM view names Starting with [version 2.17.0][3], you can add view names and assign them to a dedicated service owned by a team by tracking view events manually with the `trackViewsManually` option. @@ -65,6 +66,7 @@ To override default RUM view names: }); ``` {% /if %} + {% if equals($lib_src, "cdn_async") %} @@ -78,6 +80,7 @@ To override default RUM view names: }) ``` {% /if %} + {% if equals($lib_src, "cdn_sync") %} @@ -90,34 +93,42 @@ To override default RUM view names: }); ``` {% /if %} + +{% /if %} + + +{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} 2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. -{% /if %} - - {% if versionMeets($rum_browser_sdk_version, "4.13.0") %} - Starting with [version 4.13.0][16], you can also optionally define the associated service name and version. + +{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} - - **View Name**: Defaults to the page URL path. - - **Service**: Defaults to the default service specified when creating your RUM application. - - **Version**: Defaults to the default version specified when creating your RUM application. - - {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} - - **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. - {% /if %} - +### Define service name and version - For more information, see [Setup Browser Monitoring][4]. - {% /if %} - +Starting with [version 4.13.0][16], you can also optionally define the associated service name and version. + +- **View Name**: Defaults to the page URL path. +- **Service**: Defaults to the default service specified when creating your RUM application. +- **Version**: Defaults to the default version specified when creating your RUM application. + + +{% if versionMeets($rum_browser_sdk_version, "5.28.0") %} +- **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. +{% /if %} + + +For more information, see [Setup Browser Monitoring][4]. +{% /if %} + {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} The following example manually tracks the pageviews on the `checkout` page in a RUM application. Use `checkout` for the view name and associate the `purchase` service with version `1.2.3`. - {% if equals($lib_src, "npm") %} - ```javascript + {% if equals($lib_src, "npm") %} + ```javascript datadogRum.startView({ name: 'checkout', service: 'purchase', @@ -127,11 +138,12 @@ To override default RUM view names: }, }) ``` - {% /if %} + {% /if %} + - - {% if equals($lib_src, "cdn_async") %} - ```javascript + + {% if equals($lib_src, "cdn_async") %} + ```javascript window.DD_RUM.onReady(function() { window.DD_RUM.startView({ name: 'checkout', @@ -143,11 +155,12 @@ To override default RUM view names: }) }) ``` - {% /if %} + {% /if %} + - - {% if equals($lib_src, "cdn_sync") %} - ```javascript + + {% if equals($lib_src, "cdn_sync") %} + ```javascript window.DD_RUM && window.DD_RUM.startView({ name: 'checkout', service: 'purchase', @@ -157,13 +170,15 @@ To override default RUM view names: }, }) ``` - {% /if %} + {% /if %} + + + {% /if %} + + + + {% if versionMeets($rum_browser_sdk_version, "5.22.0") %} - {% /if %} - - - -{% if versionMeets($rum_browser_sdk_version, "5.22.0") %} The following example manually tracks the pageviews on the `checkout` page in a RUM application. It uses `checkout` for the view name and associates the `purchase` service with version `1.2.3`. @@ -201,41 +216,48 @@ window.DD_RUM && window.DD_RUM.startView({ }) ``` {% /if %} -{% /if %} - + {% /if %} + - -{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} -The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. - -{% if equals($lib_src, "npm") %} -```javascript -datadogRum.startView('checkout') -``` -{% /if %} + + {% if versionMeets($rum_browser_sdk_version, "4.13.0") %} + The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. - -{% if equals($lib_src, "cdn_async") %} -```javascript -window.DD_RUM.onReady(function() { - window.DD_RUM.startView('checkout') -}) -``` -{% /if %} + + {% if equals($lib_src, "npm") %} + ```javascript + datadogRum.startView('checkout') + ``` + {% /if %} + + + {% if equals($lib_src, "cdn_async") %} + ```javascript + window.DD_RUM.onReady(function() { + window.DD_RUM.startView('checkout') + }) + ``` + {% /if %} + + + {% if equals($lib_src, "cdn_sync") %} + ```javascript + window.DD_RUM && window.DD_RUM.startView('checkout') + ``` + {% /if %} + {% /if %} + - -{% if equals($lib_src, "cdn_sync") %} -```javascript -window.DD_RUM && window.DD_RUM.startView('checkout') -``` -{% /if %} {% /if %} - + -If you are using React, Angular, Vue, or any other frontend framework, Datadog recommends implementing the `startView` logic at the framework router level. + +{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} ### React router instrumentation +If you are using React, Angular, Vue, or any other frontend framework, Datadog recommends implementing the `startView` logic at the framework router level. + To override default RUM view names so that they are aligned with how you've defined them in your React application, you need to follow the below steps. **Note**: These instructions are specific to the **React Router v6** library. @@ -384,7 +406,11 @@ To override default RUM view names so that they are aligned with how you've defi } ``` {% /if %} +{% /if %} + + +{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} ### Set view name Use `setViewName(name: string)` to update the name of the current view. This allows you to change the view name during the view without starting a new one. @@ -425,7 +451,8 @@ Use `setViewName(name: string)` to update the name of the current view. This all {% /if %} **Note**: Changing the view name affects the view and its child events from the time the method is called. - +{% /if %} + ## Enrich and control RUM data The RUM Browser SDK captures RUM events and populates their main attributes. The `beforeSend` callback function gives you access to every event collected by the RUM Browser SDK before it is sent to Datadog. diff --git a/package.json b/package.json index 3375a29f106..ad4bc3f7ebc 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index c222d2e4c11..cf172244790 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6548,9 +6548,9 @@ __metadata: languageName: node linkType: hard -"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz": +"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz": version: 1.3.3 - resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz" + resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz" dependencies: "@types/semver": "npm:^7.7.0" js-yaml: "npm:^4.1.0" @@ -6562,18 +6562,18 @@ __metadata: typedoc-plugin-zod: "npm:^1.3.1" uuid: "npm:^11.0.5" zod: "npm:^4.1.12" - checksum: 10/702b05c51820c108cd0caa32e399e37facb75cb78041bba9d8b9ea5820f52cc62ca750576e7617eac5e2852c4ac624d503e2228ff6480d408fd55250fdebc900 + checksum: 10/d6badb8e01edc5d008c55c0f2b5623aa13a8d27df05bbf1b77b6a222fccf4b7f8101a28c92b1d6d57fa8b92a49076763e7375ee9fbba35fb7c18b27be9aafb63 languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz": - version: 5.5.15 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz": + version: 5.5.16 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" - cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semver-bug-fix/cdocs-data-v1.3.3.tgz" + cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz" cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/1d7e63e3915d7ff793ed7163b604048bf271533b184d1124e84a66b6be39a9a4f624db5fe1b2513f6cea014549e522d1fe562fe4c062ddc754cfbaf4d0fec1cd + checksum: 10/161f347a325d480f295b8e4c45e2ff0283034b76ec5bad444acce177316f08f64d25421be254aaea2e63b382336dfa5944dbee529242080563890a655cd5860d languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.15.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 58e8fc885e6cb0d6cbf5cc90e2b65ccd105c3f2e Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Thu, 15 Jan 2026 12:47:34 -0800 Subject: [PATCH 16/31] wip --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index ad4bc3f7ebc..f1cb808009e 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index cf172244790..422dc9755ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,15 +6566,15 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz": - version: 5.5.16 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz": + version: 5.5.17 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/161f347a325d480f295b8e4c45e2ff0283034b76ec5bad444acce177316f08f64d25421be254aaea2e63b382336dfa5944dbee529242080563890a655cd5860d + checksum: 10/425b51420306a7555e183a7487ddc288b16a8d406ec58a01bcb2e4f56479ee06bf6cacff226370941846494a543b4a9d88e8b973c540fa4268e4f0decd8e4e32 languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz": - version: 1.1.4 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.4.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz": + version: 1.0.2 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/5a6e3b920a96e11b1c2430e81c93c17fe39401be5c3724327ae18364c6cc649d663cbe3ed3434fc702dfb75381b8613d92b3c906c220abc695517307c6a0a946 + checksum: 10/844190c9cbb525414c8f24cf874908535504cacb8d5ecbe86edfff00bb595f233d29044ed763b0b612e6fdccaa2376aa4999a56e3d94cfef0f4b325fcad9602e languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.16.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From f6f27d7080c82407bb4f253bd81ccef293626ee3 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Fri, 16 Jan 2026 14:07:49 -0800 Subject: [PATCH 17/31] Update and bump --- .../browser/advanced_configuration.mdoc.md | 163 +++++++++--------- .../option_groups/real_user_monitoring.yaml | 3 +- .../en/options/version_numbers.yaml | 10 +- package.json | 4 +- yarn.lock | 40 ++--- 5 files changed, 111 insertions(+), 109 deletions(-) diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index 1c1e17d864e..f77d7e5f88f 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -42,7 +42,7 @@ There are various ways you can modify the [data and context collected][1] by RUM - Providing more context than what the default attributes provide about where the data is coming from. -{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "2.17.0") %} ## Override default RUM view names @@ -94,15 +94,13 @@ To override default RUM view names: ``` {% /if %} +2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. {% /if %} - -{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} -2. You must start views for each new page or route change (for single-page applications). RUM data is collected when the view starts. -{% if versionMeets($rum_browser_sdk_version, "4.13.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "4.13.0") %} ### Define service name and version @@ -111,73 +109,43 @@ Starting with [version 4.13.0][16], you can also optionally define the associate - **View Name**: Defaults to the page URL path. - **Service**: Defaults to the default service specified when creating your RUM application. - **Version**: Defaults to the default version specified when creating your RUM application. - - -{% if versionMeets($rum_browser_sdk_version, "5.28.0") %} -- **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. -{% /if %} - - -For more information, see [Setup Browser Monitoring][4]. {% /if %} - - {% if versionMeets($rum_browser_sdk_version, "5.28.0") %} - The following example manually tracks the pageviews on the `checkout` page in a RUM application. Use `checkout` for the view name and associate the `purchase` service with version `1.2.3`. + - - {% if equals($lib_src, "npm") %} - ```javascript - datadogRum.startView({ - name: 'checkout', - service: 'purchase', - version: '1.2.3', - context: { - payment: 'Done' - }, - }) - ``` - {% /if %} - + +{% if and(equals($rum_browser_sdk_version, "lt_2_13_0"), equals($rum_browser_sdk_version, "gte_2_13_0")) %} +The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. - - {% if equals($lib_src, "cdn_async") %} - ```javascript - window.DD_RUM.onReady(function() { - window.DD_RUM.startView({ - name: 'checkout', - service: 'purchase', - version: '1.2.3', - context: { - payment: 'Done' - }, - }) - }) - ``` - {% /if %} - + +{% if equals($lib_src, "npm") %} +```javascript +datadogRum.startView('checkout') +``` +{% /if %} - - {% if equals($lib_src, "cdn_sync") %} - ```javascript - window.DD_RUM && window.DD_RUM.startView({ - name: 'checkout', - service: 'purchase', - version: '1.2.3', - context: { - payment: 'Done' - }, - }) - ``` - {% /if %} - + +{% if equals($lib_src, "cdn_async") %} +```javascript +window.DD_RUM.onReady(function() { + window.DD_RUM.startView('checkout') +}) +``` +{% /if %} - {% /if %} - + +{% if equals($lib_src, "cdn_sync") %} +```javascript +window.DD_RUM && window.DD_RUM.startView('checkout') +``` +{% /if %} +{% /if %} + + + +{% if and(equals($rum_browser_sdk_version, "gte_4_13_0"), equals($rum_browser_sdk_version, "gte_4_49_0"), equals($rum_browser_sdk_version, "gte_5_22_0")) %} - - {% if versionMeets($rum_browser_sdk_version, "5.22.0") %} The following example manually tracks the pageviews on the `checkout` page in a RUM application. It uses `checkout` for the view name and associates the `purchase` service with version `1.2.3`. @@ -216,43 +184,68 @@ window.DD_RUM && window.DD_RUM.startView({ }) ``` {% /if %} - {% /if %} - +{% /if %} + + + + +{% if semverIsAtLeast($rum_browser_sdk_version, "5.28.0") %} + +- **Context**: Starting with [version 5.28.0][19], you can add context to views and the child events of views. - - {% if versionMeets($rum_browser_sdk_version, "4.13.0") %} - The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. +The following example manually tracks the pageviews on the `checkout` page in a RUM application. Use `checkout` for the view name and associate the `purchase` service with version `1.2.3`. {% if equals($lib_src, "npm") %} ```javascript - datadogRum.startView('checkout') + datadogRum.startView({ + name: 'checkout', + service: 'purchase', + version: '1.2.3', + context: { + payment: 'Done' + }, + }) ``` {% /if %} + {% if equals($lib_src, "cdn_async") %} ```javascript window.DD_RUM.onReady(function() { - window.DD_RUM.startView('checkout') + window.DD_RUM.startView({ + name: 'checkout', + service: 'purchase', + version: '1.2.3', + context: { + payment: 'Done' + }, + }) }) ``` {% /if %} + {% if equals($lib_src, "cdn_sync") %} ```javascript - window.DD_RUM && window.DD_RUM.startView('checkout') + window.DD_RUM && window.DD_RUM.startView({ + name: 'checkout', + service: 'purchase', + version: '1.2.3', + context: { + payment: 'Done' + }, + }) ``` {% /if %} - {% /if %} - - + {% /if %} - + -{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "2.17.0") %} ### React router instrumentation @@ -410,7 +403,7 @@ To override default RUM view names so that they are aligned with how you've defi -{% if versionMeets($rum_browser_sdk_version, "2.17.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "2.17.0") %} ### Set view name Use `setViewName(name: string)` to update the name of the current view. This allows you to change the view name during the view without starting a new one. @@ -453,6 +446,10 @@ Use `setViewName(name: string)` to update the name of the current view. This all **Note**: Changing the view name affects the view and its child events from the time the method is called. {% /if %} + +For more information, see [Setup Browser Monitoring][4]. + + ## Enrich and control RUM data The RUM Browser SDK captures RUM events and populates their main attributes. The `beforeSend` callback function gives you access to every event collected by the RUM Browser SDK before it is sent to Datadog. @@ -464,7 +461,7 @@ Intercepting the RUM events allows you to: - Discard selected RUM events -{% if versionMeets($rum_browser_sdk_version, "2.13.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "2.13.0") %} Starting with [version 2.13.0][5], `beforeSend` takes two arguments: the `event` generated by the RUM Browser SDK, and the `context` that triggered the creation of the RUM event. ```javascript @@ -706,7 +703,7 @@ Adding user information to your RUM sessions helps you: {% img src="real_user_monitoring/browser/advanced_configuration/user-api.png" alt="User API in RUM UI" /%} -{% if versionMeets($rum_browser_sdk_version, "6.4.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "6.4.0") %} In versions 6.4.0 and above, the following attributes are available: | Attribute | Type | Required | Description | @@ -718,7 +715,7 @@ In versions 6.4.0 and above, the following attributes are available: -{% if not(versionMeets($rum_browser_sdk_version, "6.4.0")) %} +{% if not(semverIsAtLeast($rum_browser_sdk_version, "6.4.0")) %} The below attributes are optional in versions before 6.4.0, but Datadog strongly recommends providing at least one of them. For example, you should set the user ID on your sessions to see relevant data on some default RUM dashboards, which rely on `usr.id` as part of the query. | Attribute | Type | Description | @@ -1468,7 +1465,7 @@ By default, global context and user context are stored in the current page memor To add them to all events of the session, they must be attached to every page. -{% if versionMeets($rum_browser_sdk_version, "4.49.0") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "4.49.0") %} With the introduction of the `storeContextsAcrossPages` configuration option in version 4.49.0, those contexts can be stored in [`localStorage`][18], allowing the following behaviors: - Contexts are preserved after a full reload @@ -1546,7 +1543,7 @@ window.DD_RUM && window.DD_RUM.getInternalContext() // { session_id: "xxxx", app {% /if %} -{% if versionMeets($rum_browser_sdk_version, "5.22") %} +{% if semverIsAtLeast($rum_browser_sdk_version, "5.22") %} ## Micro frontend Starting with version 5.22, the RUM Browser SDK supports micro frontend architectures. The mechanism is based on stacktrace. To use it, you must be able to extract service and version properties from your application's file paths and filenames. diff --git a/customization_config/en/option_groups/real_user_monitoring.yaml b/customization_config/en/option_groups/real_user_monitoring.yaml index 6c138636ce9..38f8a36eec1 100644 --- a/customization_config/en/option_groups/real_user_monitoring.yaml +++ b/customization_config/en/option_groups/real_user_monitoring.yaml @@ -37,7 +37,8 @@ rum_browser_sdk_version_for_proxying_options: - id: lt_4_34_0 rum_browser_sdk_version_for_advanced_config_options: -- id: lte_2_13_0 +- id: lt_2_13_0 +- id: gte_2_13_0 - id: gte_2_17_0 - id: gte_4_13_0 - id: gte_4_49_0 diff --git a/customization_config/en/options/version_numbers.yaml b/customization_config/en/options/version_numbers.yaml index 4a101671734..a9e5a50acea 100644 --- a/customization_config/en/options/version_numbers.yaml +++ b/customization_config/en/options/version_numbers.yaml @@ -1,8 +1,12 @@ options: -# 2.13.0 or earlier -- label: "<=2.13.0" - id: lte_2_13_0 +# earlier than 2.13.0 +- label: "<2.13.0" + id: lt_2_13_0 + +# 2.13.0 or later +- label: ">=2.13.0" + id: gte_2_13_0 # 2.17.0 or later - label: ">=2.17.0" diff --git a/package.json b/package.json index f1cb808009e..9f1268d99a3 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", @@ -77,7 +77,7 @@ "traverse": "0.6.8", "typesense": "^1.8.2", "typesense-instantsearch-adapter": "^2.8.0", - "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.3.0.tgz", + "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz", "yaml-lint": "^1.7.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 422dc9755ae..c433017db26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6548,9 +6548,9 @@ __metadata: languageName: node linkType: hard -"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz": - version: 1.3.3 - resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz" +"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz": + version: 1.3.0 + resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" dependencies: "@types/semver": "npm:^7.7.0" js-yaml: "npm:^4.1.0" @@ -6562,19 +6562,19 @@ __metadata: typedoc-plugin-zod: "npm:^1.3.1" uuid: "npm:^11.0.5" zod: "npm:^4.1.12" - checksum: 10/d6badb8e01edc5d008c55c0f2b5623aa13a8d27df05bbf1b77b6a222fccf4b7f8101a28c92b1d6d57fa8b92a49076763e7375ee9fbba35fb7c18b27be9aafb63 + checksum: 10/5582490d1b31ffcfcc496c1753603bf5f7d07ccc6a1177b3136855b403a4f3c2cd4d8ac82e56a41541741a43705dbb8f3a586a95857a47312b3316addce0a072 languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz": - version: 5.5.17 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz": + version: 2.5.2 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" - cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/versionBetween/cdocs-data-v1.3.3.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" + cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/425b51420306a7555e183a7487ddc288b16a8d406ec58a01bcb2e4f56479ee06bf6cacff226370941846494a543b4a9d88e8b973c540fa4268e4f0decd8e4e32 + checksum: 10/a32361fe3d0ad8ff5d80482084d16b0921a45835e56d2d7dcebe1932bc18334ab95a6def7bfa1d0863968334b71a3b026ccde7d9bb340e3b695d54e47f82159f languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz": - version: 1.0.2 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.0.2.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz": + version: 1.1.8 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/844190c9cbb525414c8f24cf874908535504cacb8d5ecbe86edfff00bb595f233d29044ed763b0b612e6fdccaa2376aa4999a56e3d94cfef0f4b325fcad9602e + checksum: 10/e38b2ad95ca31593c7a3a19c5b6d650005e7ca3c3dc5233277282e2b3b1ca47100bfd5d1f213fb00c576a04d5956efb2b0f8072b64c0eff73d53882920532576 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/semantic-versioning/cdocs-hugo-integration-v5.5.17.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" @@ -7690,7 +7690,7 @@ __metadata: traverse: "npm:0.6.8" typesense: "npm:^1.8.2" typesense-instantsearch-adapter: "npm:^2.8.0" - typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.3.0.tgz" + typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz" yaml-lint: "npm:^1.7.0" languageName: unknown linkType: soft @@ -16908,9 +16908,9 @@ __metadata: languageName: node linkType: hard -"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.3.0.tgz": - version: 1.3.0 - resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.3.0.tgz" +"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz": + version: 1.4.0 + resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz" dependencies: "@babel/runtime": "npm:^7.25.0" dotenv: "npm:^16.4.5" @@ -16918,7 +16918,7 @@ __metadata: typesense: "npm:^2.0.3" winston: "npm:^3.14.2" yargs: "npm:^17.7.2" - checksum: 10/721b063ea759d4e8fa9dd2e7be9e71bf4ef5b8ca2dba30218bb96f5736d808bdc6202465977127c35dab12dafea9f0546086f260932624f81178e2799298964d + checksum: 10/07486ce15a7fcac4a790d7e8a0c24b0f571fc3fcac0fb9a4a081e29d88f7d770c962058ce1b9b40219f263d58ba5cd72c9ed2376320d0458524c4edf371f2db5 languageName: node linkType: hard From 15c64ec88171cb4c88b6774d542fd5b0e228dc2d Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Tue, 3 Feb 2026 14:11:02 -0800 Subject: [PATCH 18/31] Bump hugo integration --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 9f1268d99a3..1a7c3d7e293 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index c433017db26..5830dce2f88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,15 +6566,15 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz": - version: 2.5.2 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz": + version: 2.6.0-rc.1 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" - cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz" + cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.1.1.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" @@ -6593,13 +6593,13 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/a32361fe3d0ad8ff5d80482084d16b0921a45835e56d2d7dcebe1932bc18334ab95a6def7bfa1d0863968334b71a3b026ccde7d9bb340e3b695d54e47f82159f + checksum: 10/16b05776edb918cf569b05e1fd83e7c964bce3a5ff864de699eee83bd6b5f0c6ad44feefa2941f5089fb5e96771a0c42f255d0a35ef1291eb4fe6da40234bc84 languageName: node linkType: hard -"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz": - version: 1.1.8 - resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/markdoc-semantic-versioning-updates/cdocs-markdoc-v1.1.8.tgz" +"cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.1.1.tgz": + version: 1.1.1 + resolution: "cdocs-markdoc@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.1.1.tgz" dependencies: "@types/linkify-it": "npm:^3.0.1" "@types/markdown-it": "npm:12.2.3" @@ -6608,7 +6608,7 @@ __metadata: optional: true "@types/markdown-it": optional: true - checksum: 10/e38b2ad95ca31593c7a3a19c5b6d650005e7ca3c3dc5233277282e2b3b1ca47100bfd5d1f213fb00c576a04d5956efb2b0f8072b64c0eff73d53882920532576 + checksum: 10/d0754d0020ab4a7f3eac48e2c729f10d0ccc9c374e6be0552c53225b4461c12f0106d46cda886a2585bb25b78c11374b5f88c3b8a5a725b0cd08fe1f8e1252e9 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.5.2.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 3d7decb41a2e75ce8a091fdbcc27cc8695728d94 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Tue, 3 Feb 2026 14:22:44 -0800 Subject: [PATCH 19/31] gitignore shenanigans --- content/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/.gitignore b/content/.gitignore index b7246572938..44b1a05c8f3 100644 --- a/content/.gitignore +++ b/content/.gitignore @@ -5,8 +5,8 @@ # This file lists compiled Cdocs files to keep them out of version control. For more information, see the internal Cdocs documentation: https://datadoghq.atlassian.net/wiki/spaces/docs4docs/pages/4898063037/Cdocs+Build -/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md /en/opentelemetry/instrument/dd_sdks/api_support.md +/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.md /en/real_user_monitoring/guide/proxy-mobile-rum-data.md /en/real_user_monitoring/guide/proxy-rum-data.md /en/session_replay/mobile/privacy_options.md From e43b692f4b877f67cae7ca6d200643fc9580c3f1 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 4 Feb 2026 10:08:20 -0800 Subject: [PATCH 20/31] Small test page --- content/.gitignore | 3 ++- .../browser/test_page.mdoc.md | 15 +++++++++++++++ package.json | 2 +- yarn.lock | 10 +++++----- 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md diff --git a/content/.gitignore b/content/.gitignore index 44b1a05c8f3..8976d2f034c 100644 --- a/content/.gitignore +++ b/content/.gitignore @@ -10,4 +10,5 @@ /en/real_user_monitoring/guide/proxy-mobile-rum-data.md /en/real_user_monitoring/guide/proxy-rum-data.md /en/session_replay/mobile/privacy_options.md -/en/session_replay/mobile/setup_and_configuration.md \ No newline at end of file +/en/session_replay/mobile/setup_and_configuration.md +/en/real_user_monitoring/application_monitoring/browser/test_page.md diff --git a/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md new file mode 100644 index 00000000000..6da881b25f9 --- /dev/null +++ b/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md @@ -0,0 +1,15 @@ +--- +title: Version test +content_filters: + - trait_id: rum_browser_sdk_version + option_group_id: rum_browser_sdk_version_for_advanced_config_options +--- + + +{% if semverIsAtLeast($rum_browser_sdk_version, "2.17.0") %} +Content shown if version is met +{% /if %} + + + +More content \ No newline at end of file diff --git a/package.json b/package.json index 1a7c3d7e293..63795d8b4f0 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 5830dce2f88..141c15938d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz": - version: 2.6.0-rc.1 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz": + version: 2.6.0-rc.2 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/16b05776edb918cf569b05e1fd83e7c964bce3a5ff864de699eee83bd6b5f0c6ad44feefa2941f5089fb5e96771a0c42f255d0a35ef1291eb4fe6da40234bc84 + checksum: 10/8d6248abe4526fbe53043879ce36028b06662527c0284cc107b1e7b176e13896dfd279a66c3b1ba48dc01489e10ea72b92de71d687725e01d66d5a7d18ed4c99 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.1.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 8b6f9d59c6775c11afa1fa7bc333c75165f80a38 Mon Sep 17 00:00:00 2001 From: Jen Gilbert Date: Thu, 5 Feb 2026 13:13:58 -0600 Subject: [PATCH 21/31] Bump cdocs --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 63795d8b4f0..17997d80f71 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 141c15938d8..036f9936eec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6548,9 +6548,9 @@ __metadata: languageName: node linkType: hard -"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz": - version: 1.3.0 - resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" +"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz": + version: 1.3.1 + resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz" dependencies: "@types/semver": "npm:^7.7.0" js-yaml: "npm:^4.1.0" @@ -6562,18 +6562,18 @@ __metadata: typedoc-plugin-zod: "npm:^1.3.1" uuid: "npm:^11.0.5" zod: "npm:^4.1.12" - checksum: 10/5582490d1b31ffcfcc496c1753603bf5f7d07ccc6a1177b3136855b403a4f3c2cd4d8ac82e56a41541741a43705dbb8f3a586a95857a47312b3316addce0a072 + checksum: 10/3335806c50ee625ce2337a2905cf5c5872ad93ff682bd638f0503197352ad773c10d5cff8da48226878eac4a8a72807f31f53ab73dfe04b64503957c0e0dbeff languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz": - version: 2.6.0-rc.2 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz": + version: 2.6.0-rc.3 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" - cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.0.tgz" + cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz" cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.1.1.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/8d6248abe4526fbe53043879ce36028b06662527c0284cc107b1e7b176e13896dfd279a66c3b1ba48dc01489e10ea72b92de71d687725e01d66d5a7d18ed4c99 + checksum: 10/846fb0520f67091d462ab2a81a5fc3aab86e8922f9087bdb12b370483c98a4a1169576206e67e476f6747326177ece1e6929a0c4e3035a205cad1c77d197a34e languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.2.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From e2df8eb0e54f125a353245d8e54f5614af34db61 Mon Sep 17 00:00:00 2001 From: Jen Gilbert Date: Thu, 5 Feb 2026 13:56:21 -0600 Subject: [PATCH 22/31] Tweak bundling settings --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 17997d80f71..33740e40591 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 036f9936eec..43589de020a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz": - version: 2.6.0-rc.3 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz": + version: 2.6.0-rc.4 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/846fb0520f67091d462ab2a81a5fc3aab86e8922f9087bdb12b370483c98a4a1169576206e67e476f6747326177ece1e6929a0c4e3035a205cad1c77d197a34e + checksum: 10/b3238336ec555145b47d1f49fe368e18f167ddbcda115ddb3302ed8fe3ddcadf77480c00b422e400cc7cf7cfccc99347fb29def9fc428f9c11b71b92dd4caa8d languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.3.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 5e4f0abadebc50c75310730b7560840ff0c8ee2e Mon Sep 17 00:00:00 2001 From: Jen Gilbert Date: Thu, 5 Feb 2026 14:32:12 -0600 Subject: [PATCH 23/31] Bump version --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 33740e40591..e02bcb47953 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 43589de020a..e36b004ba8b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz": - version: 2.6.0-rc.4 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz": + version: 2.6.0-rc.5 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/b3238336ec555145b47d1f49fe368e18f167ddbcda115ddb3302ed8fe3ddcadf77480c00b422e400cc7cf7cfccc99347fb29def9fc428f9c11b71b92dd4caa8d + checksum: 10/60cf94e77c56263f8a5ed36ed1a74e811af3cf0c939d720a25f2c348fea95b88aebf8eca79919c41a7598424b3b5c08b4281c31c819b890bd122ddc225c932e3 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.4.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From b1ad489121a74f4b2385e4c45439ae43f92d3027 Mon Sep 17 00:00:00 2001 From: Jen Gilbert Date: Thu, 5 Feb 2026 15:30:38 -0600 Subject: [PATCH 24/31] Bump version --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e02bcb47953..03cbfcf1b69 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index e36b004ba8b..82bff2596e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz": - version: 2.6.0-rc.5 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz": + version: 2.6.0-rc.6 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/60cf94e77c56263f8a5ed36ed1a74e811af3cf0c939d720a25f2c348fea95b88aebf8eca79919c41a7598424b3b5c08b4281c31c819b890bd122ddc225c932e3 + checksum: 10/4f46069d8a24abf06327d43e83b49c962ac098e9f2462e65299810512fd0b39b07bae6e47d9caaf49ae021d0d505c20b9ada5e55c9d680d49791f43d2489f80c languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.5.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From a07474e298994942f7060d5df0e25ec157bac38b Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 11 Feb 2026 12:26:00 -0800 Subject: [PATCH 25/31] Bump for test --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 03cbfcf1b69..7df7f84b9bd 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", diff --git a/yarn.lock b/yarn.lock index 82bff2596e5..e84b084a4a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6548,9 +6548,9 @@ __metadata: languageName: node linkType: hard -"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz": - version: 1.3.1 - resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz" +"cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.2.tgz": + version: 1.3.2 + resolution: "cdocs-data@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.2.tgz" dependencies: "@types/semver": "npm:^7.7.0" js-yaml: "npm:^4.1.0" @@ -6562,18 +6562,18 @@ __metadata: typedoc-plugin-zod: "npm:^1.3.1" uuid: "npm:^11.0.5" zod: "npm:^4.1.12" - checksum: 10/3335806c50ee625ce2337a2905cf5c5872ad93ff682bd638f0503197352ad773c10d5cff8da48226878eac4a8a72807f31f53ab73dfe04b64503957c0e0dbeff + checksum: 10/83ba74da164764200040aeca9871864ab3aaecb543355b8b20f240412486b2e996d43960d26b4129419eac6838f2eb0aa0946174325324f481361070edab7e28 languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz": - version: 2.6.0-rc.6 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz": + version: 2.6.0-rc.7 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" - cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.1.tgz" + cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v1.3.2.tgz" cdocs-markdoc: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-markdoc-v1.1.1.tgz" chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/4f46069d8a24abf06327d43e83b49c962ac098e9f2462e65299810512fd0b39b07bae6e47d9caaf49ae021d0d505c20b9ada5e55c9d680d49791f43d2489f80c + checksum: 10/ddce47446ad731204daab69dbbb3b6fd0af0f334dc9be50eeb56cd55b62ed08c9edd566a35c13fd692c46887c3713048a3f8777bb1152860f376e53b9288fb73 languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.6.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" From 7026431297480d76dfd1bf1306ba5ae1d4baa435 Mon Sep 17 00:00:00 2001 From: Heston Hoffman Date: Tue, 17 Feb 2026 09:21:44 -0800 Subject: [PATCH 26/31] Apply suggestion from @hestonhoffman --- .vscode/markdoc.code-snippets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/markdoc.code-snippets b/.vscode/markdoc.code-snippets index c6c6cd7763e..2971f277385 100644 --- a/.vscode/markdoc.code-snippets +++ b/.vscode/markdoc.code-snippets @@ -64,7 +64,7 @@ "prefix": ";;version", "body": [ "", - "{% if versionMeets($${2:trait_id}, \"${1:version}\") %}", + "{% if semverIsAtLeast($${2:trait_id}, \"${1:version}\") %}", "${3:Content shown if version is met}", "{% /if %}", "" From 184f013ecb316a0e96a463fc6096d5156381ba3d Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Tue, 17 Feb 2026 09:24:17 -0800 Subject: [PATCH 27/31] Undo test changes --- .../browser/test_page.mdoc.md | 15 ----- package.json | 4 +- yarn.lock | 55 ++++++++++++------- 3 files changed, 36 insertions(+), 38 deletions(-) delete mode 100644 content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md diff --git a/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md deleted file mode 100644 index 6da881b25f9..00000000000 --- a/content/en/real_user_monitoring/application_monitoring/browser/test_page.mdoc.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Version test -content_filters: - - trait_id: rum_browser_sdk_version - option_group_id: rum_browser_sdk_version_for_advanced_config_options ---- - - -{% if semverIsAtLeast($rum_browser_sdk_version, "2.17.0") %} -Content shown if version is met -{% /if %} - - - -More content \ No newline at end of file diff --git a/package.json b/package.json index 7df7f84b9bd..462517624ce 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.7.0.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", @@ -77,7 +77,7 @@ "traverse": "0.6.8", "typesense": "^1.8.2", "typesense-instantsearch-adapter": "^2.8.0", - "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz", + "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz", "yaml-lint": "^1.7.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index e84b084a4a6..d9c5fdff3e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5972,14 +5972,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.7.2": - version: 1.8.4 - resolution: "axios@npm:1.8.4" +"axios@npm:^1.8.4": + version: 1.13.4 + resolution: "axios@npm:1.13.4" dependencies: follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" + form-data: "npm:^4.0.4" proxy-from-env: "npm:^1.1.0" - checksum: 10/a10f0dd836613924e48cf03dc2eff3fd21b14f764807aedaee4880a70c0f142aaebdb21da7ce27104d4c16ca00d0e452a20a20851f60e385a8d5bad1ae909d46 + checksum: 10/54b7ef71c64837f9d52475832337f520cf6fa85c94612e03a3a2aad7082804a2544741267122696662147e90e6d2746601346984cf531ae715ecdb56d586a04c languageName: node linkType: hard @@ -6566,9 +6566,9 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz": - version: 2.6.0-rc.7 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.7.0.tgz": + version: 2.7.0 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.7.0.tgz" dependencies: "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" @@ -6593,7 +6593,7 @@ __metadata: vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/ddce47446ad731204daab69dbbb3b6fd0af0f334dc9be50eeb56cd55b62ed08c9edd566a35c13fd692c46887c3713048a3f8777bb1152860f376e53b9288fb73 + checksum: 10/0a3fc59522ce9e401aef5b486da7215cd5e1ec32f4a9a252a93770360e4e46de5d998c29344c4f89d38d1d62335750713631e4dc66ba3ae1050193daf2c2657f languageName: node linkType: hard @@ -7640,7 +7640,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/heston/custom-functions/cdocs-hugo-integration-v2.6.0-rc.7.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v2.7.0.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" @@ -7690,7 +7690,7 @@ __metadata: traverse: "npm:0.6.8" typesense: "npm:^1.8.2" typesense-instantsearch-adapter: "npm:^2.8.0" - typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz" + typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz" yaml-lint: "npm:^1.7.0" languageName: unknown linkType: soft @@ -9222,6 +9222,19 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.4": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10/52ecd6e927c8c4e215e68a7ad5e0f7c1031397439672fd9741654b4a94722c4182e74cc815b225dcb5be3f4180f36428f67c6dd39eaa98af0dcfdd26c00c19cd + languageName: node + linkType: hard + "form-data@npm:~2.3.2": version: 2.3.3 resolution: "form-data@npm:2.3.3" @@ -16908,17 +16921,17 @@ __metadata: languageName: node linkType: hard -"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz": - version: 1.4.0 - resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v1.4.0.tgz" +"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz": + version: 2.0.0 + resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz" dependencies: "@babel/runtime": "npm:^7.25.0" dotenv: "npm:^16.4.5" lodash: "npm:^4.17.21" - typesense: "npm:^2.0.3" + typesense: "npm:^3.0.1" winston: "npm:^3.14.2" yargs: "npm:^17.7.2" - checksum: 10/07486ce15a7fcac4a790d7e8a0c24b0f571fc3fcac0fb9a4a081e29d88f7d770c962058ce1b9b40219f263d58ba5cd72c9ed2376320d0458524c4edf371f2db5 + checksum: 10/3f1f9f551e9078d97000714f39a006c3ffb47dd92d544f80e50231979bce775e89ccf48ecff80b533c4428217a1109a23550a9a8250feb54bb06b37b2e0214fe languageName: node linkType: hard @@ -16934,16 +16947,16 @@ __metadata: languageName: node linkType: hard -"typesense@npm:^2.0.3": - version: 2.0.3 - resolution: "typesense@npm:2.0.3" +"typesense@npm:^3.0.1": + version: 3.0.1 + resolution: "typesense@npm:3.0.1" dependencies: - axios: "npm:^1.7.2" + axios: "npm:^1.8.4" loglevel: "npm:^1.8.1" tslib: "npm:^2.6.2" peerDependencies: "@babel/runtime": ^7.23.2 - checksum: 10/61c8aeae5aea05140f57ca59abcdc2354732b4368796383722f23d0645348cb0c81aab6daae8e7e440a2096bd92e8981876857f136b3d6db875ddec157599121 + checksum: 10/4d1327ac7fd04d8e59a729ee192651b3c392de6fae2ee86f8498416465e9c11ee913f3f862eb99c5b63746e76eb13f55070089eed3df2f4fc5d3425ce3a97993 languageName: node linkType: hard From 8f7441781531d96d5a01c02ea25a117c2d8e6139 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Tue, 17 Feb 2026 09:28:16 -0800 Subject: [PATCH 28/31] Remove test page from gitignore --- content/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/content/.gitignore b/content/.gitignore index 5d345a6b5d5..6eaf8607e67 100644 --- a/content/.gitignore +++ b/content/.gitignore @@ -12,7 +12,6 @@ /en/real_user_monitoring/guide/proxy-rum-data.md /en/session_replay/mobile/privacy_options.md /en/session_replay/mobile/setup_and_configuration.md -/en/real_user_monitoring/application_monitoring/browser/test_page.md /en/tracing/trace_collection/custom_instrumentation/server-side/_index.md /en/error_tracking/error_grouping.md /en/logs/error_tracking/error_grouping.md From ffacf008a44a60b81c875da19bcab8e65e6a3bee Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 18 Feb 2026 10:30:29 -0800 Subject: [PATCH 29/31] Fix logical errors --- .../browser/advanced_configuration.mdoc.md | 10 +- data/agent_config_reference.json | 5709 +++++++++++++++++ 2 files changed, 5715 insertions(+), 4 deletions(-) create mode 100644 data/agent_config_reference.json diff --git a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md index db67d0d6922..4b1b9ef0d33 100644 --- a/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md +++ b/content/en/real_user_monitoring/application_monitoring/browser/advanced_configuration.mdoc.md @@ -115,7 +115,10 @@ Starting with [version 4.13.0][16], you can also optionally define the associate -{% if and(equals($rum_browser_sdk_version, "lt_2_13_0"), equals($rum_browser_sdk_version, "gte_2_13_0")) %} +{% if or(equals($rum_browser_sdk_version, "lt_2_13_0"), equals($rum_browser_sdk_version, "gte_2_13_0"), equals($rum_browser_sdk_version, "gte_2_17_0")) %} + +## Manually track pageviews + The following example manually tracks the pageviews on the `checkout` page in a RUM application. No service or version can be specified. @@ -143,9 +146,8 @@ window.DD_RUM && window.DD_RUM.startView('checkout') {% /if %} - -{% if and(equals($rum_browser_sdk_version, "gte_4_13_0"), equals($rum_browser_sdk_version, "gte_4_49_0"), equals($rum_browser_sdk_version, "gte_5_22_0")) %} - + +{% if or(equals($rum_browser_sdk_version, "gte_4_13_0"), equals($rum_browser_sdk_version, "gte_4_49_0"), equals($rum_browser_sdk_version, "gte_5_22_0")) %} The following example manually tracks the pageviews on the `checkout` page in a RUM application. It uses `checkout` for the view name and associates the `purchase` service with version `1.2.3`. diff --git a/data/agent_config_reference.json b/data/agent_config_reference.json new file mode 100644 index 00000000000..ff43f763f11 --- /dev/null +++ b/data/agent_config_reference.json @@ -0,0 +1,5709 @@ +{ + "multifiltersearch": { + "headers": [ + { + "id": "parameter", + "name": "Parameter" + }, + { + "id": "env_variable", + "name": "Environment Variable" + }, + { + "id": "type", + "name": "Type", + "filter_by": true + }, + { + "id": "required", + "name": "Required", + "filter_by": true + }, + { + "id": "default", + "name": "Default" + }, + { + "id": "section", + "name": "Section", + "filter_by": true + }, + { + "id": "description", + "name": "Description" + } + ], + "data": [ + { + "parameter": "api_key", + "env_variable": "DD_API_KEY", + "type": "string", + "required": "Required", + "default": "", + "section": "Basic Configuration", + "description": "The Datadog API key used by your Agent to submit metrics and events to Datadog. Create a new API key here: https://app.datadoghq.com/organization-settings/api-keys . Read more about API keys here: https://docs.datadoghq.com/account_management/api-app-keys/#api-keys ." + }, + { + "parameter": "app_key", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "The application key used to access Datadog's programatic API. Create a new application key here: https://app.datadoghq.com/organization-settings/application-keys . Read more about application keys here: https://docs.datadoghq.com/account_management/api-app-keys/#application-keys ." + }, + { + "parameter": "site", + "env_variable": "DD_SITE", + "type": "string", + "required": "Optional", + "default": "datadoghq.com", + "section": "Basic Configuration", + "description": "The site of the Datadog intake to send Agent data to. The site parameter must be set to enable your agent with Remote Configuration. Set to 'datadoghq.eu' to send data to the EU site. Set to 'us3.datadoghq.com' to send data to the US3 site. Set to 'us5.datadoghq.com' to send data to the US5 site. Set to 'ap1.datadoghq.com' to send data to the AP1 site. Set to 'ddog-gov.com' to send data to the US1-FED site." + }, + { + "parameter": "dd_url", + "env_variable": "DD_DD_URL, DD_URL", + "type": "string", + "required": "Optional", + "default": "https://app.datadoghq.com", + "section": "Basic Configuration", + "description": "The host of the Datadog intake server to send metrics to, only set this option if you need the Agent to send metrics to a custom URL, it overrides the site setting defined in \"site\". It does not affect APM, Logs, Remote Configuration, or Live Process intake which have their own \"*_dd_url\" settings. If DD_DD_URL and DD_URL are both set, DD_DD_URL is used in priority." + }, + { + "parameter": "proxy", + "env_variable": "DD_PROXY_HTTP, DD_PROXY_HTTPS, DD_PROXY_NO_PROXY", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "If you need a proxy to connect to the Internet, provide it here (default: disabled). Refer to https://docs.datadoghq.com/agent/proxy/ to understand how to use these settings. For Logs proxy information, refer to https://docs.datadoghq.com/agent/proxy/#proxy-for-logs" + }, + { + "parameter": "skip_ssl_validation", + "env_variable": "DD_SKIP_SSL_VALIDATION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Setting this option to \"true\" tells the Agent to skip validation of SSL/TLS certificates." + }, + { + "parameter": "sslkeylogfile", + "env_variable": "DD_SSLKEYLOGFILE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Basic Configuration", + "description": "sslkeylogfile specifies a destination for TLS master secrets in NSS key log format to allow external programs such as Wireshark to decrypt TLS connections. For more details, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format. Use of sslkeylogfile compromises security and should only be used for debugging." + }, + { + "parameter": "min_tls_version", + "env_variable": "DD_MIN_TLS_VERSION", + "type": "string", + "required": "Optional", + "default": "\"tlsv1.2\"", + "section": "Basic Configuration", + "description": "This option defines the minimum TLS version that will be used when submitting data to the Datadog intake specified in \"site\" or \"dd_url\". This parameter defaults to \"tlsv1.2\". Possible values are: tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3; values are case- insensitive." + }, + { + "parameter": "hostname", + "env_variable": "DD_HOSTNAME", + "type": "string", + "required": "Optional", + "default": "auto-detected", + "section": "Basic Configuration", + "description": "Force the hostname name." + }, + { + "parameter": "hostname_file", + "env_variable": "DD_HOSTNAME_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "In some environments, auto-detection of the hostname is not adequate and environment variables cannot be used to set the value. In such cases, the file on the host can also be used provide an appropriate value. If 'hostname' value has been set to a non-empty value, this option is ignored." + }, + { + "parameter": "hostname_fqdn", + "env_variable": "DD_HOSTNAME_FQDN", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "When the Agent relies on the OS to determine the hostname, make it use the FQDN instead of the short hostname. Recommended value: true More information at https://dtdg.co/flag-hostname-fqdn" + }, + { + "parameter": "hostname_trust_uts_namespace", + "env_variable": "DD_HOSTNAME_TRUST_UTS_NAMESPACE", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "By default the Agent does not trust the hostname value retrieved from non-root UTS namespace, as it's usually a generated name, unrelated to the host (e.g. when running in a container). When enabled, the Agent will trust the value retrieved from non-root UTS namespace instead of failing hostname resolution. (Linux only)" + }, + { + "parameter": "host_aliases", + "env_variable": "DD_HOST_ALIASES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "List of host aliases to report in addition to any aliases collected automatically from cloud providers. More information at https://docs.datadoghq.com/agent/faq/how-datadog-agent-determines-the-hostname/?tab=agentv6v7#host-aliases" + }, + { + "parameter": "tags", + "env_variable": "DD_TAGS", + "type": "list of key:value elements", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent. This configuration value merges with `DD_EXTRA_TAGS`, allowing some tags to be set in a configuration file (`tags`), and additional tags to be added with an environment variable (`DD_EXTRA_TAGS`). Learn more about tagging: https://docs.datadoghq.com/tagging/" + }, + { + "parameter": "extra_tags", + "env_variable": "DD_EXTRA_TAGS", + "type": "list of key:value elements", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent. This configuration value merges with `tags`, allowing some tags to be set in a configuration file (`tags`), and additional tags to be added with an environment variable (`DD_EXTRA_TAGS`). Learn more about tagging: https://docs.datadoghq.com/tagging/" + }, + { + "parameter": "env", + "env_variable": "DD_ENV", + "type": "string", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "The environment name where the agent is running. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent." + }, + { + "parameter": "remote_updates", + "env_variable": "DD_REMOTE_UPDATES", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enable remote upgrades and configuration changes for the Agent." + }, + { + "parameter": "tag_value_split_separator", + "env_variable": "DD_TAG_VALUE_SPLIT_SEPARATOR", + "type": "map", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Split tag values according to a given separator. Only applies to host tags, and tags coming from container integrations. It does not apply to tags on dogstatsd metrics, and tags collected by other integrations. Example use-case: With a raw collected tag \"foo:1;2;3\", using the following configuration: tag_value_split_separator: foo: ; results in the raw tag being transformed into \"foo:1\", \"foo:2\", \"foo:3\" tags" + }, + { + "parameter": "checks_tag_cardinality", + "env_variable": "DD_CHECKS_TAG_CARDINALITY", + "type": "string", + "required": "Optional", + "default": "low", + "section": "Basic Configuration", + "description": "Configure the level of granularity of tags to send for checks metrics and events. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for checks metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." + }, + { + "parameter": "dogstatsd_tag_cardinality", + "env_variable": "DD_DOGSTATSD_TAG_CARDINALITY", + "type": "string", + "required": "Optional", + "default": "low", + "section": "Basic Configuration", + "description": "Configure the level of granularity of tags to send for DogStatsD metrics and events. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for dogstatsd metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." + }, + { + "parameter": "histogram_aggregates", + "env_variable": "DD_HISTOGRAM_AGGREGATES", + "type": "list of strings", + "required": "Optional", + "default": "[\"max\", \"median\", \"avg\", \"count\"]", + "section": "Basic Configuration", + "description": "Configure which aggregated value to compute. Possible values are: min, max, median, avg, sum and count." + }, + { + "parameter": "histogram_percentiles", + "env_variable": "DD_HISTOGRAM_PERCENTILES", + "type": "list of strings", + "required": "Optional", + "default": "[\"0.95\"]", + "section": "Basic Configuration", + "description": "Configure which percentiles are computed by the Agent. It must be a list of float between 0 and 1. Warning: percentiles must be specified as yaml strings" + }, + { + "parameter": "histogram_copy_to_distribution", + "env_variable": "DD_HISTOGRAM_COPY_TO_DISTRIBUTION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Copy histogram values to distributions for true global distributions (in beta) Note: This increases the number of custom metrics created." + }, + { + "parameter": "histogram_copy_to_distribution_prefix", + "env_variable": "DD_HISTOGRAM_COPY_TO_DISTRIBUTION_PREFIX", + "type": "string", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "A prefix to add to distribution metrics created when histogram_copy_to_distributions is true" + }, + { + "parameter": "aggregator_stop_timeout", + "env_variable": "DD_AGGREGATOR_STOP_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "2", + "section": "Basic Configuration", + "description": "When stopping the agent, the Aggregator will try to flush out data ready for aggregation (metrics, events, ...). Data are flushed to the Forwarder in order to be sent to Datadog, therefore the Agent might take at most 'aggregator_stop_timeout'+'forwarder_stop_timeout' seconds to exit. You can set the maximum amount of time, in seconds, allocated to the Aggregator to do so. You can disable this feature by setting 'aggregator_stop_timeout' to 0." + }, + { + "parameter": "aggregator_buffer_size", + "env_variable": "DD_AGGREGATOR_BUFFER_SIZE", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Basic Configuration", + "description": "The default buffer size for the aggregator use a sane value for most of the use cases, however, it could be useful to manually set it in order to trade RSS usage with better performances." + }, + { + "parameter": "forwarder_timeout", + "env_variable": "DD_FORWARDER_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "20", + "section": "Basic Configuration", + "description": "Forwarder timeout in seconds" + }, + { + "parameter": "forwarder_retry_queue_payloads_max_size", + "env_variable": "DD_FORWARDER_RETRY_QUEUE_PAYLOADS_MAX_SIZE", + "type": "integer", + "required": "Optional", + "default": "15728640 (15MB)", + "section": "Basic Configuration", + "description": "It defines the maximum size in bytes of all the payloads in the forwarder's retry queue. The actual memory used is greater than the payloads size as there are extra fields like HTTP headers, but no more than 2.5 times the payload size." + }, + { + "parameter": "forwarder_num_workers", + "env_variable": "DD_FORWARDER_NUM_WORKERS", + "type": "integer", + "required": "Optional", + "default": "1", + "section": "Basic Configuration", + "description": "The number of workers used by the forwarder." + }, + { + "parameter": "forwarder_stop_timeout", + "env_variable": "DD_FORWARDER_STOP_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "2", + "section": "Basic Configuration", + "description": "When stopping the agent, the Forwarder will try to flush all new transactions (not the ones in retry state). New transactions will be created as the Aggregator flush it's internal data too, therefore the Agent might take at most 'aggregator_stop_timeout'+'forwarder_stop_timeout' seconds to exit. You can set the maximum amount of time, in seconds, allocated to the Forwarder to send those transactions. You can disable this feature by setting 'forwarder_stop_timeout' to 0." + }, + { + "parameter": "http_protocol", + "env_variable": "DD_FORWARDER_HTTP_PROTOCOL", + "type": "string", + "required": "Optional", + "default": "auto", + "section": "Basic Configuration", + "description": "The transport type to use for sending logs. Possible values are \"auto\" or \"http1\"." + }, + { + "parameter": "forwarder_max_concurrent_requests", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Basic Configuration", + "description": "@ENV DD_FORWARDER_MAX_CONCURRENT_REQUESTS - integer - optional - default: 10 The maximum number of concurrent requests that each worker can have queued up at any one time. If the connection is over HTTP/1 each request will be waiting for the previous request to complete before sending the next one. With HTTP/2 each request can be sent before waiting for the response." + }, + { + "parameter": "forwarder_storage_max_size_in_bytes", + "env_variable": "DD_FORWARDER_STORAGE_MAX_SIZE_IN_BYTES", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "Basic Configuration", + "description": "When the retry queue of the forwarder is full, `forwarder_storage_max_size_in_bytes` defines the amount of disk space the Agent can use to store transactions on the disk. When `forwarder_storage_max_size_in_bytes` is `0`, the transactions are never stored on the disk." + }, + { + "parameter": "forwarder_storage_max_disk_ratio", + "env_variable": "DD_FORWARDER_STORAGE_MAX_DISK_RATIO", + "type": "float", + "required": "Optional", + "default": "0.8", + "section": "Basic Configuration", + "description": "`forwarder_storage_max_disk_ratio` defines the disk capacity limit for storing transactions. `0.8` means the Agent can store transactions on disk until `forwarder_storage_max_size_in_bytes` is reached or when the disk mount for `forwarder_storage_path` exceeds 80% of the disk capacity, whichever is lower." + }, + { + "parameter": "forwarder_outdated_file_in_days", + "env_variable": "DD_FORWARDER_OUTDATED_FILE_IN_DAYS", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Basic Configuration", + "description": "This value specifies how many days the overflow transactions will remain valid before being discarded. During the Agent restart, if a retry file contains transactions that were created more than `forwarder_outdated_file_in_days` days ago, they are removed." + }, + { + "parameter": "forwarder_high_prio_buffer_size", + "env_variable": "", + "type": "int", + "required": "Optional", + "default": "100", + "section": "Basic Configuration", + "description": "Defines the size of the high prio buffer. Increasing the buffer size can help if payload drops occur due to high prio buffer being full." + }, + { + "parameter": "forwarder_low_prio_buffer_size", + "env_variable": "", + "type": "int", + "required": "Optional", + "default": "100", + "section": "Basic Configuration", + "description": "Defines the size of the low prio buffer." + }, + { + "parameter": "forwarder_requeue_buffer_size", + "env_variable": "", + "type": "int", + "required": "Optional", + "default": "100", + "section": "Basic Configuration", + "description": "Defines the size of the requeue prio buffer." + }, + { + "parameter": "forwarder_backoff_base", + "env_variable": "DD_FORWARDER_BACKOFF_BASE", + "type": "int", + "required": "Optional", + "default": "2", + "section": "Basic Configuration", + "description": "Defines the rate of exponential growth, and the first retry interval range. Do not set a lower value than the default. You may increase it if you use a proxy that benefits from a higher rate of exponential growth." + }, + { + "parameter": "forwarder_backoff_max", + "env_variable": "DD_FORWARDER_BACKOFF_MAX", + "type": "int", + "required": "Optional", + "default": "64", + "section": "Basic Configuration", + "description": "Defines the maximum number of seconds to wait for a retry. Do not set a lower value than the default. You may increase it if you use a proxy that benefits from a higher maximum backoff time." + }, + { + "parameter": "cloud_provider_metadata", + "env_variable": "DD_CLOUD_PROVIDER_METADATA", + "type": "list of strings", + "required": "Optional", + "default": "[\"aws\", \"gcp\", \"azure\", \"alibaba\", \"oracle\", \"ibm\"]", + "section": "Basic Configuration", + "description": "This option restricts which cloud provider endpoint will be used by the agent to retrieve metadata. By default the agent will try # AWS, GCP, Azure and alibaba providers. Some cloud provider are not enabled by default to not trigger security alert when querying unknown IP (for example, when enabling Tencent on AWS). Setting an empty list will disable querying any cloud metadata endpoints (falling back on system metadata). Disabling metadata for the cloud provider in which an Agent runs may result in duplicated hosts in your Datadog account and missing Autodiscovery features Possible values are: \"aws\" AWS EC2, ECS/Fargate \"gcp\" Google Cloud Provider \"azure\" Azure \"alibaba\" Alibaba \"tencent\" Tencent \"oracle\" Oracle Cloud \"ibm\" IBM Cloud" + }, + { + "parameter": "collect_ec2_tags", + "env_variable": "DD_COLLECT_EC2_TAGS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Collect AWS EC2 custom tags as host tags. Requires one of: - `collect_ec2_tags_use_imds: true` and configuration of the EC2 instance to allow tags in instance metadata; or - configuration of the EC2 instance to have an IAM role with the `EC2:DescribeTags` permission. See docs for further details: https://docs.datadoghq.com/integrations/faq/how-do-i-pull-my-ec2-tags-without-using-the-aws-integration/" + }, + { + "parameter": "collect_ec2_instance_info", + "env_variable": "DD_COLLECT_EC2_INSTANCE_INFO", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Extend host tags with AWS EC2 instance information. The added tags are: - region - instance-type - aws_account - image - availability-zone This should only be enabled when the Datadog AWS integration cannot be enabled (see https://docs.datadoghq.com/integrations/amazon_web_services/ for more information on the AWS integration). Using the AWS integration is recommended as it offers more features and a better integration with the AWS environment." + }, + { + "parameter": "exclude_ec2_tags", + "env_variable": "DD_EXCLUDE_EC2_TAGS", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Basic Configuration", + "description": "EC2 tags to exclude from being converted into host tags. This does not impact tags collected by the AWS Integration (see https://docs.datadoghq.com/integrations/amazon_web_services/ for more information on the AWS integration). This requires 'collect_ec2_tags' setting to be set to true." + }, + { + "parameter": "collect_ec2_tags_use_imds", + "env_variable": "DD_COLLECT_EC2_TAGS_USE_IMDS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Use instance metadata service (IMDS) instead of EC2 API to collect AWS EC2 custom tags. This requires 'collect_ec2_tags' setting to be set to true." + }, + { + "parameter": "ec2_metadata_timeout", + "env_variable": "DD_EC2_METADATA_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "300", + "section": "Basic Configuration", + "description": "Timeout in milliseconds on calls to the AWS EC2 metadata endpoints." + }, + { + "parameter": "ec2_prefer_imdsv2", + "env_variable": "DD_EC2_PREFER_IMDSV2", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "If this flag is true then the agent will request EC2 metadata using IMDS v2, which offers additional security for accessing metadata. However, in some situations (such as a containerized agent on a plain EC2 instance) it may require additional configuration on the AWS side. See the AWS guidelines for further details: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html#instance-metadata-transition-to-version-2" + }, + { + "parameter": "ec2_prioritize_instance_id_as_hostname", + "env_variable": "DD_EC2_PRIORITIZE_INSTANCE_ID_AS_HOSTNAME", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "On EC2, prefer the instance ID as the Agent hostname even when the OS hostname does not match the known generic EC2 prefixes. By default, the Agent uses the instance ID if the OS hostname has a generic EC2 prefix to avoid merging multiple instances under one host. This is useful when using custom images that share the same system hostname." + }, + { + "parameter": "collect_gce_tags", + "env_variable": "DD_COLLECT_GCE_TAGS", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Basic Configuration", + "description": "Collect Google Cloud Engine metadata as host tags" + }, + { + "parameter": "exclude_gce_tags", + "env_variable": "DD_EXCLUDE_GCE_TAGS", + "type": "list of strings", + "required": "Optional", + "default": "[\"bosh_settings\" ,\"cli-cert\" ,\"common-psm1\" ,\"configure-sh\" ,\"containerd-configure-sh\" ,\"disable-address-manager\" ,\"disable-legacy-endpoints\" ,\"enable-oslogin\" ,\"gce-container-declaration\" ,\"google-container-manifest\" ,\"ipsec-cert\" ,\"k8s-node-setup-psm1\" ,\"kube-env\" ,\"kubeconfig\" ,\"kubelet-config\" ,\"serial-port-logging-enable\" ,\"shutdown-script\" ,\"ssh-keys\" ,\"sshKeys\" ,\"ssl-cert\" ,\"startup-script\" ,\"user-data\" ,\"windows-keys\" ,\"windows-startup-script-ps1\"]", + "section": "Basic Configuration", + "description": "Google Cloud Engine metadata attribute to exclude from being converted into host tags -- only applicable when collect_gce_tags is true." + }, + { + "parameter": "gce_send_project_id_tag", + "env_variable": "DD_GCE_SEND_PROJECT_ID_TAG", + "type": "bool", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Send the project ID host tag with the `project_id:` tag key in addition to the `project:` tag key." + }, + { + "parameter": "gce_metadata_timeout", + "env_variable": "DD_GCE_METADATA_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Basic Configuration", + "description": "Timeout in milliseconds on calls to the GCE metadata endpoints." + }, + { + "parameter": "collect_gpu_tags", + "env_variable": "DD_COLLECT_GPU_TAGS", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Basic Configuration", + "description": "Collect GPU related host tags" + }, + { + "parameter": "azure_metadata_timeout", + "env_variable": "DD_AZURE_METADATA_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "300", + "section": "Basic Configuration", + "description": "Timeout in milliseconds on calls to the Azure metadata endpoints." + }, + { + "parameter": "azure_hostname_style", + "env_variable": "DD_AZURE_HOSTNAME_STYLE", + "type": "string", + "required": "Optional", + "default": "\"os\"", + "section": "Basic Configuration", + "description": "Changes how agent hostname is set on Azure virtual machines. Possible values: \"os\" - use the hostname reported by the operating system (default) \"name\" - use the instance name \"name_and_resource_group\" - use a combination of the instance name and resource group name \"full\" - use a combination of the instance name, resource group name and subscription id \"vmid\" - use the instance id" + }, + { + "parameter": "azure_metadata_api_version", + "env_variable": "DD_AZURE_METADATA_API_VERSION", + "type": "string", + "required": "Optional", + "default": "\"2021-02-01\"", + "section": "Basic Configuration", + "description": "The API version to use when querying the Azure Instance Metadata Service (IMDS). Change this if you need to use a different API version for compatibility reasons." + }, + { + "parameter": "scrubber", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Configuration for scrubbing sensitive information from the Agent's logs, configuration and flares." + }, + { + "parameter": "scrubber.additional_keys", + "env_variable": "DD_SCRUBBER_ADDITIONAL_KEYS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "By default, the Agent removes known sensitive keys from Agent and integrations YAML configs before including them in the flare. Use this parameter to define additional sensitive keys that the Agent should scrub from the YAML files included in the flare." + }, + { + "parameter": "no_proxy_nonexact_match", + "env_variable": "DD_NO_PROXY_NONEXACT_MATCH", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enable more flexible no_proxy matching. See https://godoc.org/golang.org/x/net/http/httpproxy#Config for more information on accepted matching criteria." + }, + { + "parameter": "use_proxy_for_cloud_metadata", + "env_variable": "DD_USE_PROXY_FOR_CLOUD_METADATA", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "By default cloud provider IP's are added to the transport's `no_proxy` list. Use this parameter to remove them from the `no_proxy` list." + }, + { + "parameter": "inventories_configuration_enabled", + "env_variable": "DD_INVENTORIES_CONFIGURATION_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Basic Configuration", + "description": "By default the Agent sends its own configuration to Datadog to be displayed in the `Agent Configuration` section of the host detail panel. See https://docs.datadoghq.com/infrastructure/list/#agent-configuration for more information. The Agent configuration is scrubbed of any sensitive information." + }, + { + "parameter": "metadata_ip_resolution_from_hostname", + "env_variable": "DD_METADATA_IP_RESOLUTION_FROM_HOSTNAME", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "By default, the Agent uses the first interface in the list of network interfaces to determine the IP address of the host. If you set this option to true, the Agent tries to resolve the host name to determine the host's IP address. If this is unsuccessful, the Agent falls back to the default behavior. This option is useful when the first interface is not the one you want to use to determine the host's IP address, or when you define the hostname in the /etc/hosts configuration file." + }, + { + "parameter": "auto_exit", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Configuration for the automatic exit mechanism: the Agent stops when some conditions are met." + }, + { + "parameter": "noprocess", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Configure the `noprocess` automatic exit method. Detect when no other processes (non-agent) are running to trigger automatic exit. `HOST_PROC` is taken into account when gathering processes. Feature is only supported on POSIX systems." + }, + { + "parameter": "enabled", + "env_variable": "DD_AUTO_EXIT_NOPROCESS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enable the `noprocess` method" + }, + { + "parameter": "excluded_processes", + "env_variable": "DD_AUTO_EXIT_NOPROCESS_EXCLUDED_PROCESSES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "List of regular expressions to exclude extra processes (on top of built-in list)." + }, + { + "parameter": "validation_period", + "env_variable": "DD_AUTO_EXIT_VALIDATION_PERIOD", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Basic Configuration", + "description": "Time (in seconds) delay during which the auto exit validates that the selected method continuously detects an exit condition, before exiting. The value is verified every 30s. By default, three consecutive checks need to return true to trigger an automatic exit." + }, + { + "parameter": "fips", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Uncomment this parameter and the one below to enable them." + }, + { + "parameter": "enabled", + "env_variable": "DD_FIPS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "This feature is in BETA. Enable the use of the FIPS proxy to send data to the DataDog backend. Enabling this will force all outgoing traffic from the Agent to the local proxy. It's important to note that enabling this will not make the Datadog Agent FIPS compliant, but will force all outgoing traffic to a local FIPS compliant proxy. The FIPS proxy need to be installed locally in addition to the agent. When setting this to true the following settings would be overridden, ignoring the values from the configuration: - dd_url - apm_config.apm_dd_url - apm_config.profiling_dd_url - apm_config.telemetry.dd_url - process_config.process_dd_url - logs_config.use_http - logs_config.logs_no_ssl - logs_config.logs_dd_url - database_monitoring.metrics.dd_url - database_monitoring.activity.dd_url - database_monitoring.samples.dd_url - compliance_config.endpoints.dd_url - runtime_security_config.endpoints.dd_url - network_devices.metadata.dd_url The agent will also ignore 'proxy.*' settings and environment variables related to proxy (HTTP_PROXY, HTTPS_PROXY, DD_PROXY_HTTP and DD_PROXY_HTTPS)." + }, + { + "parameter": "local_address", + "env_variable": "DD_FIPS_LOCAL_ADDRESS", + "type": "string", + "required": "Optional", + "default": "localhost", + "section": "Basic Configuration", + "description": "The local address that the FIPS proxy will bind ports on." + }, + { + "parameter": "observability_pipelines_worker", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Configuration for forwarding telemetry to an Observability Pipelines Worker instead of Datadog. https://www.datadoghq.com/product/observability-pipelines/ Note: This config is interchangeable with `vector`" + }, + { + "parameter": "metrics", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Specific configurations for metrics" + }, + { + "parameter": "enabled", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_METRICS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enables forwarding of metrics to an Observability Pipelines Worker" + }, + { + "parameter": "url", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_METRICS_URL", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Basic Configuration", + "description": "URL endpoint for the Observability Pipelines Worker to send metrics to" + }, + { + "parameter": "logs", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Specific configurations for logs" + }, + { + "parameter": "enabled", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enables forwarding of logs to an Observability Pipelines Worker" + }, + { + "parameter": "url", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_URL", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Basic Configuration", + "description": "URL endpoint for the Observability Pipelines Worker to send logs to" + }, + { + "parameter": "traces", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Basic Configuration", + "description": "Specific configurations for traces" + }, + { + "parameter": "enabled", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_TRACES_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Basic Configuration", + "description": "Enables forwarding of traces to an Observability Pipelines Worker" + }, + { + "parameter": "url", + "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_TRACES_URL", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Basic Configuration", + "description": "URL endpoint for the Observability Pipelines Worker to send traces to" + }, + { + "parameter": "confd_path", + "env_variable": "DD_CONFD_PATH", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "The path containing check configuration files. By default, uses the conf.d folder located in the Agent configuration folder." + }, + { + "parameter": "additional_checksd", + "env_variable": "DD_ADDITIONAL_CHECKSD", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Additional path indicating where to search for Python checks. By default, uses the checks.d folder located in the Agent configuration folder." + }, + { + "parameter": "expvar_port", + "env_variable": "DD_EXPVAR_PORT", + "type": "integer", + "required": "Optional", + "default": "5000", + "section": "Advanced Configuration", + "description": "The port for the go_expvar server." + }, + { + "parameter": "cmd_port", + "env_variable": "DD_CMD_PORT", + "type": "integer", + "required": "Optional", + "default": "5001", + "section": "Advanced Configuration", + "description": "The port on which the IPC api listens." + }, + { + "parameter": "GUI_port", + "env_variable": "DD_GUI_PORT", + "type": "integer", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "The port for the browser GUI to be served. Setting 'GUI_port: -1' turns off the GUI completely Default is: * Windows & macOS : `5002` * Linux: `-1`" + }, + { + "parameter": "GUI_session_expiration", + "env_variable": "GUI_SESSION_EXPIRATION", + "type": "duration", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "The duration after which a GUI session will expire. Setting 'GUI_SESSION_EXPIRATION: 0' disable session expiration. Default is \"0s\" (sessions do not expire)." + }, + { + "parameter": "health_port", + "env_variable": "DD_HEALTH_PORT", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "Advanced Configuration", + "description": "The Agent can expose its health check on a dedicated http port. This is useful for orchestrators that support http probes. Default is 0 (disabled), set a valid port number (eg. 5555) to enable." + }, + { + "parameter": "check_runners", + "env_variable": "DD_CHECK_RUNNERS", + "type": "integer", + "required": "Optional", + "default": "4", + "section": "Advanced Configuration", + "description": "The `check_runners` refers to the number of concurrent check runners available for check instance execution. The scheduler attempts to spread the instances over the collection interval and will _at most_ be running the number of check runners instances concurrently. Setting the value to 1 would result in checks running sequentially. This is a sensitive setting, and we do NOT recommend changing the default number of check runners in the general case. The level of concurrency has effects on the Agent's: RSS memory, CPU load, resource contention overhead, etc." + }, + { + "parameter": "enable_metadata_collection", + "env_variable": "DD_ENABLE_METADATA_COLLECTION", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Advanced Configuration", + "description": "Metadata collection should always be enabled, except if you are running several agents/dsd instances per host. In that case, only one Agent should have it on. WARNING: disabling it on every Agent leads to display and billing issues." + }, + { + "parameter": "enable_gohai", + "env_variable": "DD_ENABLE_GOHAI", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Advanced Configuration", + "description": "Enable the gohai collection of systems data." + }, + { + "parameter": "enable_signing_metadata_collection", + "env_variable": "DD_ENABLE_SIGNING_METADATA_COLLECTION", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Advanced Configuration", + "description": "Enable the Linux package signing medatada collection." + }, + { + "parameter": "server_timeout", + "env_variable": "DD_SERVER_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "30", + "section": "Advanced Configuration", + "description": "IPC api server timeout in seconds." + }, + { + "parameter": "procfs_path", + "env_variable": "DD_PROCFS_PATH", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Some environments may have the procfs file system mounted in a miscellaneous location. The procfs_path configuration parameter provides a mechanism to override the standard default location: '/proc' - this setting trickles down to integrations and affect their behavior if they rely on the psutil python package." + }, + { + "parameter": "disable_py3_validation", + "env_variable": "DD_DISABLE_PY3_VALIDATION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "Disable Python3 validation of python checks." + }, + { + "parameter": "python3_linter_timeout", + "env_variable": "DD_PYTHON3_LINTER_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "120", + "section": "Advanced Configuration", + "description": "Timeout in seconds for validation of compatibility with python 3 when running python 2." + }, + { + "parameter": "memtrack_enabled", + "env_variable": "DD_MEMTRACK_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Advanced Configuration", + "description": "Enables tracking of memory allocations made from the python runtime loader." + }, + { + "parameter": "tracemalloc_debug", + "env_variable": "DD_TRACEMALLOC_DEBUG", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "Enables debugging with tracemalloc for python checks. Please note that when this option is enabled the number of check runners is overridden to 1." + }, + { + "parameter": "tracemalloc_include", + "env_variable": "DD_TRACEMALLOC_INCLUDE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Comma-separated list of Python checks to enable tracemalloc for when `tracemalloc_debug` is true. By default, all Python checks are enabled." + }, + { + "parameter": "tracemalloc_exclude", + "env_variable": "DD_TRACEMALLOC_EXCLUDE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Comma-separated list of Python checks to disable tracemalloc for when `tracemalloc_debug` is true. By default, all Python checks are enabled. This setting takes precedence over `tracemalloc_include`." + }, + { + "parameter": "windows_use_pythonpath", + "env_variable": "DD_WINDOWS_USE_PYTHONPATH", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Whether to honour the value of the PYTHONPATH env var when set on Windows. Disabled by default, so we only load Python libraries bundled with the Agent." + }, + { + "parameter": "secret_backend_type", + "env_variable": "DD_SECRET_BACKEND_TYPE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "`secret_backend_type` is the type of backend where secrets are stored. Supported backends are: \"aws.secrets\", \"aws.ssm\", \"azure.keyvault\", \"hashicorp.vault\", \"file.json\", \"file.yaml\" For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management This option is ignored if 'secret_backend_command' is set." + }, + { + "parameter": "secret_backend_config", + "env_variable": "DD_SECRET_BACKEND_CONFIG", + "type": "map", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "The section contains configuration required by `secret_backend_type` to resolve secrets. The necessary configuration depends upon which type is used. For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management" + }, + { + "parameter": "secret_backend_command", + "env_variable": "DD_SECRET_BACKEND_COMMAND", + "type": "string", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "`secret_backend_command` is the path to your custom script to execute to fetch secrets. The executable must have specific rights that differ on Windows and Linux. This option take precedence over `secret_backend_type`. For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management" + }, + { + "parameter": "secret_backend_arguments", + "env_variable": "DD_SECRET_BACKEND_ARGUMENTS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "If secret_backend_command is set, specify here a list of arguments to give to the command at each run. This option take precedence over `secret_backend_type`." + }, + { + "parameter": "secret_backend_output_max_size", + "env_variable": "DD_SECRET_BACKEND_OUTPUT_MAX_SIZE", + "type": "integer", + "required": "Optional", + "default": "1048576", + "section": "Advanced Configuration", + "description": "The size in bytes of the buffer used to store the command answer (apply to both stdout and stderr)" + }, + { + "parameter": "secret_backend_timeout", + "env_variable": "DD_SECRET_BACKEND_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "30", + "section": "Advanced Configuration", + "description": "The timeout to execute the command in second" + }, + { + "parameter": "secret_backend_skip_checks", + "env_variable": "DD_SECRET_BACKEND_SKIP_CHECKS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "Disable fetching secrets for check configurations" + }, + { + "parameter": "secret_backend_remove_trailing_line_break", + "env_variable": "DD_SECRET_BACKEND_REMOVE_TRAILING_LINE_BREAK", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "Remove trailing line breaks from secrets returned by the secret_backend_command. Some secret management tools automatically add a line break when exporting secrets through files." + }, + { + "parameter": "secret_scope_integration_to_their_k8s_namespace", + "env_variable": "DD_SECRET_SCOPE_INTEGRATION_TO_THEIR_NAMESPACE", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can limit integration to only be able to access their own namespace by setting this setting to true. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_allowed_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." + }, + { + "parameter": "secret_allowed_k8s_namespace", + "env_variable": "DD_SECRET_ALLOWED_K8S_NAMESPACE", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Advanced Configuration", + "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can limit all integrations to only be able to access a list of specific namespace. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_scope_integration_to_their_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." + }, + { + "parameter": "secret_image_to_handle", + "env_variable": "DD_SECRET_IMAGE_TO_HANDLE", + "type": "map of list of strings", + "required": "Optional", + "default": "{}", + "section": "Advanced Configuration", + "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can fully control which Kubernetes secret can be access by which image. Any secrets using the `k8s_secret@` prefix not listed for the image being monitored will not be resolved. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_scope_integration_to_their_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." + }, + { + "parameter": "profiling", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Advanced Configuration", + "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." + }, + { + "parameter": "enabled", + "env_variable": "DD_INTERNAL_PROFILING_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Advanced Configuration", + "description": "Enable internal profiling for the Agent process." + }, + { + "parameter": "system_tray", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Datadog Agent Manager System Tray Configuration", + "description": "This section configures the Datadog Agent Manager System Tray" + }, + { + "parameter": "log_file", + "env_variable": "DD_TRAY_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "%ProgramData%\\Datadog\\logs\\ddtray.log", + "section": "Datadog Agent Manager System Tray Configuration", + "description": "The full path to the file where Datadog Agent Manager System Tray logs are written." + }, + { + "parameter": "logs_enabled", + "env_variable": "DD_LOGS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "Enable Datadog Agent log collection by setting logs_enabled to true." + }, + { + "parameter": "logs_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Log collection Configuration", + "description": "Enter specific configurations for your Log collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/logs/" + }, + { + "parameter": "container_collect_all", + "env_variable": "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "Enable container log collection for all the containers (see ac_exclude to filter out containers)" + }, + { + "parameter": "logs_dd_url", + "env_variable": "DD_LOGS_CONFIG_LOGS_DD_URL", + "type": "string", + "required": "Optional", + "default": "", + "section": "Log collection Configuration", + "description": "Define the endpoint and port to hit when using a proxy for logs. As of agent version 7.70.0, proxy paths are supported. To forward logs to a specific proxy path, the URL scheme must be specified: https://proxy.example.com:443/logs" + }, + { + "parameter": "logs_no_ssl", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "@env DD_LOGS_CONFIG_LOGS_NO_SSL - optional - default: false Disable the SSL encryption. This parameter should only be used when logs are forwarded locally to a proxy. It is highly recommended to then handle the SSL encryption on the proxy side." + }, + { + "parameter": "processing_rules", + "env_variable": "DD_LOGS_CONFIG_PROCESSING_RULES", + "type": "list of custom objects", + "required": "Optional", + "default": "", + "section": "Log collection Configuration", + "description": "Global processing rules that are applied to all logs. The available rules are \"exclude_at_match\", \"include_at_match\" and \"mask_sequences\". More information in Datadog documentation: https://docs.datadoghq.com/agent/logs/advanced_log_collection/#global-processing-rules" + }, + { + "parameter": "auto_multi_line_detection", + "env_variable": "DD_LOGS_CONFIG_AUTO_MULTI_LINE_DETECTION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "Enable automatic aggregation of multi-line logs for common log patterns. More information can be found in Datadog documentation: https://docs.datadoghq.com/agent/logs/auto_multiline_detection/?tab=configurationfile" + }, + { + "parameter": "force_use_http", + "env_variable": "DD_LOGS_CONFIG_FORCE_USE_HTTP", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "Set this parameter to `true` to always send logs via HTTP(S) protocol and never fall back to raw TCP forwarding (recommended). By default, the Agent sends logs in HTTPS batches if HTTPS connectivity can be established at Agent startup, and falls back to TCP otherwise. This parameter can be used to override this fallback behavior. It is recommended, but not the default, to maintain compatibility with previous Agent versions. Note, the logs are forwarded via HTTPS (encrypted) by default. Please use `logs_no_ssl` if you need unencrypted HTTP instead." + }, + { + "parameter": "http_protocol", + "env_variable": "DD_LOGS_CONFIG_HTTP_PROTOCOL", + "type": "string", + "required": "Optional", + "default": "auto", + "section": "Log collection Configuration", + "description": "The transport type to use for sending logs. Possible values are \"auto\" or \"http1\"." + }, + { + "parameter": "http_timeout", + "env_variable": "DD_LOGS_CONFIG_HTTP_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Log collection Configuration", + "description": "The HTTP timeout to use for sending logs, in seconds." + }, + { + "parameter": "force_use_tcp", + "env_variable": "DD_LOGS_CONFIG_FORCE_USE_TCP", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "By default, logs are sent via HTTP protocol if possible, set this parameter to `true` to always send logs via TCP. If `force_use_http` is set to `true`, this parameter is ignored." + }, + { + "parameter": "use_compression", + "env_variable": "DD_LOGS_CONFIG_USE_COMPRESSION", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Log collection Configuration", + "description": "This parameter is available when sending logs via HTTP protocol. If enabled, the Agent compresses logs before sending them." + }, + { + "parameter": "compression_level", + "env_variable": "DD_LOGS_CONFIG_COMPRESSION_LEVEL", + "type": "integer", + "required": "Optional", + "default": "6", + "section": "Log collection Configuration", + "description": "The compression_level parameter accepts values from 0 (no compression) to 9 (maximum compression but higher resource usage). Only takes effect if `use_compression` is set to `true`." + }, + { + "parameter": "batch_wait", + "env_variable": "DD_LOGS_CONFIG_BATCH_WAIT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Log collection Configuration", + "description": "The maximum time (in seconds) the Datadog Agent waits to fill each batch of logs before sending." + }, + { + "parameter": "close_timeout", + "env_variable": "DD_LOGS_CONFIG_CLOSE_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Log collection Configuration", + "description": "The maximum number of seconds the Agent spends reading from a file after it has been rotated." + }, + { + "parameter": "open_files_limit", + "env_variable": "DD_LOGS_CONFIG_OPEN_FILES_LIMIT", + "type": "integer", + "required": "Optional", + "default": "500", + "section": "Log collection Configuration", + "description": "The maximum number of files that can be tailed in parallel. Note: the default for Mac OS is 200. The default for all other systems is 500." + }, + { + "parameter": "file_wildcard_selection_mode", + "env_variable": "DD_LOGS_CONFIG_FILE_WILDCARD_SELECTION_MODE", + "type": "string", + "required": "Optional", + "default": "`by_name`", + "section": "Log collection Configuration", + "description": "The strategy used to prioritize wildcard matches if they exceed the open file limit. Choices are `by_name` and `by_modification_time`. `by_name` means that each log source is considered and the matching files are ordered in reverse name order. While there are less than `logs_config.open_files_limit` files being tailed, this process repeats, collecting from each configured source. `by_modification_time` takes all log sources and first adds any log sources that point to a specific file. Next, it finds matches for all wildcard sources. This resulting list is ordered by which files have been most recently modified and the top `logs_config.open_files_limit` most recently modified files are chosen for tailing. WARNING: `by_modification_time` is less performant than `by_name` and will trigger more disk I/O at the configured wildcard log paths." + }, + { + "parameter": "max_message_size_bytes", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "900000", + "section": "Log collection Configuration", + "description": "@env DD_LOGS_CONFIG_MAX_MESSAGE_SIZE_BYTES - integer - optional - default : 900000 The maximum size of single log message in bytes. Lines that are longer than this limit are split into multiple line where each long line that is split has `...TRUNCATED...` added as a suffix and each line that was created from a split of a previous line has `...TRUNCATED...` added as a prefix. Note: Datadog's ingest API truncates any logs greater than 1 MB by discarding the remainder. See https://docs.datadoghq.com/api/latest/logs/ for details." + }, + { + "parameter": "integrations_logs_files_max_size", + "env_variable": "DD_LOGS_CONFIG_INTEGRATIONS_LOGS_FILES_MAX_SIZE", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Log collection Configuration", + "description": "The max size in MB that an integration logs file is allowed to use" + }, + { + "parameter": "integrations_logs_total_usage", + "env_variable": "DD_LOGS_CONFIG_INTEGRATIONS_LOGS_TOTAL_USAGE", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Log collection Configuration", + "description": "The total combined usage all integrations logs files can use" + }, + { + "parameter": "k8s_container_use_kubelet_api", + "env_variable": "DD_LOGS_CONFIG_K8S_CONTAINER_USE_KUBELET_API", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Log collection Configuration", + "description": "Enable container log collection via the kubelet API, typically used for EKS Fargate" + }, + { + "parameter": "streaming", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Log collection Configuration", + "description": "This section allows you to configure streaming logs via remote config." + }, + { + "parameter": "streamlogs_log_file", + "env_variable": "DD_LOGS_CONFIG_STREAMING_STREAMLOGS_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Log collection Configuration", + "description": "Path to the file containing the streamlogs log file. Default paths: * Windows: c:\\\\programdata\\\\datadog\\\\logs\\\\streamlogs_info\\\\streamlogs.log * Unix: /opt/log/datadog/streamlogs_info/streamlogs.log * Linux: /var/log/datadog/streamlogs_info/streamlogs.log" + }, + { + "parameter": "apm_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enter specific configurations for your trace collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/apm/" + }, + { + "parameter": "enabled", + "env_variable": "DD_APM_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Trace Collection Configuration", + "description": "Set to true to enable the APM Agent." + }, + { + "parameter": "env", + "env_variable": "DD_APM_ENV", + "type": "string", + "required": "Optional", + "default": "none", + "section": "Trace Collection Configuration", + "description": "The environment tag that Traces should be tagged with. If not set the value will be inherited, in order, from the top level \"env\" config option if set and then from the 'env:' tag if present in the 'tags' top level config option." + }, + { + "parameter": "receiver_port", + "env_variable": "DD_APM_RECEIVER_PORT", + "type": "integer", + "required": "Optional", + "default": "8126", + "section": "Trace Collection Configuration", + "description": "The port that the trace receiver should listen on. Set to 0 to disable the HTTP receiver." + }, + { + "parameter": "receiver_socket", + "env_variable": "DD_APM_RECEIVER_SOCKET", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Trace Collection Configuration", + "description": "Accept traces through Unix Domain Sockets. Set to \"\" to disable the UDS receiver." + }, + { + "parameter": "receiver_socket", + "env_variable": "DD_APM_RECEIVER_SOCKET", + "type": "string", + "required": "Optional", + "default": "unix:///var/run/datadog/apm.socket", + "section": "Trace Collection Configuration", + "description": "Accept traces through Unix Domain Sockets. Set to \"\" to disable the UDS receiver." + }, + { + "parameter": "apm_non_local_traffic", + "env_variable": "DD_APM_NON_LOCAL_TRAFFIC", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Trace Collection Configuration", + "description": "Set to true so the Trace Agent listens for non local traffic, i.e if Traces are being sent to this Agent from another host/container" + }, + { + "parameter": "apm_dd_url", + "env_variable": "DD_APM_DD_URL", + "type": "string", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Define the endpoint and port to hit when using a proxy for APM. The traces are forwarded in TCP therefore the proxy must be able to handle TCP connections." + }, + { + "parameter": "max_traces_per_second", + "env_variable": "DD_APM_MAX_TPS", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Trace Collection Configuration", + "description": "The target traces per second to sample. Sampling rates to apply are adjusted given the received traffic and communicated to tracers. This configures head base sampling. As of 7.35.0 sampling cannot be disabled and setting 'max_traces_per_second' to 0 no longer disables sampling, but instead sends no traces to the intake. To avoid rate limiting, set this value sufficiently high for your traffic pattern." + }, + { + "parameter": "target_traces_per_second", + "env_variable": "DD_APM_TARGET_TPS", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Trace Collection Configuration", + "description": "The target traces per second to sample. Sampling rates to apply are adjusted given the received traffic and communicated to tracers. This configures head-based sampling. As of 7.35.0 sampling cannot be disabled and setting 'max_traces_per_second' to 0 no longer disables sampling, but instead sends no traces to the intake. To avoid rate limiting, set this value sufficiently high for your traffic pattern." + }, + { + "parameter": "errors_per_second", + "env_variable": "DD_APM_ERROR_TPS", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Trace Collection Configuration", + "description": "The target error trace chunks to receive per second. The TPS is spread to catch all combinations of service, name, resource, http.status, and error.type. Set to 0 to disable the errors sampler." + }, + { + "parameter": "max_events_per_second", + "env_variable": "DD_APM_MAX_EPS", + "type": "integer", + "required": "Optional", + "default": "200", + "section": "Trace Collection Configuration", + "description": "Maximum number of APM events per second to sample." + }, + { + "parameter": "max_memory", + "env_variable": "DD_APM_MAX_MEMORY", + "type": "integer", + "required": "Optional", + "default": "500000000", + "section": "Trace Collection Configuration", + "description": "This value is what the Agent aims to use in terms of memory. If surpassed, the API rate limits incoming requests to aim and stay below this value. Note: The Agent process is killed if it uses more than 150% of `max_memory`. Set the `max_memory` parameter to `0` to disable the memory limitation." + }, + { + "parameter": "max_cpu_percent", + "env_variable": "DD_APM_MAX_CPU_PERCENT", + "type": "integer", + "required": "Optional", + "default": "50", + "section": "Trace Collection Configuration", + "description": "The CPU percentage that the Agent aims to use. If surpassed, the API rate limits incoming requests to aim and stay below this value. Examples: 50 = half a core, 200 = two cores. Set `max_cpu_percent` to `0` to disable rate limiting based on CPU usage." + }, + { + "parameter": "obfuscation", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Defines obfuscation rules for sensitive data. See https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/#agent-trace-obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for credit cards. Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_LUHN", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables a Luhn checksum check in order to eliminate false negatives. Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"elasticsearch\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_OBFUSCATE_SQL_VALUES", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The set of keys for which their values will be passed through SQL obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"opensearch\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_OBFUSCATE_SQL_VALUES", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The set of keys for which their values will be passed through SQL obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_HTTP_REMOVE_QUERY_STRING", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation of query strings in URLs" + }, + { + "parameter": "DD_APM_OBFUSCATION_HTTP_REMOVE_PATHS_WITH_DIGITS", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "If enabled, path segments in URLs containing digits are replaced by \"?\"" + }, + { + "parameter": "DD_APM_OBFUSCATION_MEMCACHED_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"memcached\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_MEMCACHED_KEEP_COMMAND", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "If enabled, the full command for the query will be kept, including any lookup keys that could be present. The value for storage commands will still be redacted if Memcached obfuscation is enabled." + }, + { + "parameter": "DD_APM_OBFUSCATION_MONGODB_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"mongodb\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_MONGODB_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_MONGODB_OBFUSCATE_SQL_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The set of keys for which their values will be passed through SQL obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_REDIS_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"redis\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_REDIS_REMOVE_ALL_ARGS", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "When true, replaces all arguments of a redis command with a single \"?\". Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_VALKEY_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for spans of type \"valkey\". Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_VALKEY_REMOVE_ALL_ARGS", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "When true, replaces all arguments of a valkey command with a single \"?\". Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_REMOVE_STACK_TRACES", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables removing stack traces to replace them with \"?\". Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for JSON query execution plans. Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_OBFUSCATE_SQL_VALUES", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The set of keys for which their values will be passed through SQL obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables obfuscation rules for JSON query execution plans, including cost and row estimates. Produces a normalized execution plan. Disabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_KEEP_VALUES", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "List of keys that should not be obfuscated." + }, + { + "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_OBFUSCATE_SQL_VALUES", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The set of keys for which their values will be passed through SQL obfuscation" + }, + { + "parameter": "DD_APM_OBFUSCATION_CACHE_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables caching obfuscated statements. Currently supported for SQL and MongoDB queries. Enabled by default." + }, + { + "parameter": "DD_APM_OBFUSCATION_CACHE_MAX_SIZE", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5000000", + "section": "Trace Collection Configuration", + "description": "The maximum size of the cache in bytes. The maximum allowed resource length is 5000. Datadog stores a minimum of 1000 queries (5000000 / 5000) by default." + }, + { + "parameter": "apm_sql_obfuscation_mode", + "env_variable": "DD_APM_SQL_OBFUSCATION_MODE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Trace Collection Configuration", + "description": "Obfuscator mode for SQL queries. Leave empty to use the default obfuscator. Set to \"obfuscate_only\" to obfuscate the query with the new `sqllexer` obfuscator. Set to \"normalize_only\" to normalize the query with the new `sqllexer` obfuscator. If you use DBM, set to \"obfuscate_and_normalize\" to obfuscate and normalize the query for better APM/DBM correlation." + }, + { + "parameter": "filter_tags", + "env_variable": "DD_APM_FILTER_TAGS_REQUIRE, DD_APM_FILTER_TAGS_REJECT", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Defines rules by which to filter traces based on tags. * require - list of key or key/value strings - traces must have those tags in order to be sent to Datadog * reject - list of key or key/value strings - traces with these tags are dropped by the Agent Please note that: 1. Rules take into account the intersection of tags defined. 2. When `filter_tags` and `filter_tags_regex` are used at the same time, all rules are united for filtering. In cases where rules in `filter_tags` and `filter_tags_regex` match the same key, the rule from `filter_tags` takes precendence over the rule from `filter_tags_regex`. For example, in the case of the following configuration: filter_tags: require: [\"foo:bar\"] filter_tags_regex: require: [\"foo:^bar[0-9]{1}$\"] With these rules, traces with a tag `foo:bar1` will be dropped, and those with a `foo:bar` tag will be kept" + }, + { + "parameter": "filter_tags_regex", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Defines rules by which to filter traces based on tags with regex pattern for tag values. * require - list of key or key/value regex pattern strings - traces must have those tags in order to be sent to Datadog * reject - list of key or key/value regex pattern strings - traces with these tags are dropped by the Agent Note: Rules take into account the intersection of tags defined. Using regexp patterns for tag filtering can have performance implications, and is slower than typical tag filtering without regexp. However, this regexp is only run on the root span of a trace, so should not have a critical impact on overall performance. More detailed information can be found in the description of the `filter_tags` parameter above" + }, + { + "parameter": "replace_tags", + "env_variable": "DD_APM_REPLACE_TAGS", + "type": "list of objects", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Defines a set of rules to replace or remove certain resources, tags containing potentially sensitive information. Each rules has to contain: * name - string - The tag name to replace, for resources use \"resource.name\". * pattern - string - The pattern to match the desired content to replace * repl - string - what to inline if the pattern is matched See https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/#replace-rules-for-tag-filtering" + }, + { + "parameter": "ignore_resources", + "env_variable": "DD_APM_IGNORE_RESOURCES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "An exclusion list of regular expressions can be provided to disable certain traces based on their resource name all entries must be surrounded by double quotes and separated by commas." + }, + { + "parameter": "log_file", + "env_variable": "DD_APM_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "The full path to the file where APM-agent logs are written." + }, + { + "parameter": "peer_tags", + "env_variable": "DD_APM_PEER_TAGS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Optional list of supplementary peer tags that go beyond the defaults. The Datadog backend validates all tags and will drop ones that are unapproved." + }, + { + "parameter": "features", + "env_variable": "DD_APM_FEATURES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Configure additional beta APM features. The list of items available under apm_config.features is not guaranteed to persist across versions; a feature may eventually be promoted to its own configuration option on the agent, or dropped entirely." + }, + { + "parameter": "additional_endpoints", + "env_variable": "DD_APM_ADDITIONAL_ENDPOINTS", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables sending data to multiple endpoints and/or with multiple API keys via dual shipping. See https://docs.datadoghq.com/agent/guide/dual-shipping" + }, + { + "parameter": "debug", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Specifies settings for the debug server of the trace agent." + }, + { + "parameter": "port", + "env_variable": "DD_APM_DEBUG_PORT", + "type": "integer", + "required": "Optional", + "default": "5012", + "section": "Trace Collection Configuration", + "description": "Port for the debug endpoints for the trace Agent. Set it to 0 to disable the server." + }, + { + "parameter": "instrumentation", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Specifies settings for Single Step Instrumentation." + }, + { + "parameter": "enabled_namespaces", + "env_variable": "DD_APM_INSTRUMENTATION_ENABLED_NAMESPACES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables Single Step Instrumentation in specific namespaces, while Single Step Instrumentation is off in the whole cluster (in beta) Can only be set if DD_APM_INSTRUMENTATION_ENABLED is false. Cannot be set together with DD_APM_INSTRUMENTATION_DISABLED_NAMESPACES." + }, + { + "parameter": "disabled_namespaces", + "env_variable": "DD_APM_INSTRUMENTATION_DISABLED_NAMESPACES", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Disables Single Step Instrumentation in specific namespaces, while Single Step Instrumentation is enabled in the whole cluster (in beta) Can only be set if DD_APM_INSTRUMENTATION_ENABLED is true. Cannot be set together with DD_APM_INSTRUMENTATION_ENABLED_NAMESPACES." + }, + { + "parameter": "trace_buffer", + "env_variable": "DD_APM_TRACE_BUFFER", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "Trace Collection Configuration", + "description": "WARNING: Do not use this config. It is here for debugging and as a temporary fix in certain load scenarios. Setting this results in a performance deterioration and an increase in memory usage when the Trace Agent is under load. This config may be removed in a future version. Specifies the number of trace payloads to buffer after decoding. Traces can be buffered when receiving traces faster than the processor can process them." + }, + { + "parameter": "probabilistic_sampler", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables and configures the Probabilistic Sampler, compatible with the OTel Probabilistic Sampler Processor ( https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor#probabilistic-sampling-processor )" + }, + { + "parameter": "apm_probabilistic_sampler_enabled", + "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Trace Collection Configuration", + "description": "Enables or disables the probabilistic sampler" + }, + { + "parameter": "apm_probabilistic_sampler_sampling_percentage", + "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_SAMPLING_PERCENTAGE", + "type": "float", + "required": "Optional", + "default": "0", + "section": "Trace Collection Configuration", + "description": "Samples this percentage (0-100) of traffic" + }, + { + "parameter": "apm_probabilistic_sampler_hash_seed", + "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_HASH_SEED", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "Trace Collection Configuration", + "description": "hash_seed: A seed used for the hash algorithm. This must match other agents and OTel collectors using the probabilistic sampler to ensure consistent sampling." + }, + { + "parameter": "error_tracking_standalone", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enables Error Tracking Standalone" + }, + { + "parameter": "enabled", + "env_variable": "DD_APM_ERROR_TRACKING_STANDALONE_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Trace Collection Configuration", + "description": "Enables or disables Error Tracking Standalone" + }, + { + "parameter": "profiling_receiver_timeout", + "env_variable": "DD_APM_PROFILING_RECEIVER_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Trace Collection Configuration", + "description": "The timeout in seconds for receiving profile upload requests from client applications. This timeout applies to the HTTP request timeout for profile uploads to the agent. Increase this value if you experience timeouts with large profile uploads." + }, + { + "parameter": "additional_profile_tags", + "env_variable": "DD_APM_ADDITIONAL_PROFILE_TAGS", + "type": "map of strings", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Additional tags to add to all profiles. These tags are added on the agent side before forwarding profiles to Datadog. This is useful for environment-identifying tags that should be applied to all profiles (e.g., origin). Note: For Azure App Service in Windows, this configuration is set in the AAS Site Extension. Overriding the default tags in AAS Windows should be done with reference to https://datadoghq.atlassian.net/wiki/spaces/SLS/pages/6007685143/Profiling. additional_profile_tags: _dd.origin: appservice : " + }, + { + "parameter": "profiling", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Trace Collection Configuration", + "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." + }, + { + "parameter": "enabled", + "env_variable": "DD_INTERNAL_PROFILING_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Trace Collection Configuration", + "description": "Enable internal profiling for the trace-agent process." + }, + { + "parameter": "process_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Enter specific configurations for your Process data collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/graphing/infrastructure/process/" + }, + { + "parameter": "process_collection", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Specifies settings for collecting processes." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Process Collection Configuration", + "description": "Enables collection of information about running processes." + }, + { + "parameter": "container_collection", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Specifies settings for collecting containers." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Process Collection Configuration", + "description": "Enables collection of information about running containers." + }, + { + "parameter": "enabled", + "env_variable": "DD_PROCESS_CONFIG_ENABLED", + "type": "string", + "required": "Optional", + "default": "\"false\"", + "section": "Process Collection Configuration", + "description": "A string indicating the enabled state of the Process Agent: * \"false\" : The Agent collects only containers information. * \"true\" : The Agent collects containers and processes information. * \"disabled\" : The Agent process collection is disabled." + }, + { + "parameter": "expvar_port", + "env_variable": "DD_PROCESS_CONFIG_EXPVAR_PORT", + "type": "string", + "required": "Optional", + "default": "6062", + "section": "Process Collection Configuration", + "description": "Port for the debug endpoints for the process Agent." + }, + { + "parameter": "cmd_port", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "6162", + "section": "Process Collection Configuration", + "description": "Port for configuring runtime settings for the process Agent." + }, + { + "parameter": "log_file", + "env_variable": "DD_PROCESS_CONFIG_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "The full path to the file where process Agent logs are written." + }, + { + "parameter": "intervals", + "env_variable": "DD_PROCESS_CONFIG_INTERVALS_CONTAINER, DD_PROCESS_CONFIG_INTERVALS_CONTAINER_REALTIME, DD_PROCESS_CONFIG_INTERVALS_PROCESS, DD_PROCESS_CONFIG_INTERVALS_PROCESS_REALTIME", + "type": "object", + "required": "Optional", + "default": "10s for normal checks and 2s for others.", + "section": "Process Collection Configuration", + "description": "The interval, in seconds, at which the Agent runs each check. If you want consistent behavior between real-time, set the `container_realtime` and `process_realtime` intervals to 10." + }, + { + "parameter": "process_discovery", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Specifies custom settings for the `process_discovery` object." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Process Collection Configuration", + "description": "Toggles the `process_discovery` check. If enabled, this check gathers information about running integrations." + }, + { + "parameter": "interval", + "env_variable": "", + "type": "duration", + "required": "Optional", + "default": "4h - minimum: 10m", + "section": "Process Collection Configuration", + "description": "An interval in hours that specifies how often the process discovery check should run." + }, + { + "parameter": "blacklist_patterns", + "env_variable": "DD_PROCESS_CONFIG_BLACKLIST_PATTERNS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "A list of regex patterns that exclude processes if matched." + }, + { + "parameter": "queue_size", + "env_variable": "DD_PROCESS_CONFIG_QUEUE_SIZE", + "type": "integer", + "required": "Optional", + "default": "256", + "section": "Process Collection Configuration", + "description": "The number of check results to buffer in memory when a POST fails." + }, + { + "parameter": "process_queue_bytes", + "env_variable": "DD_PROCESS_CONFIG_PROCESS_QUEUE_BYTES", + "type": "integer", + "required": "Optional", + "default": "60000000", + "section": "Process Collection Configuration", + "description": "The amount of data (in bytes) to buffer in memory when a POST fails." + }, + { + "parameter": "rt_queue_size", + "env_variable": "DD_PROCESS_CONFIG_RT_QUEUE_SIZE", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Process Collection Configuration", + "description": "The number of realtime check results to buffer in memory when a POST fails." + }, + { + "parameter": "max_per_message", + "env_variable": "DD_PROCESS_CONFIG_MAX_PER_MESSAGE", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Process Collection Configuration", + "description": "The maximum number of processes or containers per message." + }, + { + "parameter": "dd_agent_bin", + "env_variable": "DD_PROCESS_CONFIG_DD_AGENT_BIN", + "type": "string", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Overrides the path to the Agent bin used for getting the hostname. Defaults are: * Windows: \\embedded\\\\agent.exe * Unix: /opt/datadog-agent/bin/agent/agent" + }, + { + "parameter": "dd_agent_env", + "env_variable": "DD_PROCESS_CONFIG_DD_AGENT_ENV", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Process Collection Configuration", + "description": "Overrides of the environment we pass to fetch the hostname." + }, + { + "parameter": "scrub_args", + "env_variable": "DD_PROCESS_CONFIG_SCRUB_ARGS", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Process Collection Configuration", + "description": "Hide sensitive data on the Live Processes page." + }, + { + "parameter": "custom_sensitive_words", + "env_variable": "DD_PROCESS_CONFIG_CUSTOM_SENSITIVE_WORDS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Define your own list of sensitive data to be merged with the default one. Read more on Datadog documentation: https://docs.datadoghq.com/graphing/infrastructure/process/#process-arguments-scrubbing" + }, + { + "parameter": "disable_realtime_checks", + "env_variable": "DD_PROCESS_CONFIG_DISABLE_REALTIME", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Process Collection Configuration", + "description": "Disable realtime process and container checks" + }, + { + "parameter": "profiling", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Process Collection Configuration", + "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." + }, + { + "parameter": "enabled", + "env_variable": "DD_INTERNAL_PROFILING_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Process Collection Configuration", + "description": "Enable internal profiling for the Process Agent process." + }, + { + "parameter": "connections_monitoring", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Path Dynamic Test Configuration", + "description": "Configurations for Network Path Dynamic Test for monitoring network connections via Network Path." + }, + { + "parameter": "enabled", + "env_variable": "DD_NETWORK_PATH_CONNECTIONS_MONITORING_ENABLED", + "type": "bool", + "required": "Optional", + "default": "false", + "section": "Network Path Dynamic Test Configuration", + "description": "Enables Network Path Dynamic Test for monitoring network connections via Network Path." + }, + { + "parameter": "collector", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Path Dynamic Test Configuration", + "description": "Configuration related to Network Path Collector used for Network Path Dynamic Test to monitor network traffic connections on the host." + }, + { + "parameter": "workers", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_WORKERS", + "type": "integer", + "required": "Optional", + "default": "4", + "section": "Network Path Dynamic Test Configuration", + "description": "The number of concurrent workers available for network path execution." + }, + { + "parameter": "timeout", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Network Path Dynamic Test Configuration", + "description": "The timeout in milliseconds for a network path test." + }, + { + "parameter": "max_ttl", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_MAX_TTL", + "type": "integer", + "required": "Optional", + "default": "30", + "section": "Network Path Dynamic Test Configuration", + "description": "The maximum TTL (Time To Live) for traceroute tests." + }, + { + "parameter": "pathtest_ttl", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL", + "type": "string", + "required": "Optional", + "default": "70m", + "section": "Network Path Dynamic Test Configuration", + "description": "The duration (time-to-live) a connection will be monitored when it's not seen anymore. The TTL is reset each time the connection is seen again. With 30min interval, 70m will allow running a test 3 times (t0, t30, t60)." + }, + { + "parameter": "pathtest_interval", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL", + "type": "string", + "required": "Optional", + "default": "30m", + "section": "Network Path Dynamic Test Configuration", + "description": "The traceroute run interval for monitored connections." + }, + { + "parameter": "filters", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_FILTERS", + "type": "list of custom objects", + "required": "Optional", + "default": "", + "section": "Network Path Dynamic Test Configuration", + "description": "Custom filters to include or exclude specific destinations from network path collection. Filters support matching by domain (with wildcard or regex) and by IP address (single IP or CIDR notation). Filters are applied sequentially, the last matching filter takes precedence. In end_user_device infrastructure mode, user-defined filters are appended to the default SaaS filters below." + }, + { + "parameter": "traceroute_queries", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_TRACEROUTE_QUERIES", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "Network Path Dynamic Test Configuration", + "description": "The number of traceroute queries for static path tests." + }, + { + "parameter": "e2e_queries", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_E2E_QUERIES", + "type": "integer", + "required": "Optional", + "default": "50", + "section": "Network Path Dynamic Test Configuration", + "description": "The number of end-to-end queries for static path tests." + }, + { + "parameter": "input_chan_size", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_INPUT_CHAN_SIZE", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Network Path Dynamic Test Configuration", + "description": "The size of the input channel buffer." + }, + { + "parameter": "processing_chan_size", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_PROCESSING_CHAN_SIZE", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Network Path Dynamic Test Configuration", + "description": "The size of the processing channel buffer." + }, + { + "parameter": "pathtest_contexts_limit", + "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_CONTEXTS_LIMIT", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Network Path Dynamic Test Configuration", + "description": "The maximum number of pathtest contexts that can be maintained." + }, + { + "parameter": "synthetics", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Synthetics Configuration", + "description": "Enter specific configuration for Synthetics tests." + }, + { + "parameter": "collector", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Synthetics Configuration", + "description": "Configuration related to run Synthetics tests." + }, + { + "parameter": "enabled", + "env_variable": "DD_SYNTHETICS_COLLECTOR_ENABLED", + "type": "bool", + "required": "Optional", + "default": "false", + "section": "Synthetics Configuration", + "description": "[Preview] Enables Synthetics tests." + }, + { + "parameter": "workers", + "env_variable": "DD_SYNTHETICS_COLLECTOR_WORKERS", + "type": "integer", + "required": "Optional", + "default": "4", + "section": "Synthetics Configuration", + "description": "The `workers` refers to the number of concurrent workers available for synthetics tests execution." + }, + { + "parameter": "flush_interval", + "env_variable": "DD_SYNTHETICS_COLLECTOR_FLUSH_INTERVAL", + "type": "integer", + "required": "Optional", + "default": "10s", + "section": "Synthetics Configuration", + "description": "The `flush_interval` refers to the synthetics run interval for tests execution." + }, + { + "parameter": "compliance_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Compliance Configuration", + "description": "Enter specific configuration for continuous compliance checks." + }, + { + "parameter": "enabled", + "env_variable": "DD_COMPLIANCE_CONFIG_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Compliance Configuration", + "description": "Set to true to enable Cloud Security Posture Management (CSPM)." + }, + { + "parameter": "dir", + "env_variable": "DD_COMPLIANCE_CONFIG_DIR", + "type": "string", + "required": "Optional", + "default": "/etc/datadog-agent/compliance.d", + "section": "Security Agent Compliance Configuration", + "description": "Directory path for compliance checks configuration containing enabled benchmarks" + }, + { + "parameter": "check_interval", + "env_variable": "DD_COMPLIANCE_CONFIG_CHECK_INTERVAL", + "type": "duration", + "required": "Optional", + "default": "20m", + "section": "Security Agent Compliance Configuration", + "description": "Check interval (see https://golang.org/pkg/time/#ParseDuration for available options)" + }, + { + "parameter": "check_max_events_per_run", + "env_variable": "DD_COMPLIANCE_CONFIG_CHECK_MAX_EVENTS_PER_RUN", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Security Agent Compliance Configuration", + "description": "" + }, + { + "parameter": "sbom", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Compliance Configuration", + "description": "Enter specific configuration for the Cloud Security Management Vulnerability Management feature" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Compliance Configuration", + "description": "set to true to enable Cloud Security Management Vulnerability Management" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Compliance Configuration", + "description": "set to true to enable Infrastructure Vulnerabiltilies" + }, + { + "parameter": "system_probe_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Enter specific configurations for your System Probe data collection. Uncomment this parameter and the one below to enable them." + }, + { + "parameter": "sysprobe_socket", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", + "type": "string", + "required": "Optional", + "default": "localhost:3333", + "section": "System Probe Configuration", + "description": "The TCP address where system probes are accessed." + }, + { + "parameter": "sysprobe_socket", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", + "type": "string", + "required": "Optional", + "default": "/opt/datadog-agent/run/sysprobe.sock", + "section": "System Probe Configuration", + "description": "The full path to the location of the unix socket where system probes are accessed." + }, + { + "parameter": "log_file", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "/var/log/datadog/system-probe.log", + "section": "System Probe Configuration", + "description": "The full path to the file where system-probe logs are written." + }, + { + "parameter": "langauge_detection", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Enter specific configurations for language detection Uncomment this parameter and the one below to enable them." + }, + { + "parameter": "enabled", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_LANGUAGE_DETECTION_ENABLED", + "type": "bool", + "required": "Optional", + "default": "false", + "section": "System Probe Configuration", + "description": "[Beta] Enables language detection via binary analysis in the system probe." + }, + { + "parameter": "health_port", + "env_variable": "DD_SYSTEM_PROBE_HEALTH_PORT", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "System Probe Configuration", + "description": "The Agent can expose its health check on a dedicated HTTP port. This is useful for orchestrators that support HTTP probes. Default is 0 (disabled). Set a valid port number (example: 5558) to enable." + }, + { + "parameter": "profiling", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." + }, + { + "parameter": "enabled", + "env_variable": "DD_INTERNAL_PROFILING_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Configuration", + "description": "Enable internal profiling for the System Probe process." + }, + { + "parameter": "memory_controller", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Cgroup memory controller for internal memory profiling." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Configuration", + "description": "Enable cgroup memory controller." + }, + { + "parameter": "thresholds", + "env_variable": "", + "type": "map of strings", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Thresholds and the respective active actions to trigger when memory usage is above the specified threshold. Threshold can be either an absolute value - such as 500MB or 2GB - or a percentage of the cgroup allocated memory such as 50%. The action can be: - gc: to trigger the Go garbage collector - profile: to generate a system-probe memory profile in /tmp - log: to simply log that the threshold was reached" + }, + { + "parameter": "pressure_levels", + "env_variable": "", + "type": "map of strings", + "required": "Optional", + "default": "", + "section": "System Probe Configuration", + "description": "Pressure levels and the respective active actions to trigger when memory usage reaches the specified level. The pressure level is 'low', 'medium' or 'critical'. The actions are the same for thresholds (see above)." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Network Configuration", + "description": "Set to true to enable the Network Module of the System Probe" + }, + { + "parameter": "dns_monitoring_ports", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_DNS_MONITORING_PORTS", + "type": "list of integers", + "required": "Optional", + "default": "[53]", + "section": "System Probe Network Configuration", + "description": "A list of ports that should be monitored for DNS traffic." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Universal Service monitoring Configuration", + "description": "Set to true to enable the Universal Service Monitoring Module of the System Probe" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Ping Configuration", + "description": "Set to true to enable the Ping Module of the System Probe" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "System Probe Traceroute Configuration", + "description": "Set to true to enable the Traceroute Module of the System Probe" + }, + { + "parameter": "enabled", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Runtime Configuration", + "description": "Set to true to enable Cloud Workload Security (CWS)." + }, + { + "parameter": "fim_enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Runtime Configuration", + "description": "Set to true to enable the File Integrity Monitoring (FIM) feature of Cloud Workload Security (CWS)." + }, + { + "parameter": "sysprobe_socket", + "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", + "type": "string", + "required": "Optional", + "default": "localhost:3334", + "section": "Security Agent Runtime Configuration", + "description": "The TCP address where the security runtime module is accessed." + }, + { + "parameter": "socket", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_SOCKET", + "type": "string", + "required": "Optional", + "default": "/opt/datadog-agent/run/runtime-security.sock", + "section": "Security Agent Runtime Configuration", + "description": "The full path to the location of the unix socket where security runtime module is accessed." + }, + { + "parameter": "policies", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Policy files" + }, + { + "parameter": "syscall_monitor", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Syscall monitoring" + }, + { + "parameter": "enabled", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_SYSCALL_MONITOR_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Runtime Configuration", + "description": "Set to true to enable the Syscall monitoring (recommended for troubleshooting only)." + }, + { + "parameter": "custom_sensitive_words", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_CUSTOM_SENSITIVE_WORDS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Define your own list of sensitive data to be merged with the default one. Read more on Datadog documentation: https://docs.datadoghq.com/graphing/infrastructure/process/#process-arguments-scrubbing" + }, + { + "parameter": "envs_with_value", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ENVS_WITH_VALUE", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Define your own list of non-sensitive environment variable names whose value will not be concealed by the runtime security module. Default: LD_PRELOAD, LD_LIBRARY_PATH, PATH, HISTSIZE, HISTFILESIZE, GLIBC_TUNABLES" + }, + { + "parameter": "activity_dump", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Activity dump section configures if/how the Agent sends activity dumps to Datadog" + }, + { + "parameter": "enabled", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Security Agent Runtime Configuration", + "description": "Set to true to activate the security profiles feature." + }, + { + "parameter": "traced_cgroups_count", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_TRACED_CGROUPS_COUNT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Security Agent Runtime Configuration", + "description": "Defines the number of concurrent cgroups to be traced." + }, + { + "parameter": "dump_duration", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_DUMP_DURATION", + "type": "duration", + "required": "Optional", + "default": "30m", + "section": "Security Agent Runtime Configuration", + "description": "Defines the duration of cgroups learning phase. Minimum value is 10m." + }, + { + "parameter": "network", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Security Agent Runtime Configuration", + "description": "Network section is used to configure Cloud Workload Security (CWS) network features." + }, + { + "parameter": "enabled", + "env_variable": "DD_RUNTIME_SECURITY_CONFIG_NETWORK_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Security Agent Runtime Configuration", + "description": "Set to true to activate the CWS network detections." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog Agent Windows Crash Detection module", + "description": "Enables the system probe module which supports the Windows crash detection check." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Runtime Security configuration", + "description": "Set to true to enable Cloud Workload Security (CWS)." + }, + { + "parameter": "socket", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "localhost:3334", + "section": "Runtime Security configuration", + "description": "The local address and port where the security runtime module is accessed" + }, + { + "parameter": "socket", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "/opt/datadog-agent/run/runtime-security.sock", + "section": "Runtime Security configuration", + "description": "The full path to the location of the unix socket where security runtime module is accessed." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Compliance monitoring configuration", + "description": "Set to true to enable Cloud Security Posture Management (CSPM)." + }, + { + "parameter": "use_dogstatsd", + "env_variable": "DD_USE_DOGSTATSD", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "DogStatsD Configuration", + "description": "Set this option to false to disable the Agent DogStatsD server." + }, + { + "parameter": "dogstatsd_port", + "env_variable": "DD_DOGSTATSD_PORT", + "type": "integer", + "required": "Optional", + "default": "8125", + "section": "DogStatsD Configuration", + "description": "Override the Agent DogStatsD port. Note: Make sure your client is sending to the same UDP port." + }, + { + "parameter": "bind_host", + "env_variable": "DD_BIND_HOST", + "type": "string", + "required": "Optional", + "default": "localhost", + "section": "DogStatsD Configuration", + "description": "The host to listen on for Dogstatsd and traces. This is ignored by APM when `apm_config.apm_non_local_traffic` is enabled and ignored by DogStatsD when `dogstatsd_non_local_traffic` is enabled. The trace-agent uses this host to send metrics to. The `localhost` default value is invalid in IPv6 environments where dogstatsd listens on \"::1\". To solve this problem, ensure Dogstatsd is listening on IPv4 by setting this value to \"127.0.0.1\"." + }, + { + "parameter": "dogstatsd_socket", + "env_variable": "DD_DOGSTATSD_SOCKET", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "DogStatsD Configuration", + "description": "Listen for Dogstatsd metrics on a Unix Socket (*nix only). Set to \"\" to disable this feature." + }, + { + "parameter": "dogstatsd_socket", + "env_variable": "DD_DOGSTATSD_SOCKET", + "type": "string", + "required": "Optional", + "default": "\"/var/run/datadog/dsd.socket\"", + "section": "DogStatsD Configuration", + "description": "Listen for Dogstatsd metrics on a Unix Socket (*nix only). Set to a valid and existing filesystem path to enable. Set to \"\" to disable this feature." + }, + { + "parameter": "dogstatsd_origin_detection", + "env_variable": "DD_DOGSTATSD_ORIGIN_DETECTION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "When using Unix Socket, DogStatsD can tag metrics with container metadata. If running DogStatsD in a container, host PID mode (e.g. with --pid=host) is required." + }, + { + "parameter": "dogstatsd_origin_detection_client", + "env_variable": "DD_DOGSTATSD_ORIGIN_DETECTION_CLIENT", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "Whether the Agent should use a client-provided container ID to enrich the metrics, events and service checks with container tags. Note: This requires using a client compatible with DogStatsD protocol version 1.2." + }, + { + "parameter": "dogstatsd_buffer_size", + "env_variable": "DD_DOGSTATSD_BUFFER_SIZE", + "type": "integer", + "required": "Optional", + "default": "8192", + "section": "DogStatsD Configuration", + "description": "The buffer size use to receive statsd packets, in bytes." + }, + { + "parameter": "dogstatsd_non_local_traffic", + "env_variable": "DD_DOGSTATSD_NON_LOCAL_TRAFFIC", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "Set to true to make DogStatsD listen to non local UDP traffic." + }, + { + "parameter": "dogstatsd_stats_enable", + "env_variable": "DD_DOGSTATSD_STATS_ENABLE", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "Publish DogStatsD's internal stats as Go expvars." + }, + { + "parameter": "dogstatsd_logging_enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "DogStatsD Configuration", + "description": "Set to true to write DogstatsD metrics received by the Agent to dogstats_stats log files. Requires `dogstatsd_stats_enable: true`." + }, + { + "parameter": "dogstatsd_log_file_max_size", + "env_variable": "", + "type": "custom", + "required": "Optional", + "default": "10MB", + "section": "DogStatsD Configuration", + "description": "Maximum size of dogstatsd log file. Use either a size (for example, 10MB) or provide value in bytes (for example, 10485760.)" + }, + { + "parameter": "dogstatsd_queue_size", + "env_variable": "DD_DOGSTATSD_QUEUE_SIZE", + "type": "integer", + "required": "Optional", + "default": "1024", + "section": "DogStatsD Configuration", + "description": "Configure the internal queue size of the Dogstatsd server. Reducing the size of this queue will reduce the maximum memory usage of the Dogstatsd server but as a trade-off, it could increase the number of packet drops." + }, + { + "parameter": "dogstatsd_stats_buffer", + "env_variable": "DD_DOGSTATSD_STATS_BUFFER", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "DogStatsD Configuration", + "description": "Set how many items should be in the DogStatsD's stats circular buffer." + }, + { + "parameter": "dogstatsd_stats_port", + "env_variable": "DD_DOGSTATSD_STATS_PORT", + "type": "integer", + "required": "Optional", + "default": "5000", + "section": "DogStatsD Configuration", + "description": "The port for the go_expvar server." + }, + { + "parameter": "dogstatsd_so_rcvbuf", + "env_variable": "DD_DOGSTATSD_SO_RCVBUF", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "DogStatsD Configuration", + "description": "The number of bytes allocated to DogStatsD's socket receive buffer (POSIX system only). By default, the system sets this value. If you need to increase the size of this buffer but keep the OS default value the same, you can set DogStatsD's receive buffer size here. The maximum accepted value might change depending on the OS." + }, + { + "parameter": "dogstatsd_metrics_stats_enable", + "env_variable": "DD_DOGSTATSD_METRICS_STATS_ENABLE", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "Set this parameter to true to have DogStatsD collects basic statistics (count/last seen) about the metrics it processed. Use the Agent command \"dogstatsd-stats\" to visualize those statistics." + }, + { + "parameter": "dogstatsd_tags", + "env_variable": "DD_DOGSTATSD_TAGS", + "type": "list of key:value elements", + "required": "Optional", + "default": "", + "section": "DogStatsD Configuration", + "description": "Additional tags to append to all metrics, events and service checks received by this DogStatsD server." + }, + { + "parameter": "dogstatsd_mapper_profiles", + "env_variable": "DD_DOGSTATSD_MAPPER_PROFILES", + "type": "list of custom object", + "required": "Optional", + "default": "", + "section": "DogStatsD Configuration", + "description": "The profiles will be used to convert parts of metrics names into tags. If a profile prefix is matched, other profiles won't be tried even if that profile matching rules doesn't match. The profiles and matching rules are processed in the order defined in this configuration. For each profile, following fields are available: name (required): profile name prefix (required): mapping only applies to metrics with the prefix. If set to `*`, it will match everything. mappings: mapping rules, see below. For each mapping, following fields are available: match (required): pattern for matching the incoming metric name e.g. `test.job.duration.*` match_type (optional): pattern type can be `wildcard` (default) or `regex` e.g. `test\\.job\\.(\\w+)\\.(.*)` name (required): the metric name the metric should be mapped to e.g. `test.job.duration` tags (optional): list of key:value pair of tag key and tag value The value can use $1, $2, etc, that will be replaced by the corresponding element capture by `match` pattern This alternative syntax can also be used: ${1}, ${2}, etc" + }, + { + "parameter": "dogstatsd_mapper_cache_size", + "env_variable": "DD_DOGSTATSD_MAPPER_CACHE_SIZE", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "DogStatsD Configuration", + "description": "Size of the cache (max number of mapping results) used by Dogstatsd mapping feature." + }, + { + "parameter": "dogstatsd_entity_id_precedence", + "env_variable": "DD_DOGSTATSD_ENTITY_ID_PRECEDENCE", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "DogStatsD Configuration", + "description": "Disable enriching Dogstatsd metrics with tags from \"origin detection\" when Entity-ID is set." + }, + { + "parameter": "dogstatsd_no_aggregation_pipeline", + "env_variable": "DD_DOGSTATSD_NO_AGGREGATION_PIPELINE", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "DogStatsD Configuration", + "description": "Enable the no-aggregation pipeline in DogStatsD: a pipeline receiving metrics with timestamp and forwarding them to the intake without extra processing except for tagging." + }, + { + "parameter": "dogstatsd_no_aggregation_pipeline_batch_size", + "env_variable": "DD_DOGSTATSD_NO_AGGREGATION_PIPELINE_BATCH_SIZE", + "type": "integer", + "required": "Optional", + "default": "2048", + "section": "DogStatsD Configuration", + "description": "How many metrics maximum in payloads sent by the no-aggregation pipeline to the intake." + }, + { + "parameter": "statsd_forward_host", + "env_variable": "DD_STATSD_FORWARD_HOST", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "DogStatsD Configuration", + "description": "Forward every packet received by the DogStatsD server to another statsd server. WARNING: Make sure that forwarded packets are regular statsd packets and not \"DogStatsD\" packets, as your other statsd server might not be able to handle them." + }, + { + "parameter": "statsd_forward_port", + "env_variable": "DD_STATSD_FORWARD_PORT", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "DogStatsD Configuration", + "description": "Port or the \"statsd_forward_host\" to forward StatsD packet to." + }, + { + "parameter": "statsd_metric_namespace", + "env_variable": "DD_STATSD_METRIC_NAMESPACE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "DogStatsD Configuration", + "description": "Set a namespace for all StatsD metrics coming from this host. Each metric received is prefixed with the namespace before it's sent to Datadog." + }, + { + "parameter": "metadata_providers", + "env_variable": "DD_METADATA_PROVIDERS", + "type": "list of custom object", + "required": "Optional", + "default": "", + "section": "DogStatsD Configuration", + "description": "Metadata providers, add or remove from the list to enable or disable collection. Intervals are expressed in seconds. You can also set a provider's interval to 0 to disable it." + }, + { + "parameter": "jmx_custom_jars", + "env_variable": "DD_JMX_CUSTOM_JARS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "JMX Configuration", + "description": "If you only run Autodiscovery tests, jmxfetch might fail to pick up custom_jar_paths set in the check templates. If that is the case, force custom jars here." + }, + { + "parameter": "jmx_use_cgroup_memory_limit", + "env_variable": "DD_JMX_USE_CGROUP_MEMORY_LIMIT", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "JMX Configuration", + "description": "When running in a memory cgroup, openjdk 8u131 and higher can automatically adjust its heap memory usage in accordance to the cgroup/container's memory limit. The Agent set a Xmx of 200MB if none is configured. Note: OpenJDK version < 8u131 or >= 10 as well as other JVMs might fail to start if this option is set." + }, + { + "parameter": "jmx_use_container_support", + "env_variable": "DD_JMX_USE_CONTAINER_SUPPORT", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "JMX Configuration", + "description": "When running in a container, openjdk 10 and higher can automatically detect container specific configuration instead of querying the operating system to adjust resources allotted to the JVM. Note: openjdk versions prior to 10 and other JVMs might fail to start if this option is set." + }, + { + "parameter": "jmx_max_ram_percentage", + "env_variable": "DD_JMX_MAX_RAM_PERCENTAGE", + "type": "float", + "required": "Optional", + "default": "25.0", + "section": "JMX Configuration", + "description": "When running in a container with jmx_use_container_support enabled, the JVM can automatically declare the maximum heap size based off of a percentage of total container allocated memory. This option is overwritten if you use -Xmx to manually define the size of the heap. This option applies to containers with a total memory limit greater than ~250mb. If jmx_use_container_support is disabled this option has no effect." + }, + { + "parameter": "jmx_log_file", + "env_variable": "DD_JMX_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "JMX Configuration", + "description": "Path of the log file where JMXFetch logs are written." + }, + { + "parameter": "jmx_max_restarts", + "env_variable": "DD_JMX_MAX_RESTARTS", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "JMX Configuration", + "description": "Number of JMX restarts allowed in the restart-interval before giving up." + }, + { + "parameter": "jmx_restart_interval", + "env_variable": "DD_JMX_RESTART_INTERVAL", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "JMX Configuration", + "description": "Duration of the restart interval in seconds." + }, + { + "parameter": "jmx_check_period", + "env_variable": "DD_JMX_CHECK_PERIOD", + "type": "integer", + "required": "Optional", + "default": "15000", + "section": "JMX Configuration", + "description": "Duration of the period for check collections in milliseconds." + }, + { + "parameter": "jmx_thread_pool_size", + "env_variable": "DD_JMX_THREAD_POOL_SIZE", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "JMX Configuration", + "description": "JMXFetch collects multiples instances concurrently. Defines the maximum level of concurrency: * Higher concurrency increases CPU utilization during metric collection. * Lower concurrency results in lower CPU usage but may increase the total collection time. A value of 1 processes instances serially." + }, + { + "parameter": "jmx_collection_timeout", + "env_variable": "DD_JMX_COLLECTION_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "JMX Configuration", + "description": "Defines the maximum waiting period in seconds before timing up on metric collection." + }, + { + "parameter": "jmx_reconnection_thread_pool_size", + "env_variable": "DD_JMX_RECONNECTION_THREAD_POOL_SIZE", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "JMX Configuration", + "description": "JMXFetch reconnects to multiples instances concurrently. Defines the maximum level of concurrency: * Higher concurrency increases CPU utilization during reconnection. * Lower concurrency results in lower CPU usage but may increase the total reconnection time A value of 1 processes instance reconnections serially." + }, + { + "parameter": "jmx_reconnection_timeout", + "env_variable": "DD_JMX_RECONNECTION_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "JMX Configuration", + "description": "Determines the maximum waiting period in seconds before timing up on instance reconnection." + }, + { + "parameter": "jmx_statsd_telemetry_enabled", + "env_variable": "DD_JMX_STATSD_TELEMETRY_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "JMX Configuration", + "description": "Specifies whether the JMXFetch statsd client telemetry is enabled." + }, + { + "parameter": "jmx_telemetry_enabled", + "env_variable": "DD_JMX_TELEMETRY_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "JMX Configuration", + "description": "Specifies whether additional JMXFetch telemetry is enabled." + }, + { + "parameter": "jmx_java_tool_options", + "env_variable": "DD_JMX_JAVA_TOOL_OPTIONS", + "type": "string", + "required": "Optional", + "default": "", + "section": "JMX Configuration", + "description": "If you only run Autodiscovery tests, jmxfetch might fail to pick up custom_jar_paths set in the check templates. If that is the case, force custom jars here." + }, + { + "parameter": "log_level", + "env_variable": "DD_LOG_LEVEL", + "type": "string", + "required": "Optional", + "default": "info", + "section": "Logging Configuration", + "description": "Minimum log level of the Datadog Agent. Valid log levels are: trace, debug, info, warn, error, critical, and off. Note: When using the 'off' log level, quotes are mandatory." + }, + { + "parameter": "log_file", + "env_variable": "DD_LOG_FILE", + "type": "string", + "required": "Optional", + "default": "", + "section": "Logging Configuration", + "description": "Path of the log file for the Datadog Agent. See https://docs.datadoghq.com/agent/guide/agent-log-files/" + }, + { + "parameter": "log_format_json", + "env_variable": "DD_LOG_FORMAT_JSON", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Logging Configuration", + "description": "Set to 'true' to output Agent logs in JSON format." + }, + { + "parameter": "log_to_console", + "env_variable": "DD_LOG_TO_CONSOLE", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Logging Configuration", + "description": "Set to 'false' to disable Agent logging to stdout." + }, + { + "parameter": "disable_file_logging", + "env_variable": "DD_DISABLE_FILE_LOGGING", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Logging Configuration", + "description": "Set to 'true' to disable logging to the log file." + }, + { + "parameter": "log_file_max_size", + "env_variable": "DD_LOG_FILE_MAX_SIZE", + "type": "custom", + "required": "Optional", + "default": "10MB", + "section": "Logging Configuration", + "description": "Maximum size of one log file. Use either a size (e.g. 10MB) or provide value in bytes: 10485760" + }, + { + "parameter": "log_file_max_rolls", + "env_variable": "DD_LOG_FILE_MAX_ROLLS", + "type": "integer", + "required": "Optional", + "default": "1", + "section": "Logging Configuration", + "description": "Maximum amount of \"old\" log files to keep. Set to 0 to not limit the number of files to create." + }, + { + "parameter": "log_to_syslog", + "env_variable": "DD_LOG_TO_SYSLOG", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Logging Configuration", + "description": "Set to 'true' to enable logging to syslog. Note: Even if this option is set to 'false', the service launcher of your environment may redirect the Agent process' stdout/stderr to syslog. In that case, if you wish to disable logging to syslog entirely, set 'log_to_console' to 'false' as well." + }, + { + "parameter": "syslog_uri", + "env_variable": "DD_SYSLOG_URI", + "type": "string", + "required": "Optional", + "default": "", + "section": "Logging Configuration", + "description": "Define a custom remote syslog uri if needed. If 'syslog_uri' is left undefined/empty, a local domain socket connection is attempted." + }, + { + "parameter": "syslog_rfc", + "env_variable": "DD_SYSLOG_RFC", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Logging Configuration", + "description": "Set to 'true' to output in an RFC 5424-compliant format for Agent logs." + }, + { + "parameter": "autoconf_template_dir", + "env_variable": "DD_AUTOCONF_TEMPLATE_DIR", + "type": "string", + "required": "Optional", + "default": "/datadog/check_configs", + "section": "Autoconfig Configuration", + "description": "Directory containing configuration templates for Autoconfig." + }, + { + "parameter": "autoconf_config_files_poll", + "env_variable": "DD_AUTOCONF_CONFIG_FILES_POLL", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Autoconfig Configuration", + "description": "Should the we check for new/updated integration configuration files on disk. WARNING: Only files containing checks configuration are supported (logs configuration are not supported)." + }, + { + "parameter": "autoconf_config_files_poll_interval", + "env_variable": "DD_AUTOCONF_CONFIG_FILES_POLL_INTERVAL", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Autoconfig Configuration", + "description": "How frequently should the Agent check for new/updated integration configuration files (in seconds). This value must be >= 1 (i.e. 1 second). WARNING: Only files containing checks configuration are supported (logs configuration are not supported)." + }, + { + "parameter": "config_providers", + "env_variable": "DD_CONFIG_PROVIDERS", + "type": "List of custom object", + "required": "Optional", + "default": "", + "section": "Autoconfig Configuration", + "description": "The providers the Agent should call to collect checks configurations. Available providers are: * kubelet - The kubelet provider handles templates embedded in pod annotations. * docker - The Docker provider handles templates embedded in container labels. * clusterchecks - The clustercheck provider retrieves cluster-level check configurations from the cluster-agent. * kube_services - The kube_services provider watches Kubernetes services for cluster-checks See https://docs.datadoghq.com/guides/autodiscovery/ to learn more" + }, + { + "parameter": "extra_config_providers", + "env_variable": "DD_EXTRA_CONFIG_PROVIDERS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Autoconfig Configuration", + "description": "Add additional config providers by name using their default settings, and pooling enabled. This list is available as an environment variable binding." + }, + { + "parameter": "autoconfig_exclude_features", + "env_variable": "DD_AUTOCONFIG_EXCLUDE_FEATURES", + "type": "list of comma separated strings", + "required": "Optional", + "default": "", + "section": "Autoconfig Configuration", + "description": "Exclude features automatically detected and enabled by environment autodiscovery. Supported syntax is a list of `(:)`. Currently only the `name` attribute is supported. When no attribute is present, it defaults to `name:` attribute." + }, + { + "parameter": "autoconfig_include_features", + "env_variable": "DD_AUTOCONFIG_INCLUDE_FEATURES", + "type": "list of comma separated strings", + "required": "Optional", + "default": "", + "section": "Autoconfig Configuration", + "description": "Force activation of features (as if they were discovered by environment autodiscovery)." + }, + { + "parameter": "container_cgroup_root", + "env_variable": "DD_CONTAINER_CGROUP_ROOT", + "type": "string", + "required": "Optional", + "default": "/host/sys/fs/cgroup/", + "section": "Container Autodiscovery Configuration", + "description": "Change the root directory to look at to get cgroup statistics. Default if environment variable \"DOCKER_DD_AGENT\" is set to \"/host/sys/fs/cgroup\" and \"/sys/fs/cgroup\" if not." + }, + { + "parameter": "container_proc_root", + "env_variable": "DD_CONTAINER_PROC_ROOT", + "type": "string", + "required": "Optional", + "default": "/host/proc", + "section": "Container Autodiscovery Configuration", + "description": "Change the root directory to look at to get proc statistics. Default if environment variable \"DOCKER_DD_AGENT\" is set \"/host/proc\" and \"/proc\" if not." + }, + { + "parameter": "listeners", + "env_variable": "DD_LISTENERS", + "type": "list of key:value elements", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "Choose \"auto\" if you want to let the Agent find any relevant listener on your host At the moment, the only auto listener supported is Docker If you have already set Docker anywhere in the listeners, the auto listener is ignored" + }, + { + "parameter": "extra_listeners", + "env_variable": "DD_EXTRA_LISTENERS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "You can also add additional listeners by name using their default settings. This list is available as an environment variable binding." + }, + { + "parameter": "ac_exclude", + "env_variable": "DD_AC_EXCLUDE", + "type": "list of comma separated strings", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "Exclude containers from metrics and AD based on their name or image. If a container matches an exclude rule, it won't be included unless it first matches an include rule. An excluded container won't get any individual container metric reported for it. See: https://docs.datadoghq.com/agent/guide/autodiscovery-management/" + }, + { + "parameter": "ac_include", + "env_variable": "DD_AC_INCLUDE", + "type": "list of comma separated strings", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "Include containers from metrics and AD based on their name or image: See: https://docs.datadoghq.com/agent/guide/autodiscovery-management/" + }, + { + "parameter": "exclude_pause_container", + "env_variable": "DD_EXCLUDE_PAUSE_CONTAINER", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Container Autodiscovery Configuration", + "description": "Exclude default pause containers from orchestrators. By default the Agent doesn't monitor kubernetes/openshift pause container. They are still counted in the container count (just like excluded containers)." + }, + { + "parameter": "docker_query_timeout", + "env_variable": "DD_DOCKER_QUERY_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Container Autodiscovery Configuration", + "description": "Set the default timeout value when connecting to the Docker daemon." + }, + { + "parameter": "ad_config_poll_interval", + "env_variable": "DD_AD_CONFIG_POLL_INTERVAL", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Container Autodiscovery Configuration", + "description": "The default interval in second to check for new autodiscovery configurations on all registered configuration providers." + }, + { + "parameter": "ad_allowed_env_vars", + "env_variable": "DD_AD_ALLOWED_ENV_VARS", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "The list of environment variables that are allowed to be resolved in check configurations. If the list is not set or is empty, the default behavior applies: all envs are allowed. This list only applies when `ad_disable_env_var_resolution` is set to false." + }, + { + "parameter": "ad_disable_env_var_resolution", + "env_variable": "DD_AD_DISABLE_ENV_VAR_RESOLUTION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Container Autodiscovery Configuration", + "description": "Disable environment variable resolution in check configurations." + }, + { + "parameter": "cloud_foundry_garden", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Container Autodiscovery Configuration", + "description": "Settings for Cloudfoundry application container autodiscovery." + }, + { + "parameter": "listen_network", + "env_variable": "DD_CLOUD_FOUNDRY_GARDEN_LISTEN_NETWORK", + "type": "string", + "required": "Optional", + "default": "unix", + "section": "Container Autodiscovery Configuration", + "description": "The network on which the garden API is listening. Possible values are `unix` or `tcp`" + }, + { + "parameter": "listen_address", + "env_variable": "DD_CLOUD_FOUNDRY_GARDEN_LISTEN_ADDRESS", + "type": "string", + "required": "Optional", + "default": "/var/vcap/data/garden/garden.sock", + "section": "Container Autodiscovery Configuration", + "description": "The address on which the garden API is listening." + }, + { + "parameter": "podman_db_path", + "env_variable": "DD_PODMAN_DB_PATH", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Container Autodiscovery Configuration", + "description": "Settings for Podman DB that Datadog Agent collects container metrics." + }, + { + "parameter": "cluster_agent", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Cluster Agent Configuration", + "description": "Settings for the Cluster Agent. See https://docs.datadoghq.com/agent/cluster_agent/" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Cluster Agent Configuration", + "description": "Set to true to enable the Cluster Agent." + }, + { + "parameter": "auth_token", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Cluster Agent Configuration", + "description": "Auth token used to make requests to the Kubernetes API server." + }, + { + "parameter": "url", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Cluster Agent Configuration", + "description": "The Cluster Agent endpoint. There's no need to set it if \"kubernetes_service_name\" is set." + }, + { + "parameter": "kubernetes_service_name", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "\"datadog-cluster-agent\"", + "section": "Cluster Agent Configuration", + "description": "Name of the Kubernetes service for the Cluster Agent." + }, + { + "parameter": "max_leader_connections", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Cluster Agent Configuration", + "description": "Maximum number of connections between a follower and a leader." + }, + { + "parameter": "client_reconnect_period_seconds", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "1200", + "section": "Cluster Agent Configuration", + "description": "Set the refersh period for Agent to Cluster Agent connection (new connection is created, old connection is closed). Set to 0 to disable periodic reconnection." + }, + { + "parameter": "tagging_fallback", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Cluster Agent Configuration", + "description": "Set to true to enabled fallback to local metamapper when the connection with the Cluster Agent fails." + }, + { + "parameter": "server", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Cluster Agent Configuration", + "description": "Sets the connection timeouts" + }, + { + "parameter": "read_timeout_seconds", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "2", + "section": "Cluster Agent Configuration", + "description": "Read timeout in seconds." + }, + { + "parameter": "write_timeout_seconds", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "2", + "section": "Cluster Agent Configuration", + "description": "Write timeout in seconds." + }, + { + "parameter": "idle_timeout_seconds", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Cluster Agent Configuration", + "description": "Idle timeout in seconds." + }, + { + "parameter": "cluster_checks", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Cluster check Configuration", + "description": "Enter specific configurations for your cluster check. The cluster-agent is able to autodiscover cluster resources and dispatch checks on the node-agents (provided the clustercheck config provider is enabled on them). Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/kubernetes/cluster/" + }, + { + "parameter": "enabled", + "env_variable": "DD_CLUSTER_CHECKS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Cluster check Configuration", + "description": "Set to true to enable the dispatching logic on the leader cluster-agent." + }, + { + "parameter": "node_expiration_timeout", + "env_variable": "DD_CLUSTER_CHECKS_NODE_EXPIRATION_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "30", + "section": "Cluster check Configuration", + "description": "Set \"node_expiration_timeout\" time in second after which Node-agents that have not queried the cluster-agent are deleted, and their checks re-dispatched to other nodes." + }, + { + "parameter": "warmup_duration", + "env_variable": "DD_CLUSTER_CHECKS_WARMUP_DURATION", + "type": "integer", + "required": "Optional", + "default": "30", + "section": "Cluster check Configuration", + "description": "Set the \"warmup_duration\" duration in second for the cluster-agent to wait for all node-agents to report to it before dispatching configurations." + }, + { + "parameter": "cluster_tag_name", + "env_variable": "DD_CLUSTER_CHECKS_CLUSTER_TAG_NAME", + "type": "string", + "required": "Optional", + "default": "cluster_name", + "section": "Cluster check Configuration", + "description": "If a cluster_name value is set or autodetected, a \"\" tag is added to all cluster-check configurations sent to the node-agents. Set a custom tag name here, or disable it by setting an empty name." + }, + { + "parameter": "extra_tags", + "env_variable": "DD_CLUSTER_CHECKS_EXTRA_TAGS", + "type": "list of key:value elements", + "required": "Optional", + "default": "", + "section": "Cluster check Configuration", + "description": "Set a list of additionnal tags can to be added to every cluster-check configuration." + }, + { + "parameter": "advanced_dispatching_enabled", + "env_variable": "DD_CLUSTER_CHECKS_ADVANCED_DISPATCHING_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Cluster check Configuration", + "description": "If advanced_dispatching_enabled is true the leader cluster-agent collects stats from the cluster level check runners to optimize the check dispatching logic." + }, + { + "parameter": "rebalance_with_utilization", + "env_variable": "DD_CLUSTER_CHECKS_REBALANCE_WITH_UTILIZATION", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Cluster check Configuration", + "description": "If rebalance_with_utilization is true, the cluster-agent will rebalance cluster checks using node utilization." + }, + { + "parameter": "clc_runners_port", + "env_variable": "DD_CLUSTER_CHECKS_CLC_RUNNERS_PORT", + "type": "integer", + "required": "Optional", + "default": "5005", + "section": "Cluster check Configuration", + "description": "Set the \"clc_runners_port\" used by the cluster-agent client to reach cluster level check runners and collect their stats." + }, + { + "parameter": "admission_controller", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Enter specific configurations for your admission controller. The Datadog admission controller is a component of the Datadog Cluster Agent. It has two main functionalities: Inject environment variables (DD_AGENT_HOST and DD_ENTITY_ID) to configure DogStatsD and APM tracer libraries into your application containers. Inject Datadog reserved tags (env, service, version) from application labels into the container environment variables. Uncomment this parameter and the one below to enable it. See https://docs.datadoghq.com/agent/cluster_agent/admission_controller/" + }, + { + "parameter": "enabled", + "env_variable": "DD_ADMISSION_CONTROLLER_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Admission controller Configuration", + "description": "Set to true to enable the admission controller in the cluster-agent." + }, + { + "parameter": "validation", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "The admission controller's validation configuration." + }, + { + "parameter": "enabled", + "env_variable": "DD_ADMISSION_CONTROLLER_VALIDATION_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Admission controller Configuration", + "description": "Set to true to enable validation webhooks controller in the cluster-agent." + }, + { + "parameter": "mutation", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "The admission controller's mutation configuration." + }, + { + "parameter": "enabled", + "env_variable": "DD_ADMISSION_CONTROLLER_MUTATION_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Admission controller Configuration", + "description": "Set to true to enable mutation webhooks controller in the cluster-agent." + }, + { + "parameter": "mutate_unlabelled", + "env_variable": "DD_ADMISSION_CONTROLLER_MUTATE_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Admission controller Configuration", + "description": "Enable injecting config without having the pod label admission.datadoghq.com/enabled=\"true\"." + }, + { + "parameter": "port", + "env_variable": "DD_ADMISSION_CONTROLLER_PORT", + "type": "integer", + "required": "Optional", + "default": "8000", + "section": "Admission controller Configuration", + "description": "The admission controller server port." + }, + { + "parameter": "timeout_seconds", + "env_variable": "DD_ADMISSION_CONTROLLER_TIMEOUT_SECONDS", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Admission controller Configuration", + "description": "The admission controller server timeout in seconds." + }, + { + "parameter": "service_name", + "env_variable": "DD_ADMISSION_CONTROLLER_SERVICE_NAME", + "type": "string", + "required": "Optional", + "default": "datadog-admission-controller", + "section": "Admission controller Configuration", + "description": "The name of the Kubernetes service that exposes the admission controller." + }, + { + "parameter": "webhook_name", + "env_variable": "DD_ADMISSION_CONTROLLER_WEBHOOK_NAME", + "type": "string", + "required": "Optional", + "default": "datadog-webhook", + "section": "Admission controller Configuration", + "description": "The name of the Kubernetes webhook object." + }, + { + "parameter": "pod_owners_cache_validity", + "env_variable": "DD_ADMISSION_CONTROLLER_POD_OWNERS_CACHE_VALIDITY", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Admission controller Configuration", + "description": "The in-memory cache TTL for pod owners in minutes." + }, + { + "parameter": "namespace_selector_fallback", + "env_variable": "DD_ADMISSION_CONTROLLER_NAMESPACE_SELECTOR_FALLBACK", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Admission controller Configuration", + "description": "Use namespace selectors instead of object selectors to watch objects. For Kubernetes versions from 1.10 to 1.14 (inclusive)" + }, + { + "parameter": "certificate", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "The webhook's certificate configuration." + }, + { + "parameter": "validity_bound", + "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_VALIDITY_BOUND", + "type": "integer", + "required": "Optional", + "default": "8760", + "section": "Admission controller Configuration", + "description": "The certificate's validity bound in hours, default 1 year (365*24)." + }, + { + "parameter": "expiration_threshold", + "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_EXPIRATION_THRESHOLD", + "type": "integer", + "required": "Optional", + "default": "720", + "section": "Admission controller Configuration", + "description": "The certificate's refresh threshold in hours, default 1 month (30*24)." + }, + { + "parameter": "secret_name", + "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_SECRET_NAME", + "type": "string", + "required": "Optional", + "default": "webhook-certificate", + "section": "Admission controller Configuration", + "description": "Name of the Secret object containing the webhook certificate." + }, + { + "parameter": "inject_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Configuration injection parameters." + }, + { + "parameter": "enabled", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Admission controller Configuration", + "description": "Enable configuration injection (configure DogStatsD and APM tracer libraries)." + }, + { + "parameter": "endpoint", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENDPOINT", + "type": "string", + "required": "Optional", + "default": "/injectconfig", + "section": "Admission controller Configuration", + "description": "Admission controller's endpoint responsible for handling configuration injection requests." + }, + { + "parameter": "mode", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_MODE", + "type": "string", + "required": "Optional", + "default": "hostip", + "section": "Admission controller Configuration", + "description": "The kind of configuration to be injected, it can be \"hostip\", \"service\", or \"socket\"." + }, + { + "parameter": "local_service_name", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_LOCAL_SERVICE_NAME", + "type": "string", + "required": "Optional", + "default": "datadog", + "section": "Admission controller Configuration", + "description": "Configure the local service name that exposes the Datadog Agent. Only applicable in \"service\" mode." + }, + { + "parameter": "socket_path", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_SOCKET_PATH", + "type": "string", + "required": "Optional", + "default": "/var/run/datadog", + "section": "Admission controller Configuration", + "description": "Configure Datadog Agent's socket path. Only applicable in \"socket\" mode." + }, + { + "parameter": "type_socket_volumes", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_TYPE_SOCKET_VOLUMES", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Admission controller Configuration", + "description": "When enabled, injected volumes are of type \"Socket\". This means that injected pods will not start until the Agent creates the dogstatsd and trace-agent sockets. This ensures no lost traces or dogstatsd metrics but can cause the pod to wait if the agent has issues creating the sockets." + }, + { + "parameter": "inject_tags", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Tags injection parameters." + }, + { + "parameter": "enabled", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Admission controller Configuration", + "description": "Enable standard tags injection." + }, + { + "parameter": "endpoint", + "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENDPOINT", + "type": "string", + "required": "Optional", + "default": "/injecttags", + "section": "Admission controller Configuration", + "description": "Admission controller's endpoint responsible for handling tags injection requests." + }, + { + "parameter": "failure_policy", + "env_variable": "DD_ADMISSION_CONTROLLER_FAILURE_POLICY", + "type": "string", + "required": "Optional", + "default": "Ignore", + "section": "Admission controller Configuration", + "description": "Set the failure policy for dynamic admission control. The default of Ignore means that pods will still be admitted even if the webhook is unavailable to inject them. Setting to Fail will require the admission controller to be present and pods to be injected before they are allowed to run." + }, + { + "parameter": "reinvocation_policy", + "env_variable": "DD_ADMISSION_CONTROLLER_REINVOCATION_POLICY", + "type": "string", + "required": "Optional", + "default": "IfNeeded", + "section": "Admission controller Configuration", + "description": "Set the reinvocation policy for dynamic admission control. See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#reinvocation-policy" + }, + { + "parameter": "add_aks_selectors", + "env_variable": "DD_ADMISSION_CONTROLLER_ADD_AKS_SELECTORS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Admission controller Configuration", + "description": "Adds in the admission controller webhook the selectors that are required in AKS. See https://docs.microsoft.com/en-us/azure/aks/faq#can-i-use-admission-controller-webhooks-on-aks" + }, + { + "parameter": "auto_instrumentation", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Library injection parameters." + }, + { + "parameter": "init_resources", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "CPU and Memory resources of the init containers." + }, + { + "parameter": "cpu", + "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_RESOURCES_CPU", + "type": "string", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Configures the CPU request that will be applied for the init container's CPU request and limit." + }, + { + "parameter": "memory", + "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_RESOURCES_MEMORY", + "type": "string", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Configures the memory request that will be applied for the init container's memory request and limit." + }, + { + "parameter": "init_security_context", + "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_SECURITY_CONTEXT", + "type": "json", + "required": "Optional", + "default": "", + "section": "Admission controller Configuration", + "description": "Security context for the init containers in JSON format. Follows the Kubernetes security context spec, https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#securitycontext-v1-core, ignores unknown properties." + }, + { + "parameter": "docker_labels_as_tags", + "env_variable": "DD_DOCKER_LABELS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Docker tag extraction", + "description": "The Agent can extract container label values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics (Docker check)." + }, + { + "parameter": "docker_env_as_tags", + "env_variable": "DD_DOCKER_ENV_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Docker tag extraction", + "description": "The Agent can extract environment variables values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics (Docker check)." + }, + { + "parameter": "kubernetes_pod_labels_as_tags", + "env_variable": "DD_KUBERNETES_POD_LABELS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes tag extraction", + "description": "The Agent can extract pod labels values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." + }, + { + "parameter": "kubernetes_pod_annotations_as_tags", + "env_variable": "DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes tag extraction", + "description": "The Agent can extract annotations values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." + }, + { + "parameter": "kubernetes_namespace_labels_as_tags", + "env_variable": "DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes tag extraction", + "description": "The Agent can extract namespace label values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." + }, + { + "parameter": "container_env_as_tags", + "env_variable": "DD_CONTAINER_ENV_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes tag extraction", + "description": "The Agent can extract environment variable values and set them as metric tags values associated to a . Requires the container runtime socket to be reachable. (Supported container runtimes: Containerd, Docker)" + }, + { + "parameter": "container_labels_as_tags", + "env_variable": "DD_CONTAINER_LABELS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes tag extraction", + "description": "The Agent can extract container label values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics. (Supported container runtimes: Containerd, Docker)." + }, + { + "parameter": "ecs_agent_container_name", + "env_variable": "DD_ECS_AGENT_CONTAINER_NAME", + "type": "string", + "required": "Optional", + "default": "ecs-agent", + "section": "ECS integration Configuration", + "description": "The ECS Agent container should be autodetected when running with the default (ecs-agent) name. If not, change the container name here:" + }, + { + "parameter": "ecs_agent_url", + "env_variable": "DD_ECS_AGENT_URL", + "type": "string", + "required": "Optional", + "default": "http://localhost:51678", + "section": "ECS integration Configuration", + "description": "The ECS Agent container should be autodetected when running with the default (ecs-agent) name. If not, change the container name the Agent should look for with ecs_agent_container_name, or force a fixed url here:" + }, + { + "parameter": "ecs_collect_resource_tags_ec2", + "env_variable": "DD_ECS_COLLECT_RESOURCE_TAGS_EC2", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "ECS integration Configuration", + "description": "The Agent can collect resource tags from the metadata API exposed by the ECS Agent for tasks scheduled with the EC2 launch type." + }, + { + "parameter": "ecs_resource_tags_replace_colon", + "env_variable": "DD_ECS_RESOURCE_TAGS_REPLACE_COLON", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "ECS integration Configuration", + "description": "The Agent replaces colon `:` characters in the ECS resource tag keys by underscores `_`." + }, + { + "parameter": "ecs_metadata_timeout", + "env_variable": "DD_ECS_METADATA_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "500", + "section": "ECS integration Configuration", + "description": "Timeout in milliseconds on calls to the AWS ECS metadata endpoints." + }, + { + "parameter": "ecs_task_collection_enabled", + "env_variable": "DD_ECS_TASK_COLLECTION_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "ECS integration Configuration", + "description": "The Agent can collect detailed task information from the metadata API exposed by the ECS Agent, which is used for the orchestrator ECS check." + }, + { + "parameter": "ecs_deployment_mode", + "env_variable": "DD_ECS_DEPLOYMENT_MODE", + "type": "string", + "required": "Optional", + "default": "auto", + "section": "ECS integration Configuration", + "description": "Controls how the agent collects ECS task metadata: - auto: Use daemon mode on EC2, sidecar mode on Fargate (recommended) - daemon: Collect all tasks on the host (requires v1 metadata API access) - sidecar: Collect only the current task (works on both EC2 and Fargate) Use 'sidecar' when running the agent as a task sidecar on EC2 to ensure it only reports on its own task, while still correctly identifying the launch type as EC2." + }, + { + "parameter": "cri_socket_path", + "env_variable": "DD_CRI_SOCKET_PATH", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "CRI integration Configuration", + "description": "To activate the CRI check, indicate the path of the CRI socket you're using and mount it in the container if needed. If left empty, the CRI check is disabled. see: https://docs.datadoghq.com/integrations/cri/" + }, + { + "parameter": "cri_connection_timeout", + "env_variable": "DD_CRI_CONNECTION_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "1", + "section": "CRI integration Configuration", + "description": "Configure the initial connection timeout in seconds." + }, + { + "parameter": "cri_query_timeout", + "env_variable": "DD_CRI_QUERY_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "CRI integration Configuration", + "description": "Configure the timeout in seconds for querying the CRI." + }, + { + "parameter": "cri_socket_path", + "env_variable": "DD_CRI_SOCKET_PATH", + "type": "string", + "required": "Optional", + "default": "/var/run/containerd/containerd.sock", + "section": "Containerd integration Configuration", + "description": "To activate the Containerd check, indicate the path of the Containerd socket you're using and mount it in the container if needed. see: https://docs.datadoghq.com/integrations/containerd/" + }, + { + "parameter": "cri_query_timeout", + "env_variable": "DD_CRI_QUERY_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Containerd integration Configuration", + "description": "Configure the timeout in seconds for querying the Containerd API." + }, + { + "parameter": "containerd_namespace", + "env_variable": "DD_CONTAINERD_NAMESPACE", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Containerd integration Configuration", + "description": "Activating the Containerd check also activates the CRI check, as it contains an additional subset of useful metrics. Defaults to [] which configures the agent to report metrics and events from all the containerd namespaces. To watch specific namespaces, list them here. https://github.com/containerd/cri/blob/release/1.2/pkg/constants/constants.go#L22-L23" + }, + { + "parameter": "containerd_namespaces", + "env_variable": "DD_CONTAINERD_NAMESPACES", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Containerd integration Configuration", + "description": "Activating the Containerd check also activates the CRI check, as it contains an additional subset of useful metrics. Defaults to [] which configures the agent to report metrics and events from all the containerd namespaces. containerd_namespaces acts as an alias for containerd_namespace. When both containerd_namespaces and containerd_namespace are configured, the Agent merges the two lists." + }, + { + "parameter": "containerd_exclude_namespaces", + "env_variable": "DD_CONTAINERD_EXCLUDE_NAMESPACES", + "type": "list of strings", + "required": "Optional", + "default": "[\"moby\"]", + "section": "Containerd integration Configuration", + "description": "When containerd_namespaces is set to [], containerd_exclude_namespaces allows the exclusion of containers from specific namespaces. By default it excludes \"moby\", to prevent Docker containers from being detected as containerd containers." + }, + { + "parameter": "kubernetes_kubelet_host", + "env_variable": "DD_KUBERNETES_KUBELET_HOST", + "type": "string", + "required": "Optional", + "default": "", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "The kubelet host should be autodetected when running inside a pod. If you run into connectivity issues, set the host here according to your cluster setup." + }, + { + "parameter": "kubernetes_http_kubelet_port", + "env_variable": "DD_KUBERNETES_HTTP_KUBELET_PORT", + "type": "integer", + "required": "Optional", + "default": "10255", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "The kubelet http port should be autodetected when running inside a pod. If you run into connectivity issues, set the http port here according to your cluster setup." + }, + { + "parameter": "kubernetes_https_kubelet_port", + "env_variable": "DD_KUBERNETES_HTTPS_KUBELET_PORT", + "type": "integer", + "required": "Optional", + "default": "10250", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "The kubelet https port should be autodetected when running inside a pod. If you run into connectivity issues, set the https port here according to your cluster setup." + }, + { + "parameter": "kubelet_tls_verify", + "env_variable": "DD_KUBELET_TLS_VERIFY", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Set to false if you don't want the Agent to verify the kubelet's certificate when using HTTPS." + }, + { + "parameter": "kubelet_client_ca", + "env_variable": "DD_KUBELET_CLIENT_CA", + "type": "string", + "required": "Optional", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Kublet client CA file path." + }, + { + "parameter": "kubelet_auth_token_path", + "env_variable": "DD_KUBELET_AUTH_TOKEN_PATH", + "type": "string", + "required": "Optional", + "default": "", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "If authentication is needed, the Agent uses the pod's service account's credentials. If you want to use a different account, or are running the Agent on the host, set a custom token file path here." + }, + { + "parameter": "kubelet_client_crt", + "env_variable": "DD_KUBELET_CLIENT_CRT", + "type": "string", + "required": "Optional", + "default": "", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Set a custom Client CRT file path." + }, + { + "parameter": "kubelet_client_key", + "env_variable": "DD_KUBELET_CLIENT_KEY", + "type": "string", + "required": "Optional", + "default": "", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Set a custom Client key file path." + }, + { + "parameter": "kubelet_cache_pods_duration", + "env_variable": "DD_KUBELET_CACHE_PODS_DURATION", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Polling frequency in seconds of the Agent to the kubelet \"/pods\" endpoint." + }, + { + "parameter": "kubernetes_pod_expiration_duration", + "env_variable": "DD_KUBERNETES_POD_EXPIRATION_DURATION", + "type": "integer", + "required": "Optional", + "default": "900", + "section": "Kubernetes kubelet connectivity Configuration", + "description": "Set the time in second after which the Agent ignores the pods that have exited. Set the duration to 0 to disable this filtering." + }, + { + "parameter": "kubernetes_kubeconfig_path", + "env_variable": "DD_KUBERNETES_KUBECONFIG_PATH", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Kubernetes apiserver integration Configuration", + "description": "When running in a pod, the Agent automatically uses the pod's service account to authenticate with the API server. Provide the path to a custom KubeConfig file if you wish to install the Agent out of a pod or customize connection parameters. See https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/" + }, + { + "parameter": "kubernetes_apiserver_ca_path", + "env_variable": "DD_KUBERNETES_APISERVER_CA_PATH", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Kubernetes apiserver integration Configuration", + "description": "When running in a pod, the Agent automatically uses the pod's service account CA. Use this option to keep using the InCluster config but overriding the default CA Path. This parameter has no effect if `kubernetes_kubeconfig_path` is set." + }, + { + "parameter": "kubernetes_apiserver_tls_verify", + "env_variable": "DD_KUBERNETES_APISERVER_TLS_VERIFY", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Kubernetes apiserver integration Configuration", + "description": "When running in a pod, the Agent automatically uses the pod's service account CA. Use this option to keep using the InCluster config but deactivating TLS verification (in case APIServer CA is not ServiceAccount CA) This parameter has no effect if `kubernetes_kubeconfig_path` is set." + }, + { + "parameter": "kubernetes_apiserver_use_protobuf", + "env_variable": "DD_KUBERNETES_APISERVER_USE_PROTOBUF", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "By default, communication with the apiserver is in json format. Setting the following option to true allows communication in the binary protobuf format." + }, + { + "parameter": "kubernetes_collect_metadata_tags", + "env_variable": "DD_KUBERNETES_COLLECT_METADATA_TAGS", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set this to false to disable tag collection for the Agent. Note: In order to collect Kubernetes service names, the Agent needs certain rights. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#kubernetes" + }, + { + "parameter": "auto_team_tag_collection", + "env_variable": "DD_AUTO_TEAM_TAG_COLLECTION", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Kubernetes apiserver integration Configuration", + "description": "When enabled, the orchestrator check automatically collects the 'team' tag from Kubernetes resources. If a resource has a label or annotation with key 'team', and no 'team' tag has been explicitly configured via kubernetes_resources_labels_as_tags or kubernetes_resources_annotations_as_tags, the agent will automatically add a 'team' tag with the value from the label (preferred) or annotation." + }, + { + "parameter": "kubernetes_metadata_tag_update_freq", + "env_variable": "DD_KUBERNETES_METADATA_TAG_UPDATE_FREQ", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set how often in secons the Agent refreshes the internal mapping of services to ContainerIDs." + }, + { + "parameter": "kubernetes_apiserver_client_timeout", + "env_variable": "DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set the timeout for the Agent when connecting to the Kubernetes API server." + }, + { + "parameter": "collect_kubernetes_events", + "env_variable": "DD_COLLECT_KUBERNETES_EVENTS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set `collect_kubernetes_events` to true to enable collection of kubernetes events to be sent to Datadog. Note: leader election must be enabled below to collect events. Only the leader Agent collects events. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#event-collection" + }, + { + "parameter": "kubernetes_event_collection_timeout", + "env_variable": "DD_KUBERNETES_EVENT_COLLECTION_TIMEOUT", + "type": "integer", + "required": "Optional", + "default": "100", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set the timeout between two successful event collections in milliseconds." + }, + { + "parameter": "leader_election", + "env_variable": "DD_LEADER_ELECTION", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set the parameter to true to enable leader election on this node. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#leader-election" + }, + { + "parameter": "leader_lease_duration", + "env_variable": "DD_LEADER_LEASE_DURATION", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set the leader election lease in seconds." + }, + { + "parameter": "kubernetes_node_labels_as_tags", + "env_variable": "DD_KUBERNETES_NODE_LABELS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "Configure node labels that should be collected and their name as host tags. Note: Some of these labels are redundant with metadata collected by cloud provider crawlers (AWS, GCE, Azure)" + }, + { + "parameter": "kubernetes_node_annotations_as_tags", + "env_variable": "DD_KUBERNETES_NODE_ANNOTATIONS_AS_TAGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "Configure node annotationss that should be collected and their name as host tags." + }, + { + "parameter": "kubernetes_node_annotations_as_host_aliases", + "env_variable": "DD_KUBERNETES_NODE_ANNOTATIONS_AS_HOST_ALIASES", + "type": "list", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "Configure node annotations that should be collected and used as host aliases." + }, + { + "parameter": "cluster_name", + "env_variable": "DD_CLUSTER_NAME", + "type": "string", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "Set a custom kubernetes cluster identifier to avoid host alias collisions. The cluster name can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. These are the same rules as the ones enforced by GKE: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#Cluster.FIELDS.name" + }, + { + "parameter": "disable_cluster_name_tag_key", + "env_variable": "DD_DISABLE_CLUSTER_NAME_TAG_KEY", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "Disable using the 'cluster_name' tag key to submit orchestrator cluster name tag. The Agent will continue sending the cluster name tag with 'kube|ecs_cluster_name' key regardless of the value of this parameter." + }, + { + "parameter": "prometheus_scrape", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "This section configures the Autodiscovery based on the Prometheus annotations" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "Enables the prometheus config provider" + }, + { + "parameter": "service_endpoints", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Kubernetes apiserver integration Configuration", + "description": "Enables Service Endpoints checks in the prometheus config provider" + }, + { + "parameter": "checks", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Kubernetes apiserver integration Configuration", + "description": "Defines any extra prometheus/openmetrics check configurations to be handled by the prometheus config provider" + }, + { + "parameter": "version", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "1", + "section": "Kubernetes apiserver integration Configuration", + "description": "Version of the openmetrics check to be scheduled by the Prometheus auto-discovery" + }, + { + "parameter": "cloud_foundry_bbs", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "This section configures how the Cluster Agent accesses BBS API to gather information necessary for autodiscovery on BBS-based Cloud Foundry deployments." + }, + { + "parameter": "url", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_URL", + "type": "string", + "required": "Optional", + "default": "https://bbs.service.cf.internal:8889", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "URL of the BBS API." + }, + { + "parameter": "poll_interval", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_POLL_INTERVAL", + "type": "integer", + "required": "Optional", + "default": "15", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "Refresh rate of BBS API, in seconds. Values lower than 10 might influence performance of other operations in the cluster." + }, + { + "parameter": "ca_file", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_CA_FILE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "PEM-encoded CA certificate used when connecting to the BBS API." + }, + { + "parameter": "cert_file", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_CERT_FILE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "PEM-encoded client certificate used when connecting to the BBS API." + }, + { + "parameter": "key_file", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_KEY_FILE", + "type": "string", + "required": "Optional", + "default": "\"\"", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "PEM-encoded client key used when connecting to the BBS API." + }, + { + "parameter": "env_include", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_ENV_INCLUDE", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "List of regular expressions to allow a set of environment variables to be included as container tags" + }, + { + "parameter": "env_exclude", + "env_variable": "DD_CLOUD_FOUNDRY_BBS_ENV_EXCLUDE", + "type": "list of strings", + "required": "Optional", + "default": "[]", + "section": "Cloud Foundry BBS Configuration for Autodiscovery", + "description": "List of regular expressions to forbid a set of environment variables to be included as container tags" + }, + { + "parameter": "cloud_foundry_cc", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "This section configures how the Cluster Agent accesses CC API to gather information necessary for autodiscovery on Cloud Foundry deployments." + }, + { + "parameter": "url", + "env_variable": "DD_CLOUD_FOUNDRY_CC_URL", + "type": "string", + "required": "Optional", + "default": "https://cloud-controller-ng.service.cf.internal:9024", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "URL of the CC API." + }, + { + "parameter": "client_id", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "@env DD_CLOUD_FOUNDRY_CC_CLIENT_ID Client ID for oauth with UAA to get a token to access the CC API." + }, + { + "parameter": "client_secret", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "@env DD_CLOUD_FOUNDRY_CC_CLIENT_SECRET Client secrect for oauth with UAA to get a token to access the CC API." + }, + { + "parameter": "skip_ssl_validation", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "@env DD_CLOUD_FOUNDRY_CC_SKIP_SSL_VALIDATION Whether or not to skip SSL validation when interacting with CC API." + }, + { + "parameter": "poll_interval", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "60", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "@env DD_CLOUD_FOUNDRY_CC_POLL_INTERVAL Refresh rate of CC API, in seconds. Values lower than 10 might influence performance of other operations in the cluster." + }, + { + "parameter": "apps_batch_size", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5000", + "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", + "description": "@env DD_CLOUD_FOUNDRY_CC_APPS_BATCH_SIZE Number of apps per page to collect when calling the list apps endpoint of the CC API. Max 5000." + }, + { + "parameter": "network_devices", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Configuration related to Network Devices Monitoring" + }, + { + "parameter": "namespace", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "default", + "section": "Network Devices Configuration", + "description": "Namespace can be used to disambiguate devices with the same IP. Changing namespace will cause devices being recreated in NDM app. It should contain less than 100 characters and should not contain any of `<`, `>`, `\\n`, `\\t`, `\\r` characters. This field is used by NDM features (SNMP check, SNMP Traps listener, etc)." + }, + { + "parameter": "default_scan", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Configuration for automatic SNMP device scanning. When enabled, discovered SNMP devices are automatically scanned." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Enable automatic scanning of discovered SNMP devices. When enabled, devices discovered via autodiscovery or configured directly will be scanned to collect OID data." + }, + { + "parameter": "autodiscovery", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Creates and schedules a listener to automatically discover your SNMP devices. Discovered devices can then be monitored with the SNMP integration by using the auto_conf.yaml file provided by default." + }, + { + "parameter": "workers", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "2", + "section": "Network Devices Configuration", + "description": "The number of concurrent tasks used to discover SNMP devices. Increasing this value discovers devices faster but at the cost of increased resource consumption." + }, + { + "parameter": "discovery_interval", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3600", + "section": "Network Devices Configuration", + "description": "How often to discover new SNMP devices, in seconds. Decreasing this value discovers devices faster (within the limit of the time taken to scan subnets) but at the cost of increased resource consumption." + }, + { + "parameter": "discovery_allowed_failures", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "Network Devices Configuration", + "description": "The number of failed requests to a given SNMP device before removing it from the list of monitored devices. If a device shuts down, the Agent stops monitoring it after `discovery_interval * discovery_allowed_failures` seconds." + }, + { + "parameter": "loader", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "core", + "section": "Network Devices Configuration", + "description": "Check loader to use. Available loaders: - core: (recommended) Uses new corecheck SNMP integration - python: Uses legacy python SNMP integration" + }, + { + "parameter": "min_collection_interval", + "env_variable": "", + "type": "number", + "required": "Optional", + "default": "15", + "section": "Network Devices Configuration", + "description": "This changes the collection interval for the check instances created from discovered SNMP devices. For more information, see: https://docs.datadoghq.com/developers/write_agent_check/#collection-interval" + }, + { + "parameter": "use_device_id_as_hostname", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Use `device:` (device_id is composed of `:`) as `hostname` for metrics and service checks (meaning that metrics and services checks will have `host:device:` as tag). This option is needed for custom tags." + }, + { + "parameter": "collect_topology", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Network Devices Configuration", + "description": "Enable the collection of topology (LLDP/CDP) data" + }, + { + "parameter": "collect_vpn", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Enable collection of VPN tunnels and route table data" + }, + { + "parameter": "ping", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Configure ICMP pings for all hosts in SNMP autodiscovery Devices will be pinged with these settings each time the SNMP check is run. By default, Datadog tries to use an unprivileged UDP socket to send ICMP pings, but some Linux systems require using a raw socket. If `linux.use_raw_socket` is set, you must enable the `ping` module of system-probe for elevated privileges. See system-probe.yaml.example for details." + }, + { + "parameter": "use_deduplication", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Deduplicate IP addresses corresponding to the same device. The deduplication logic is based on the sysName, sysDesc, sysObjectID and sysUptime" + }, + { + "parameter": "oid_batch_size", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of OIDs handled by each batch for all hosts in SNMP autodiscovery. Applies to all configurations if not overridden. By default, devices dynamically tune their batch size to optimize performance (agent version v7.73+)." + }, + { + "parameter": "timeout", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of seconds before timing out. Applies to all configurations if not overridden." + }, + { + "parameter": "retries", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "Network Devices Configuration", + "description": "The number of retries before failure. Applies to all configurations if not overridden." + }, + { + "parameter": "configs", + "env_variable": "", + "type": "list", + "required": "Required", + "default": "", + "section": "Network Devices Configuration", + "description": "The actual list of configurations used to discover SNMP devices in various subnets. Example: configs: - network_address: 10.0.0.0/24 authentications: - snmp_version: 1 community_string: public - network_address: 10.0.1.0/28 authentications: - community_string: public ignored_ip_addresses: - 10.0.1.0 - 10.0.1.1" + }, + { + "parameter": "network_address", + "env_variable": "", + "type": "string", + "required": "Required", + "default": "", + "section": "Network Devices Configuration", + "description": "The subnet in CIDR format to scan for SNMP devices. All unignored IP addresses in the CIDR range are scanned. For optimal discovery time, be sure to use the smallest network mask possible as is appropriate for your network topology. Ex: 10.0.1.0/24" + }, + { + "parameter": "ignored_ip_addresses", + "env_variable": "", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "A list of IP addresses to ignore when scanning the network." + }, + { + "parameter": "port", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "161", + "section": "Network Devices Configuration", + "description": "The UDP port to use when connecting to SNMP devices." + }, + { + "parameter": "timeout", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of seconds before timing out. Applies to all authentications if not overridden." + }, + { + "parameter": "retries", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "Network Devices Configuration", + "description": "The number of retries before failure. Applies to all authentications if not overridden." + }, + { + "parameter": "authentications", + "env_variable": "", + "type": "list of custom objects", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "A list of authentication configurations to try when connecting to your SNMP devices. The Agent tries each configuration until it successfully connects. Example: authentications: - community_string: public-1 - user: myUser authKey: myAuthKey - community_string: public-2" + }, + { + "parameter": "snmp_version", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Set the version of the SNMP protocol. Available options are: `1`, `2` or `3`. If unset, the Agent tries to guess the correct version based on other configuration parameters, for example: if `user` is set, the Agent uses SNMP v3." + }, + { + "parameter": "timeout", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of seconds before timing out." + }, + { + "parameter": "retries", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3", + "section": "Network Devices Configuration", + "description": "The number of retries before failure." + }, + { + "parameter": "community_string", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Required for SNMP v1 & v2. Enclose the community string with single quote like below (to avoid special characters being interpreted). Ex: 'public'" + }, + { + "parameter": "user", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The username to connect to your SNMP devices. SNMPv3 only." + }, + { + "parameter": "authKey", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The passphrase to use with your Authentication type. SNMPv3 only." + }, + { + "parameter": "authProtocol", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The authentication protocol to use when connecting to your SNMP devices. Available options are: MD5, SHA, SHA224, SHA256, SHA384, SHA512 Defaults to MD5 when `authentication_key` is specified. SNMPv3 only." + }, + { + "parameter": "privKey", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The passphrase to use with your privacy protocol. SNMPv3 only." + }, + { + "parameter": "privProtocol", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The privacy protocol to use when connecting to your SNMP devices. Available options are: DES, AES (128 bits), AES192, AES192C, AES256, AES256C Defaults to DES when `privacy_key` is specified. SNMPv3 only." + }, + { + "parameter": "context_name", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The name of your context (optional SNMP v3-only parameter)." + }, + { + "parameter": "tags", + "env_variable": "", + "type": "list of strings", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "A list of tags to attach to every metric and service check of all devices discovered in the subnet. Learn more about tagging at https://docs.datadoghq.com/tagging" + }, + { + "parameter": "ad_identifier", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "snmp", + "section": "Network Devices Configuration", + "description": "A unique identifier to attach to devices from that subnetwork. When configuring the SNMP integration in snmp.d/auto_conf.yaml, specify the corresponding ad_identifier at the top of the file." + }, + { + "parameter": "loader", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "core", + "section": "Network Devices Configuration", + "description": "Check loader to use. Available loaders: - core: (recommended) Uses new corecheck SNMP integration - python: Uses legacy python SNMP integration" + }, + { + "parameter": "min_collection_interval", + "env_variable": "", + "type": "number", + "required": "Optional", + "default": "15", + "section": "Network Devices Configuration", + "description": "This changes the collection interval for the check instances created from discovered SNMP devices. It applies to each specific config from `snmp_listener.configs` and has precedence over `snmp_listener.min_collection_interval`. For more information, see: https://docs.datadoghq.com/developers/write_agent_check/#collection-interval" + }, + { + "parameter": "use_device_id_as_hostname", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Use `device:` (device_id is composed of `:`) as `hostname` for metrics and service checks (meaning that metrics and services checks will have `host:device:` as tag). This option is needed for custom tags." + }, + { + "parameter": "oid_batch_size", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of OIDs handled by each batch." + }, + { + "parameter": "interface_configs", + "env_variable": "", + "type": "map", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This option is used to override interface inbound/outbound speed, add interface tags, or disable monitoring for specific interfaces Example: interface_configs: \"10.0.0.1\": # target device IP address - match_field: \"name\" # (required) the field to match, can be `name` (interface name) or `index` (ifIndex) match_value: \"eth0\" # (required) the value to match in_speed: 50 # (optional) inbound speed value in bytes per sec, no value or 0 means no override out_speed: 25 # (optional) outbound speed value in bytes per sec, no value or 0 means no override tags: # (optional) interface level tags - \"testTagKey:testTagValue\" - \"tagKey2:tagValue2\" disabled: true # (optional) disables monitoring for matched interfaces, default value is false" + }, + { + "parameter": "ping", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "Configure ICMP pings for all hosts in SNMP autodiscovery Devices will be pinged with these settings each time the SNMP check is run. By default, Datadog tries to use an unprivileged UDP socket to send ICMP pings, but some linux systems require using a raw socket. If `linux.use_raw_socket` is set, you must enable the `ping` module of system-probe for elevated privileges. See system-probe.yaml.example for details." + }, + { + "parameter": "snmp_traps", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures SNMP traps collection. Traps are forwarded as logs and can be found in the logs explorer with a source:snmp-traps query" + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Set to true to enable collection of traps." + }, + { + "parameter": "port", + "env_variable": "DD_SNMP_TRAPS_CONFIG_PORT", + "type": "integer", + "required": "Optional", + "default": "9162", + "section": "Network Devices Configuration", + "description": "The UDP port to use when listening for incoming trap packets. Because the Datadog Agent does not run as root, the port cannot be below 1024. However, if you run `sudo setcap 'cap_net_bind_service=+ep' /opt/datadog-agent/bin/agent/agent`, the Datadog Agent can listen on ports below 1024." + }, + { + "parameter": "community_strings", + "env_variable": "", + "type": "list of strings", + "required": "Required", + "default": "", + "section": "Network Devices Configuration", + "description": "A list of known SNMP community strings that devices can use to send traps to the Agent. Traps with an unknown community string are ignored. Enclose the community string with single quote like below (to avoid special characters being interpreted). Must be non-empty." + }, + { + "parameter": "users", + "env_variable": "", + "type": "list of custom objects", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "List of SNMPv3 users that can be used to listen for traps. Each user can contain: * user - string - The username used by devices when sending Traps to the Agent. * authKey - string - (Optional) The passphrase to use with the given user and authProtocol * authProtocol - string - (Optional) The authentication protocol to use when listening for traps from this user. Available options are: MD5, SHA, SHA224, SHA256, SHA384, SHA512. Defaults to MD5 when authKey is set. * privKey - string - (Optional) The passphrase to use with the given user privacy protocol. * privProtocol - string - (Optional) The privacy protocol to use when listening for traps from this user. Available options are: DES, AES (128 bits), AES192, AES192C, AES256, AES256C. Defaults to DES when privKey is set." + }, + { + "parameter": "bind_host", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The hostname to listen on for incoming trap packets. Binds to 0.0.0.0 by default (accepting all packets)." + }, + { + "parameter": "netflow", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures NDM NetFlow (and sFlow, IPFIX) collection." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Set to true to enable collection of NetFlow traffic." + }, + { + "parameter": "listeners", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures one or more listeners ports that will receive flow traffic. Each listener have the following options: * flow_type - string - The flow type correspond to the incoming flow protocol. Choices are: netflow5, netflow9, ipfix, sflow5 * port - string - (Optional) The port used to receive incoming flow traffic. Default port differ by flow type: netflow5(2055), netflow9(2055), ipfix(4739), sflow5(6343) * bind_host - string - (Optional) The hostname to listen on for incoming netflow packets. Binds to 0.0.0.0 by default (accepting all packets). * workers - string - (Optional) Number of workers to use for this listener. Defaults to 1. * mapping - (Optional) List of NetflowV9/IPFIX fields to additionally collect. Defaults to None. * field - integer - The Netflow field type ID to collect. * destination - string - Name of the collected field, is queryable under @ in Datadog. Default fields can be overridden, for example, `destination.port` overrides the default destination port collected. * type - string - The field type. Available options are: string, integer, hex. Defaults to hex. * endianness - string - (Optional) If type is integer, endianness can be set using this parameter. Available options are: big, little. Defaults to big." + }, + { + "parameter": "reverse_dns_enrichment_enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Set to true to enable reverse DNS enrichment of private source and destination IP addresses in NetFlow records." + }, + { + "parameter": "reverse_dns_enrichment", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures the reverse DNS enrichment component that can be used by other components in the Datadog Agent." + }, + { + "parameter": "workers", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Network Devices Configuration", + "description": "The number of concurrent workers used to perform reverse DNS lookups." + }, + { + "parameter": "chan_size", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5000", + "section": "Network Devices Configuration", + "description": "The size of the channel used to send reverse DNS lookup requests to the workers." + }, + { + "parameter": "cache", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures the cache used by the reverse DNS enrichment component." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Network Devices Configuration", + "description": "Set to true to enable reverse DNS enrichment caching." + }, + { + "parameter": "entry_ttl", + "env_variable": "", + "type": "duration", + "required": "Optional", + "default": "24h", + "section": "Network Devices Configuration", + "description": "The amount of time that a cache entry remains valid before it is expired and removed from the cache." + }, + { + "parameter": "clean_interval", + "env_variable": "", + "type": "duration", + "required": "Optional", + "default": "2h", + "section": "Network Devices Configuration", + "description": "An interval that specifies how often expired entries are removed from the cache to free space." + }, + { + "parameter": "persist_interval", + "env_variable": "", + "type": "duration", + "required": "Optional", + "default": "2h", + "section": "Network Devices Configuration", + "description": "An interval that specifies how often the cache is persisted to disk so the cache can be reloaded when the Agent is upgraded or restarted." + }, + { + "parameter": "max_retries", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Network Devices Configuration", + "description": "The maximum number of retries to perform when a DNS lookup operation fails, after which the hostname \"\" is returned and cached for the IP address." + }, + { + "parameter": "max_size", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "1000000", + "section": "Network Devices Configuration", + "description": "The maximum size in entries of the cache, above which additional entries will not be cached." + }, + { + "parameter": "rate_limiter", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures the rate limiter used by the reverse DNS enrichment component." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Network Devices Configuration", + "description": "Set to true to enable the reverse DNS enrichment rate limiter." + }, + { + "parameter": "limit_per_sec", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "1000", + "section": "Network Devices Configuration", + "description": "The maximum number of reverse DNS lookups allowed per second by the rate limiter." + }, + { + "parameter": "limit_throttled_per_sec", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "1", + "section": "Network Devices Configuration", + "description": "The maximum number of reverse DNS lookups allowed per second when the rate limiter is throttled due to errors exceeding the threshold." + }, + { + "parameter": "throttle_error_threshold", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "10", + "section": "Network Devices Configuration", + "description": "The number of consecutive errors that will trigger the rate limiter to throttle down to limit_throttled_per_sec." + }, + { + "parameter": "recovery_intervals", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "5", + "section": "Network Devices Configuration", + "description": "The number of intervals over which to increase the rate limit back to limit_per_sec when lookups are again successful after being throttled due to errors." + }, + { + "parameter": "recovery_interval", + "env_variable": "", + "type": "duration", + "required": "Optional", + "default": "5s", + "section": "Network Devices Configuration", + "description": "The interval between incrementally increasing the rate limit back to limit_per_sec when lookups are again successful after being throttled due to errors. The rate limit will be increased by (limit_per_sec - limit_throttled_per_sec) / recovery_intervals every recovery_interval, until it reaches limit_per_sec. For example, with limit_per_sec=1000, limit_throttled_per_sec=1, recovery_intervals=5, recovery_interval=5s, the limit will be increased by 200 every 5 seconds until reaching 1000." + }, + { + "parameter": "ha_agent", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "This section configures High Availability Agent feature." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Network Devices Configuration", + "description": "Set to true to enable High Availability Agent feature." + }, + { + "parameter": "config_id", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "", + "section": "Network Devices Configuration", + "description": "The config_id configuration is used by High Availability Agent to assign a specific config ID to an Agent. When used with `ha_agent.enabled: true`, all Agents with the same config_id will be part of the same group of Agents; meaning that, one Agent within this group is designated as primary and others as standby." + }, + { + "parameter": "otlp_config", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "This section configures OTLP ingest in the Datadog Agent." + }, + { + "parameter": "receiver", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "The receiver configuration. It follows the OpenTelemetry Collector's OTLP Receiver Configuration. This template lists the most commonly used settings; see the OpenTelemetry Collector documentation for a full list of available settings: https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver/config.md" + }, + { + "parameter": "protocols", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for the supported protocols." + }, + { + "parameter": "grpc", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP/gRPC listener. Setting this as an empty section enables the OTLP/gRPC listener with default options." + }, + { + "parameter": "endpoint", + "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT", + "type": "string", + "required": "Optional", + "default": "0.0.0.0:4317", + "section": "OpenTelemetry Configuration", + "description": "The OTLP/gRPC listener endpoint." + }, + { + "parameter": "transport", + "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_TRANSPORT", + "type": "string", + "required": "Optional", + "default": "tcp", + "section": "OpenTelemetry Configuration", + "description": "The OTLP/gRPC listener transport protocol. Known protocols are \"tcp\", \"udp\", \"ip\", \"unix\", \"unixgram\", and \"unixpacket\"." + }, + { + "parameter": "max_recv_msg_size_mib", + "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_MAX_RECV_MSG_SIZE_MIB", + "type": "number", + "required": "Optional", + "default": "4", + "section": "OpenTelemetry Configuration", + "description": "The maximum size (in MiB) of messages accepted by the OTLP/gRPC endpoint." + }, + { + "parameter": "http", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP/HTTP listener. Setting this as an empty section enables the OTLP/HTTP listener with default options." + }, + { + "parameter": "endpoint", + "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT", + "type": "string", + "required": "Optional", + "default": "0.0.0.0:4318", + "section": "OpenTelemetry Configuration", + "description": "The OTLP/HTTP listener endpoint." + }, + { + "parameter": "metrics", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Metrics-specific configuration for OTLP ingest in the Datadog Agent." + }, + { + "parameter": "enabled", + "env_variable": "DD_OTLP_CONFIG_METRICS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "OpenTelemetry Configuration", + "description": "Set to false to disable metrics support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." + }, + { + "parameter": "resource_attributes_as_tags", + "env_variable": "DD_OTLP_CONFIG_METRICS_RESOURCE_ATTRIBUTES_AS_TAGS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "Set to true to add resource attributes of a metric to its metric tags. Please note that any of the subset of resource attributes in this list https://docs.datadoghq.com/opentelemetry/guide/semantic_mapping/ are converted to Datadog conventions and set to to metric tags whether this option is enabled or not." + }, + { + "parameter": "instrumentation_scope_metadata_as_tags", + "env_variable": "DD_OTLP_CONFIG_METRICS_INSTRUMENTATION_SCOPE_METADATA_AS_TAGS", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "OpenTelemetry Configuration", + "description": "Set to true to add metadata about the instrumentation scope that created a metric." + }, + { + "parameter": "tag_cardinality", + "env_variable": "DD_OTLP_CONFIG_METRICS_TAG_CARDINALITY", + "type": "string", + "required": "Optional", + "default": "low", + "section": "OpenTelemetry Configuration", + "description": "Configure the level of granularity of tags to send for OTLP metrics. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for checks metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." + }, + { + "parameter": "delta_ttl", + "env_variable": "DD_OTLP_CONFIG_METRICS_DELTA_TTL", + "type": "int", + "required": "Optional", + "default": "3600", + "section": "OpenTelemetry Configuration", + "description": "The amount of time (in seconds) that values are kept in memory for calculating deltas for cumulative monotonic metrics." + }, + { + "parameter": "histograms", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP Histograms. See https://docs.datadoghq.com/metrics/otlp/?tab=histogram for details." + }, + { + "parameter": "mode", + "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_MODE", + "type": "string", + "required": "Optional", + "default": "distributions", + "section": "OpenTelemetry Configuration", + "description": "How to report histograms. Valid values are: - `distributions` to report metrics as Datadog distributions (recommended). - `nobuckets` to not report bucket metrics, - `counters` to report one metric per histogram bucket." + }, + { + "parameter": "send_count_sum_metrics", + "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_SEND_COUNT_SUM_METRICS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "Whether to report sum, count, min, and max as separate histogram metrics." + }, + { + "parameter": "send_aggregation_metrics", + "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_SEND_AGGREGATION_METRICS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "Whether to report sum, count, min, and max as separate histogram metrics." + }, + { + "parameter": "sums", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP Sums. See https://docs.datadoghq.com/metrics/otlp/?tab=sum for details." + }, + { + "parameter": "cumulative_monotonic_mode", + "env_variable": "DD_OTLP_CONFIG_METRICS_SUMS_CUMULATIVE_MONOTONIC_MODE", + "type": "string", + "required": "Optional", + "default": "to_delta", + "section": "OpenTelemetry Configuration", + "description": "How to report cumulative monotonic sums. Valid values are: - `to_delta` to calculate delta for sum in the client side and report as Datadog counts. - `raw_value` to report the raw value as a Datadog gauge." + }, + { + "parameter": "initial_cumulative_monotonic_value", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "auto", + "section": "OpenTelemetry Configuration", + "description": "How to report the initial value for cumulative monotonic sums. Valid values are: - `auto` reports the initial value if its start timestamp is set and it happens after the process was started. - `drop` always drops the initial value. - `keep` always reports the initial value." + }, + { + "parameter": "summaries", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP Summaries. See https://docs.datadoghq.com/metrics/otlp/?tab=summary for more details." + }, + { + "parameter": "mode", + "env_variable": "DD_OTLP_CONFIG_METRICS_SUMMARIES_MODE", + "type": "string", + "required": "Optional", + "default": "gauges", + "section": "OpenTelemetry Configuration", + "description": "How to report summaries. Valid values are: - `noquantiles` to not report quantile metrics. - `gauges` to report one gauge metric per quantile." + }, + { + "parameter": "batch", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for the OTLP sending queue (batch settings). See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#sending-queue-batch-settings for more details." + }, + { + "parameter": "min_size", + "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_MIN_SIZE", + "type": "integer", + "required": "Optional", + "default": "8192", + "section": "OpenTelemetry Configuration", + "description": "The minimum number of metrics to batch before sending." + }, + { + "parameter": "max_size", + "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_MAX_SIZE", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "OpenTelemetry Configuration", + "description": "The maximum number of metrics to batch before sending. 0 means no limit on the maximum number." + }, + { + "parameter": "flush_timeout", + "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_FLUSH_TIMEOUT", + "type": "duration", + "required": "Optional", + "default": "200ms", + "section": "OpenTelemetry Configuration", + "description": "The timeout for flushing the batch." + }, + { + "parameter": "traces", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Traces-specific configuration for OTLP ingest in the Datadog Agent." + }, + { + "parameter": "enabled", + "env_variable": "DD_OTLP_CONFIG_TRACES_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "OpenTelemetry Configuration", + "description": "Set to false to disable traces support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." + }, + { + "parameter": "span_name_as_resource_name", + "env_variable": "DD_OTLP_CONFIG_TRACES_SPAN_NAME_AS_RESOURCE_NAME", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "If set to true the OpenTelemetry span name will used in the Datadog resource name. If set to false the resource name will be filled with the instrumentation library name + span kind." + }, + { + "parameter": "span_name_remappings", + "env_variable": "DD_OTLP_CONFIG_TRACES_SPAN_NAME_REMAPPINGS", + "type": "map", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Defines a map of span names and preferred names to map to. This can be used to automatically map Datadog Span Operation Names to an updated value. span_name_remappings: \"io.opentelemetry.javaagent.spring.client\": \"spring.client\" \"instrumentation:express.server\": \"express\" \"go.opentelemetry.io_contrib_instrumentation_net_http_otelhttp.client\": \"http.client\"" + }, + { + "parameter": "probabilistic_sampler", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Probabilistic sampler controlling the rate of ingestion. Using this sampler works consistently in a distributed system where the sampling rate is shared. Exceptions are made for errors and rare traces (if enabled via apm_config.enable_rare_sampler)." + }, + { + "parameter": "sampling_percentage", + "env_variable": "DD_OTLP_CONFIG_TRACES_PROBABILISTIC_SAMPLER_SAMPLING_PERCENTAGE", + "type": "number", + "required": "Optional", + "default": "100", + "section": "OpenTelemetry Configuration", + "description": "If `apm_config.probabilistic_sampler.enabled` is enabled, this config is ignored, `apm_config.probabilistic_sampler.enabled.sampling_percentage` is used instead. Percentage of traces to ingest (0 100]. Invalid values (<= 0 || > 100) are disconsidered and the default is used. If incoming spans have a sampling.priority set by the user, it will be followed and the sampling percentage will be overridden." + }, + { + "parameter": "enabled", + "env_variable": "DD_OTLP_CONFIG_TRACES_INFRA_ATTRIBUTES_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "OpenTelemetry Configuration", + "description": "Set to false to disable Infra-Attribute-Processor for traces pipeline in the OTLP ingest endpoint." + }, + { + "parameter": "ignore_missing_datadog_fields", + "env_variable": "DD_OTLP_CONFIG_IGNORE_MISSING_DATADOG_FIELDS", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "IgnoreMissingDatadogFields specifies whether to recompute DD span fields if the corresponding \"datadog.\" namespaced span attributes are missing. If true (default), incoming \"datadog.\" namespaced OTLP span attributes are used to construct the DD span. If these attributes are missing, they are recomputed from the other OTLP semantic convention attributes. If it is false, a field is populated only if its associated \"datadog.\" OTLP span attribute exists; otherwise, the field is left empty." + }, + { + "parameter": "logs", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Logs-specific configuration for OTLP ingest in the Datadog Agent." + }, + { + "parameter": "enabled", + "env_variable": "DD_OTLP_CONFIG_LOGS_ENABLED", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "OpenTelemetry Configuration", + "description": "Set to true to enable logs support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." + }, + { + "parameter": "batch", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Configuration for OTLP sending queue batch. See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#sending-queue-batch-settings for more details." + }, + { + "parameter": "min_size", + "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_MIN_SIZE", + "type": "integer", + "required": "Optional", + "default": "8192", + "section": "OpenTelemetry Configuration", + "description": "The minimum number of metrics to batch before sending." + }, + { + "parameter": "max_size", + "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_MAX_SIZE", + "type": "integer", + "required": "Optional", + "default": "0", + "section": "OpenTelemetry Configuration", + "description": "The maximum number of logs to batch before sending. 0 means no limit on the maximum number." + }, + { + "parameter": "flush_timeout", + "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_FLUSH_TIMEOUT", + "type": "duration", + "required": "Optional", + "default": "200ms", + "section": "OpenTelemetry Configuration", + "description": "The timeout for flushing the batch." + }, + { + "parameter": "debug", + "env_variable": "", + "type": "object", + "required": "Optional", + "default": "", + "section": "OpenTelemetry Configuration", + "description": "Debug-specific configuration for OTLP ingest in the Datadog Agent. This template lists the most commonly used settings; see the OpenTelemetry Collector documentation for a full list of available settings: https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter#getting-started" + }, + { + "parameter": "verbosity", + "env_variable": "DD_OTLP_CONFIG_DEBUG_VERBOSITY", + "type": "string", + "required": "Optional", + "default": "normal", + "section": "OpenTelemetry Configuration", + "description": "Verbosity of debug logs when Datadog Agent receives otlp traces/metrics. Valid values are basic, normal, detailed, none." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Auto-injection Configuration", + "description": "Set to true to enable the APM Auto-injection. Please note that enabling this service will result in a kernel driver being loaded." + }, + { + "parameter": "log_file", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "c:\\programdata\\datadog\\logs\\apm-inject.log", + "section": "Datadog APM Auto-injection Configuration", + "description": "The full path to the file where injection controller logs are written." + }, + { + "parameter": "log_level", + "env_variable": "", + "type": "string", + "required": "Optional", + "default": "info", + "section": "Datadog APM Auto-injection Configuration", + "description": "Minimum log level of the injection controller. Valid log levels are: debug, info, warn, and error." + }, + { + "parameter": "log_to_console", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Datadog APM Auto-injection Configuration", + "description": "Set to 'false' to disable injection controller logging to stdout." + }, + { + "parameter": "socket_port", + "env_variable": "", + "type": "integer", + "required": "Optional", + "default": "3030", + "section": "Datadog APM Auto-injection Configuration", + "description": "The port used for the injection controller communications API (served on localhost)." + }, + { + "parameter": "enabled", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Auto-injection Configuration", + "description": "Enable internal profiling for the injection controller process." + }, + { + "parameter": "DD_APM_TRACING_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "true", + "section": "Datadog APM Configuration", + "description": "Enable Datadog tracing. Docs: https://docs.datadoghq.com/tracing/trace_collection/" + }, + { + "parameter": "DD_RUNTIME_METRICS_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable runtime metrics. Docs: https://docs.datadoghq.com/tracing/metrics/runtime_metrics/?tab=java#environment-variables" + }, + { + "parameter": "DD_LOGS_INJECTION", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable automatic trace and span ID injection into logs. Docs: https://docs.datadoghq.com/tracing/other_telemetry/connect_logs_and_traces/" + }, + { + "parameter": "DD_PROFILING_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable continuous profiling. Docs: https://docs.datadoghq.com/profiler/" + }, + { + "parameter": "DD_DATA_STREAMS_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable data streams monitoring. Docs: https://docs.datadoghq.com/data_streams/" + }, + { + "parameter": "DD_APPSEC_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable the Application Security product. Docs: https://docs.datadoghq.com/security/application_security/" + }, + { + "parameter": "DD_IAST_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable Interactive Application Security Testing (IAST). Docs: https://docs.datadoghq.com/security/code_security/iast/setup/#amazon-ecs" + }, + { + "parameter": "DD_DYNAMIC_INSTRUMENTATION_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable Dynamic Instrumentation. Docs: https://docs.datadoghq.com/dynamic_instrumentation/" + }, + { + "parameter": "DD_DATA_JOBS_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable data jobs visibility." + }, + { + "parameter": "DD_APPSEC_SCA_ENABLED", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable Software Composition Analysis. Docs: https://docs.datadoghq.com/security/code_security/software_composition_analysis/" + }, + { + "parameter": "DD_TRACE_DEBUG", + "env_variable": "", + "type": "boolean", + "required": "Optional", + "default": "false", + "section": "Datadog APM Configuration", + "description": "Enable debug logging for the tracer. Docs: https://docs.datadoghq.com/tracing/troubleshooting/tracer_debug_logs" + } + ] + } +} \ No newline at end of file From cecf6f687984e99da1ff50736d8292f4dbb6e998 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Wed, 18 Feb 2026 13:11:45 -0800 Subject: [PATCH 30/31] Remove stray file --- data/agent_config_reference.json | 5709 ------------------------------ 1 file changed, 5709 deletions(-) delete mode 100644 data/agent_config_reference.json diff --git a/data/agent_config_reference.json b/data/agent_config_reference.json deleted file mode 100644 index ff43f763f11..00000000000 --- a/data/agent_config_reference.json +++ /dev/null @@ -1,5709 +0,0 @@ -{ - "multifiltersearch": { - "headers": [ - { - "id": "parameter", - "name": "Parameter" - }, - { - "id": "env_variable", - "name": "Environment Variable" - }, - { - "id": "type", - "name": "Type", - "filter_by": true - }, - { - "id": "required", - "name": "Required", - "filter_by": true - }, - { - "id": "default", - "name": "Default" - }, - { - "id": "section", - "name": "Section", - "filter_by": true - }, - { - "id": "description", - "name": "Description" - } - ], - "data": [ - { - "parameter": "api_key", - "env_variable": "DD_API_KEY", - "type": "string", - "required": "Required", - "default": "", - "section": "Basic Configuration", - "description": "The Datadog API key used by your Agent to submit metrics and events to Datadog. Create a new API key here: https://app.datadoghq.com/organization-settings/api-keys . Read more about API keys here: https://docs.datadoghq.com/account_management/api-app-keys/#api-keys ." - }, - { - "parameter": "app_key", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "The application key used to access Datadog's programatic API. Create a new application key here: https://app.datadoghq.com/organization-settings/application-keys . Read more about application keys here: https://docs.datadoghq.com/account_management/api-app-keys/#application-keys ." - }, - { - "parameter": "site", - "env_variable": "DD_SITE", - "type": "string", - "required": "Optional", - "default": "datadoghq.com", - "section": "Basic Configuration", - "description": "The site of the Datadog intake to send Agent data to. The site parameter must be set to enable your agent with Remote Configuration. Set to 'datadoghq.eu' to send data to the EU site. Set to 'us3.datadoghq.com' to send data to the US3 site. Set to 'us5.datadoghq.com' to send data to the US5 site. Set to 'ap1.datadoghq.com' to send data to the AP1 site. Set to 'ddog-gov.com' to send data to the US1-FED site." - }, - { - "parameter": "dd_url", - "env_variable": "DD_DD_URL, DD_URL", - "type": "string", - "required": "Optional", - "default": "https://app.datadoghq.com", - "section": "Basic Configuration", - "description": "The host of the Datadog intake server to send metrics to, only set this option if you need the Agent to send metrics to a custom URL, it overrides the site setting defined in \"site\". It does not affect APM, Logs, Remote Configuration, or Live Process intake which have their own \"*_dd_url\" settings. If DD_DD_URL and DD_URL are both set, DD_DD_URL is used in priority." - }, - { - "parameter": "proxy", - "env_variable": "DD_PROXY_HTTP, DD_PROXY_HTTPS, DD_PROXY_NO_PROXY", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "If you need a proxy to connect to the Internet, provide it here (default: disabled). Refer to https://docs.datadoghq.com/agent/proxy/ to understand how to use these settings. For Logs proxy information, refer to https://docs.datadoghq.com/agent/proxy/#proxy-for-logs" - }, - { - "parameter": "skip_ssl_validation", - "env_variable": "DD_SKIP_SSL_VALIDATION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Setting this option to \"true\" tells the Agent to skip validation of SSL/TLS certificates." - }, - { - "parameter": "sslkeylogfile", - "env_variable": "DD_SSLKEYLOGFILE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Basic Configuration", - "description": "sslkeylogfile specifies a destination for TLS master secrets in NSS key log format to allow external programs such as Wireshark to decrypt TLS connections. For more details, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format. Use of sslkeylogfile compromises security and should only be used for debugging." - }, - { - "parameter": "min_tls_version", - "env_variable": "DD_MIN_TLS_VERSION", - "type": "string", - "required": "Optional", - "default": "\"tlsv1.2\"", - "section": "Basic Configuration", - "description": "This option defines the minimum TLS version that will be used when submitting data to the Datadog intake specified in \"site\" or \"dd_url\". This parameter defaults to \"tlsv1.2\". Possible values are: tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3; values are case- insensitive." - }, - { - "parameter": "hostname", - "env_variable": "DD_HOSTNAME", - "type": "string", - "required": "Optional", - "default": "auto-detected", - "section": "Basic Configuration", - "description": "Force the hostname name." - }, - { - "parameter": "hostname_file", - "env_variable": "DD_HOSTNAME_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "In some environments, auto-detection of the hostname is not adequate and environment variables cannot be used to set the value. In such cases, the file on the host can also be used provide an appropriate value. If 'hostname' value has been set to a non-empty value, this option is ignored." - }, - { - "parameter": "hostname_fqdn", - "env_variable": "DD_HOSTNAME_FQDN", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "When the Agent relies on the OS to determine the hostname, make it use the FQDN instead of the short hostname. Recommended value: true More information at https://dtdg.co/flag-hostname-fqdn" - }, - { - "parameter": "hostname_trust_uts_namespace", - "env_variable": "DD_HOSTNAME_TRUST_UTS_NAMESPACE", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "By default the Agent does not trust the hostname value retrieved from non-root UTS namespace, as it's usually a generated name, unrelated to the host (e.g. when running in a container). When enabled, the Agent will trust the value retrieved from non-root UTS namespace instead of failing hostname resolution. (Linux only)" - }, - { - "parameter": "host_aliases", - "env_variable": "DD_HOST_ALIASES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "List of host aliases to report in addition to any aliases collected automatically from cloud providers. More information at https://docs.datadoghq.com/agent/faq/how-datadog-agent-determines-the-hostname/?tab=agentv6v7#host-aliases" - }, - { - "parameter": "tags", - "env_variable": "DD_TAGS", - "type": "list of key:value elements", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent. This configuration value merges with `DD_EXTRA_TAGS`, allowing some tags to be set in a configuration file (`tags`), and additional tags to be added with an environment variable (`DD_EXTRA_TAGS`). Learn more about tagging: https://docs.datadoghq.com/tagging/" - }, - { - "parameter": "extra_tags", - "env_variable": "DD_EXTRA_TAGS", - "type": "list of key:value elements", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent. This configuration value merges with `tags`, allowing some tags to be set in a configuration file (`tags`), and additional tags to be added with an environment variable (`DD_EXTRA_TAGS`). Learn more about tagging: https://docs.datadoghq.com/tagging/" - }, - { - "parameter": "env", - "env_variable": "DD_ENV", - "type": "string", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "The environment name where the agent is running. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent." - }, - { - "parameter": "remote_updates", - "env_variable": "DD_REMOTE_UPDATES", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enable remote upgrades and configuration changes for the Agent." - }, - { - "parameter": "tag_value_split_separator", - "env_variable": "DD_TAG_VALUE_SPLIT_SEPARATOR", - "type": "map", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Split tag values according to a given separator. Only applies to host tags, and tags coming from container integrations. It does not apply to tags on dogstatsd metrics, and tags collected by other integrations. Example use-case: With a raw collected tag \"foo:1;2;3\", using the following configuration: tag_value_split_separator: foo: ; results in the raw tag being transformed into \"foo:1\", \"foo:2\", \"foo:3\" tags" - }, - { - "parameter": "checks_tag_cardinality", - "env_variable": "DD_CHECKS_TAG_CARDINALITY", - "type": "string", - "required": "Optional", - "default": "low", - "section": "Basic Configuration", - "description": "Configure the level of granularity of tags to send for checks metrics and events. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for checks metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." - }, - { - "parameter": "dogstatsd_tag_cardinality", - "env_variable": "DD_DOGSTATSD_TAG_CARDINALITY", - "type": "string", - "required": "Optional", - "default": "low", - "section": "Basic Configuration", - "description": "Configure the level of granularity of tags to send for DogStatsD metrics and events. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for dogstatsd metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." - }, - { - "parameter": "histogram_aggregates", - "env_variable": "DD_HISTOGRAM_AGGREGATES", - "type": "list of strings", - "required": "Optional", - "default": "[\"max\", \"median\", \"avg\", \"count\"]", - "section": "Basic Configuration", - "description": "Configure which aggregated value to compute. Possible values are: min, max, median, avg, sum and count." - }, - { - "parameter": "histogram_percentiles", - "env_variable": "DD_HISTOGRAM_PERCENTILES", - "type": "list of strings", - "required": "Optional", - "default": "[\"0.95\"]", - "section": "Basic Configuration", - "description": "Configure which percentiles are computed by the Agent. It must be a list of float between 0 and 1. Warning: percentiles must be specified as yaml strings" - }, - { - "parameter": "histogram_copy_to_distribution", - "env_variable": "DD_HISTOGRAM_COPY_TO_DISTRIBUTION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Copy histogram values to distributions for true global distributions (in beta) Note: This increases the number of custom metrics created." - }, - { - "parameter": "histogram_copy_to_distribution_prefix", - "env_variable": "DD_HISTOGRAM_COPY_TO_DISTRIBUTION_PREFIX", - "type": "string", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "A prefix to add to distribution metrics created when histogram_copy_to_distributions is true" - }, - { - "parameter": "aggregator_stop_timeout", - "env_variable": "DD_AGGREGATOR_STOP_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "2", - "section": "Basic Configuration", - "description": "When stopping the agent, the Aggregator will try to flush out data ready for aggregation (metrics, events, ...). Data are flushed to the Forwarder in order to be sent to Datadog, therefore the Agent might take at most 'aggregator_stop_timeout'+'forwarder_stop_timeout' seconds to exit. You can set the maximum amount of time, in seconds, allocated to the Aggregator to do so. You can disable this feature by setting 'aggregator_stop_timeout' to 0." - }, - { - "parameter": "aggregator_buffer_size", - "env_variable": "DD_AGGREGATOR_BUFFER_SIZE", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Basic Configuration", - "description": "The default buffer size for the aggregator use a sane value for most of the use cases, however, it could be useful to manually set it in order to trade RSS usage with better performances." - }, - { - "parameter": "forwarder_timeout", - "env_variable": "DD_FORWARDER_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "20", - "section": "Basic Configuration", - "description": "Forwarder timeout in seconds" - }, - { - "parameter": "forwarder_retry_queue_payloads_max_size", - "env_variable": "DD_FORWARDER_RETRY_QUEUE_PAYLOADS_MAX_SIZE", - "type": "integer", - "required": "Optional", - "default": "15728640 (15MB)", - "section": "Basic Configuration", - "description": "It defines the maximum size in bytes of all the payloads in the forwarder's retry queue. The actual memory used is greater than the payloads size as there are extra fields like HTTP headers, but no more than 2.5 times the payload size." - }, - { - "parameter": "forwarder_num_workers", - "env_variable": "DD_FORWARDER_NUM_WORKERS", - "type": "integer", - "required": "Optional", - "default": "1", - "section": "Basic Configuration", - "description": "The number of workers used by the forwarder." - }, - { - "parameter": "forwarder_stop_timeout", - "env_variable": "DD_FORWARDER_STOP_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "2", - "section": "Basic Configuration", - "description": "When stopping the agent, the Forwarder will try to flush all new transactions (not the ones in retry state). New transactions will be created as the Aggregator flush it's internal data too, therefore the Agent might take at most 'aggregator_stop_timeout'+'forwarder_stop_timeout' seconds to exit. You can set the maximum amount of time, in seconds, allocated to the Forwarder to send those transactions. You can disable this feature by setting 'forwarder_stop_timeout' to 0." - }, - { - "parameter": "http_protocol", - "env_variable": "DD_FORWARDER_HTTP_PROTOCOL", - "type": "string", - "required": "Optional", - "default": "auto", - "section": "Basic Configuration", - "description": "The transport type to use for sending logs. Possible values are \"auto\" or \"http1\"." - }, - { - "parameter": "forwarder_max_concurrent_requests", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Basic Configuration", - "description": "@ENV DD_FORWARDER_MAX_CONCURRENT_REQUESTS - integer - optional - default: 10 The maximum number of concurrent requests that each worker can have queued up at any one time. If the connection is over HTTP/1 each request will be waiting for the previous request to complete before sending the next one. With HTTP/2 each request can be sent before waiting for the response." - }, - { - "parameter": "forwarder_storage_max_size_in_bytes", - "env_variable": "DD_FORWARDER_STORAGE_MAX_SIZE_IN_BYTES", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "Basic Configuration", - "description": "When the retry queue of the forwarder is full, `forwarder_storage_max_size_in_bytes` defines the amount of disk space the Agent can use to store transactions on the disk. When `forwarder_storage_max_size_in_bytes` is `0`, the transactions are never stored on the disk." - }, - { - "parameter": "forwarder_storage_max_disk_ratio", - "env_variable": "DD_FORWARDER_STORAGE_MAX_DISK_RATIO", - "type": "float", - "required": "Optional", - "default": "0.8", - "section": "Basic Configuration", - "description": "`forwarder_storage_max_disk_ratio` defines the disk capacity limit for storing transactions. `0.8` means the Agent can store transactions on disk until `forwarder_storage_max_size_in_bytes` is reached or when the disk mount for `forwarder_storage_path` exceeds 80% of the disk capacity, whichever is lower." - }, - { - "parameter": "forwarder_outdated_file_in_days", - "env_variable": "DD_FORWARDER_OUTDATED_FILE_IN_DAYS", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Basic Configuration", - "description": "This value specifies how many days the overflow transactions will remain valid before being discarded. During the Agent restart, if a retry file contains transactions that were created more than `forwarder_outdated_file_in_days` days ago, they are removed." - }, - { - "parameter": "forwarder_high_prio_buffer_size", - "env_variable": "", - "type": "int", - "required": "Optional", - "default": "100", - "section": "Basic Configuration", - "description": "Defines the size of the high prio buffer. Increasing the buffer size can help if payload drops occur due to high prio buffer being full." - }, - { - "parameter": "forwarder_low_prio_buffer_size", - "env_variable": "", - "type": "int", - "required": "Optional", - "default": "100", - "section": "Basic Configuration", - "description": "Defines the size of the low prio buffer." - }, - { - "parameter": "forwarder_requeue_buffer_size", - "env_variable": "", - "type": "int", - "required": "Optional", - "default": "100", - "section": "Basic Configuration", - "description": "Defines the size of the requeue prio buffer." - }, - { - "parameter": "forwarder_backoff_base", - "env_variable": "DD_FORWARDER_BACKOFF_BASE", - "type": "int", - "required": "Optional", - "default": "2", - "section": "Basic Configuration", - "description": "Defines the rate of exponential growth, and the first retry interval range. Do not set a lower value than the default. You may increase it if you use a proxy that benefits from a higher rate of exponential growth." - }, - { - "parameter": "forwarder_backoff_max", - "env_variable": "DD_FORWARDER_BACKOFF_MAX", - "type": "int", - "required": "Optional", - "default": "64", - "section": "Basic Configuration", - "description": "Defines the maximum number of seconds to wait for a retry. Do not set a lower value than the default. You may increase it if you use a proxy that benefits from a higher maximum backoff time." - }, - { - "parameter": "cloud_provider_metadata", - "env_variable": "DD_CLOUD_PROVIDER_METADATA", - "type": "list of strings", - "required": "Optional", - "default": "[\"aws\", \"gcp\", \"azure\", \"alibaba\", \"oracle\", \"ibm\"]", - "section": "Basic Configuration", - "description": "This option restricts which cloud provider endpoint will be used by the agent to retrieve metadata. By default the agent will try # AWS, GCP, Azure and alibaba providers. Some cloud provider are not enabled by default to not trigger security alert when querying unknown IP (for example, when enabling Tencent on AWS). Setting an empty list will disable querying any cloud metadata endpoints (falling back on system metadata). Disabling metadata for the cloud provider in which an Agent runs may result in duplicated hosts in your Datadog account and missing Autodiscovery features Possible values are: \"aws\" AWS EC2, ECS/Fargate \"gcp\" Google Cloud Provider \"azure\" Azure \"alibaba\" Alibaba \"tencent\" Tencent \"oracle\" Oracle Cloud \"ibm\" IBM Cloud" - }, - { - "parameter": "collect_ec2_tags", - "env_variable": "DD_COLLECT_EC2_TAGS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Collect AWS EC2 custom tags as host tags. Requires one of: - `collect_ec2_tags_use_imds: true` and configuration of the EC2 instance to allow tags in instance metadata; or - configuration of the EC2 instance to have an IAM role with the `EC2:DescribeTags` permission. See docs for further details: https://docs.datadoghq.com/integrations/faq/how-do-i-pull-my-ec2-tags-without-using-the-aws-integration/" - }, - { - "parameter": "collect_ec2_instance_info", - "env_variable": "DD_COLLECT_EC2_INSTANCE_INFO", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Extend host tags with AWS EC2 instance information. The added tags are: - region - instance-type - aws_account - image - availability-zone This should only be enabled when the Datadog AWS integration cannot be enabled (see https://docs.datadoghq.com/integrations/amazon_web_services/ for more information on the AWS integration). Using the AWS integration is recommended as it offers more features and a better integration with the AWS environment." - }, - { - "parameter": "exclude_ec2_tags", - "env_variable": "DD_EXCLUDE_EC2_TAGS", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Basic Configuration", - "description": "EC2 tags to exclude from being converted into host tags. This does not impact tags collected by the AWS Integration (see https://docs.datadoghq.com/integrations/amazon_web_services/ for more information on the AWS integration). This requires 'collect_ec2_tags' setting to be set to true." - }, - { - "parameter": "collect_ec2_tags_use_imds", - "env_variable": "DD_COLLECT_EC2_TAGS_USE_IMDS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Use instance metadata service (IMDS) instead of EC2 API to collect AWS EC2 custom tags. This requires 'collect_ec2_tags' setting to be set to true." - }, - { - "parameter": "ec2_metadata_timeout", - "env_variable": "DD_EC2_METADATA_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "300", - "section": "Basic Configuration", - "description": "Timeout in milliseconds on calls to the AWS EC2 metadata endpoints." - }, - { - "parameter": "ec2_prefer_imdsv2", - "env_variable": "DD_EC2_PREFER_IMDSV2", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "If this flag is true then the agent will request EC2 metadata using IMDS v2, which offers additional security for accessing metadata. However, in some situations (such as a containerized agent on a plain EC2 instance) it may require additional configuration on the AWS side. See the AWS guidelines for further details: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html#instance-metadata-transition-to-version-2" - }, - { - "parameter": "ec2_prioritize_instance_id_as_hostname", - "env_variable": "DD_EC2_PRIORITIZE_INSTANCE_ID_AS_HOSTNAME", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "On EC2, prefer the instance ID as the Agent hostname even when the OS hostname does not match the known generic EC2 prefixes. By default, the Agent uses the instance ID if the OS hostname has a generic EC2 prefix to avoid merging multiple instances under one host. This is useful when using custom images that share the same system hostname." - }, - { - "parameter": "collect_gce_tags", - "env_variable": "DD_COLLECT_GCE_TAGS", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Basic Configuration", - "description": "Collect Google Cloud Engine metadata as host tags" - }, - { - "parameter": "exclude_gce_tags", - "env_variable": "DD_EXCLUDE_GCE_TAGS", - "type": "list of strings", - "required": "Optional", - "default": "[\"bosh_settings\" ,\"cli-cert\" ,\"common-psm1\" ,\"configure-sh\" ,\"containerd-configure-sh\" ,\"disable-address-manager\" ,\"disable-legacy-endpoints\" ,\"enable-oslogin\" ,\"gce-container-declaration\" ,\"google-container-manifest\" ,\"ipsec-cert\" ,\"k8s-node-setup-psm1\" ,\"kube-env\" ,\"kubeconfig\" ,\"kubelet-config\" ,\"serial-port-logging-enable\" ,\"shutdown-script\" ,\"ssh-keys\" ,\"sshKeys\" ,\"ssl-cert\" ,\"startup-script\" ,\"user-data\" ,\"windows-keys\" ,\"windows-startup-script-ps1\"]", - "section": "Basic Configuration", - "description": "Google Cloud Engine metadata attribute to exclude from being converted into host tags -- only applicable when collect_gce_tags is true." - }, - { - "parameter": "gce_send_project_id_tag", - "env_variable": "DD_GCE_SEND_PROJECT_ID_TAG", - "type": "bool", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Send the project ID host tag with the `project_id:` tag key in addition to the `project:` tag key." - }, - { - "parameter": "gce_metadata_timeout", - "env_variable": "DD_GCE_METADATA_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Basic Configuration", - "description": "Timeout in milliseconds on calls to the GCE metadata endpoints." - }, - { - "parameter": "collect_gpu_tags", - "env_variable": "DD_COLLECT_GPU_TAGS", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Basic Configuration", - "description": "Collect GPU related host tags" - }, - { - "parameter": "azure_metadata_timeout", - "env_variable": "DD_AZURE_METADATA_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "300", - "section": "Basic Configuration", - "description": "Timeout in milliseconds on calls to the Azure metadata endpoints." - }, - { - "parameter": "azure_hostname_style", - "env_variable": "DD_AZURE_HOSTNAME_STYLE", - "type": "string", - "required": "Optional", - "default": "\"os\"", - "section": "Basic Configuration", - "description": "Changes how agent hostname is set on Azure virtual machines. Possible values: \"os\" - use the hostname reported by the operating system (default) \"name\" - use the instance name \"name_and_resource_group\" - use a combination of the instance name and resource group name \"full\" - use a combination of the instance name, resource group name and subscription id \"vmid\" - use the instance id" - }, - { - "parameter": "azure_metadata_api_version", - "env_variable": "DD_AZURE_METADATA_API_VERSION", - "type": "string", - "required": "Optional", - "default": "\"2021-02-01\"", - "section": "Basic Configuration", - "description": "The API version to use when querying the Azure Instance Metadata Service (IMDS). Change this if you need to use a different API version for compatibility reasons." - }, - { - "parameter": "scrubber", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Configuration for scrubbing sensitive information from the Agent's logs, configuration and flares." - }, - { - "parameter": "scrubber.additional_keys", - "env_variable": "DD_SCRUBBER_ADDITIONAL_KEYS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "By default, the Agent removes known sensitive keys from Agent and integrations YAML configs before including them in the flare. Use this parameter to define additional sensitive keys that the Agent should scrub from the YAML files included in the flare." - }, - { - "parameter": "no_proxy_nonexact_match", - "env_variable": "DD_NO_PROXY_NONEXACT_MATCH", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enable more flexible no_proxy matching. See https://godoc.org/golang.org/x/net/http/httpproxy#Config for more information on accepted matching criteria." - }, - { - "parameter": "use_proxy_for_cloud_metadata", - "env_variable": "DD_USE_PROXY_FOR_CLOUD_METADATA", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "By default cloud provider IP's are added to the transport's `no_proxy` list. Use this parameter to remove them from the `no_proxy` list." - }, - { - "parameter": "inventories_configuration_enabled", - "env_variable": "DD_INVENTORIES_CONFIGURATION_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Basic Configuration", - "description": "By default the Agent sends its own configuration to Datadog to be displayed in the `Agent Configuration` section of the host detail panel. See https://docs.datadoghq.com/infrastructure/list/#agent-configuration for more information. The Agent configuration is scrubbed of any sensitive information." - }, - { - "parameter": "metadata_ip_resolution_from_hostname", - "env_variable": "DD_METADATA_IP_RESOLUTION_FROM_HOSTNAME", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "By default, the Agent uses the first interface in the list of network interfaces to determine the IP address of the host. If you set this option to true, the Agent tries to resolve the host name to determine the host's IP address. If this is unsuccessful, the Agent falls back to the default behavior. This option is useful when the first interface is not the one you want to use to determine the host's IP address, or when you define the hostname in the /etc/hosts configuration file." - }, - { - "parameter": "auto_exit", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Configuration for the automatic exit mechanism: the Agent stops when some conditions are met." - }, - { - "parameter": "noprocess", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Configure the `noprocess` automatic exit method. Detect when no other processes (non-agent) are running to trigger automatic exit. `HOST_PROC` is taken into account when gathering processes. Feature is only supported on POSIX systems." - }, - { - "parameter": "enabled", - "env_variable": "DD_AUTO_EXIT_NOPROCESS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enable the `noprocess` method" - }, - { - "parameter": "excluded_processes", - "env_variable": "DD_AUTO_EXIT_NOPROCESS_EXCLUDED_PROCESSES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "List of regular expressions to exclude extra processes (on top of built-in list)." - }, - { - "parameter": "validation_period", - "env_variable": "DD_AUTO_EXIT_VALIDATION_PERIOD", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Basic Configuration", - "description": "Time (in seconds) delay during which the auto exit validates that the selected method continuously detects an exit condition, before exiting. The value is verified every 30s. By default, three consecutive checks need to return true to trigger an automatic exit." - }, - { - "parameter": "fips", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Uncomment this parameter and the one below to enable them." - }, - { - "parameter": "enabled", - "env_variable": "DD_FIPS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "This feature is in BETA. Enable the use of the FIPS proxy to send data to the DataDog backend. Enabling this will force all outgoing traffic from the Agent to the local proxy. It's important to note that enabling this will not make the Datadog Agent FIPS compliant, but will force all outgoing traffic to a local FIPS compliant proxy. The FIPS proxy need to be installed locally in addition to the agent. When setting this to true the following settings would be overridden, ignoring the values from the configuration: - dd_url - apm_config.apm_dd_url - apm_config.profiling_dd_url - apm_config.telemetry.dd_url - process_config.process_dd_url - logs_config.use_http - logs_config.logs_no_ssl - logs_config.logs_dd_url - database_monitoring.metrics.dd_url - database_monitoring.activity.dd_url - database_monitoring.samples.dd_url - compliance_config.endpoints.dd_url - runtime_security_config.endpoints.dd_url - network_devices.metadata.dd_url The agent will also ignore 'proxy.*' settings and environment variables related to proxy (HTTP_PROXY, HTTPS_PROXY, DD_PROXY_HTTP and DD_PROXY_HTTPS)." - }, - { - "parameter": "local_address", - "env_variable": "DD_FIPS_LOCAL_ADDRESS", - "type": "string", - "required": "Optional", - "default": "localhost", - "section": "Basic Configuration", - "description": "The local address that the FIPS proxy will bind ports on." - }, - { - "parameter": "observability_pipelines_worker", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Configuration for forwarding telemetry to an Observability Pipelines Worker instead of Datadog. https://www.datadoghq.com/product/observability-pipelines/ Note: This config is interchangeable with `vector`" - }, - { - "parameter": "metrics", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Specific configurations for metrics" - }, - { - "parameter": "enabled", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_METRICS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enables forwarding of metrics to an Observability Pipelines Worker" - }, - { - "parameter": "url", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_METRICS_URL", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Basic Configuration", - "description": "URL endpoint for the Observability Pipelines Worker to send metrics to" - }, - { - "parameter": "logs", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Specific configurations for logs" - }, - { - "parameter": "enabled", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enables forwarding of logs to an Observability Pipelines Worker" - }, - { - "parameter": "url", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_URL", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Basic Configuration", - "description": "URL endpoint for the Observability Pipelines Worker to send logs to" - }, - { - "parameter": "traces", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Basic Configuration", - "description": "Specific configurations for traces" - }, - { - "parameter": "enabled", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_TRACES_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Basic Configuration", - "description": "Enables forwarding of traces to an Observability Pipelines Worker" - }, - { - "parameter": "url", - "env_variable": "DD_OBSERVABILITY_PIPELINES_WORKER_TRACES_URL", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Basic Configuration", - "description": "URL endpoint for the Observability Pipelines Worker to send traces to" - }, - { - "parameter": "confd_path", - "env_variable": "DD_CONFD_PATH", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "The path containing check configuration files. By default, uses the conf.d folder located in the Agent configuration folder." - }, - { - "parameter": "additional_checksd", - "env_variable": "DD_ADDITIONAL_CHECKSD", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Additional path indicating where to search for Python checks. By default, uses the checks.d folder located in the Agent configuration folder." - }, - { - "parameter": "expvar_port", - "env_variable": "DD_EXPVAR_PORT", - "type": "integer", - "required": "Optional", - "default": "5000", - "section": "Advanced Configuration", - "description": "The port for the go_expvar server." - }, - { - "parameter": "cmd_port", - "env_variable": "DD_CMD_PORT", - "type": "integer", - "required": "Optional", - "default": "5001", - "section": "Advanced Configuration", - "description": "The port on which the IPC api listens." - }, - { - "parameter": "GUI_port", - "env_variable": "DD_GUI_PORT", - "type": "integer", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "The port for the browser GUI to be served. Setting 'GUI_port: -1' turns off the GUI completely Default is: * Windows & macOS : `5002` * Linux: `-1`" - }, - { - "parameter": "GUI_session_expiration", - "env_variable": "GUI_SESSION_EXPIRATION", - "type": "duration", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "The duration after which a GUI session will expire. Setting 'GUI_SESSION_EXPIRATION: 0' disable session expiration. Default is \"0s\" (sessions do not expire)." - }, - { - "parameter": "health_port", - "env_variable": "DD_HEALTH_PORT", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "Advanced Configuration", - "description": "The Agent can expose its health check on a dedicated http port. This is useful for orchestrators that support http probes. Default is 0 (disabled), set a valid port number (eg. 5555) to enable." - }, - { - "parameter": "check_runners", - "env_variable": "DD_CHECK_RUNNERS", - "type": "integer", - "required": "Optional", - "default": "4", - "section": "Advanced Configuration", - "description": "The `check_runners` refers to the number of concurrent check runners available for check instance execution. The scheduler attempts to spread the instances over the collection interval and will _at most_ be running the number of check runners instances concurrently. Setting the value to 1 would result in checks running sequentially. This is a sensitive setting, and we do NOT recommend changing the default number of check runners in the general case. The level of concurrency has effects on the Agent's: RSS memory, CPU load, resource contention overhead, etc." - }, - { - "parameter": "enable_metadata_collection", - "env_variable": "DD_ENABLE_METADATA_COLLECTION", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Advanced Configuration", - "description": "Metadata collection should always be enabled, except if you are running several agents/dsd instances per host. In that case, only one Agent should have it on. WARNING: disabling it on every Agent leads to display and billing issues." - }, - { - "parameter": "enable_gohai", - "env_variable": "DD_ENABLE_GOHAI", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Advanced Configuration", - "description": "Enable the gohai collection of systems data." - }, - { - "parameter": "enable_signing_metadata_collection", - "env_variable": "DD_ENABLE_SIGNING_METADATA_COLLECTION", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Advanced Configuration", - "description": "Enable the Linux package signing medatada collection." - }, - { - "parameter": "server_timeout", - "env_variable": "DD_SERVER_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "30", - "section": "Advanced Configuration", - "description": "IPC api server timeout in seconds." - }, - { - "parameter": "procfs_path", - "env_variable": "DD_PROCFS_PATH", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Some environments may have the procfs file system mounted in a miscellaneous location. The procfs_path configuration parameter provides a mechanism to override the standard default location: '/proc' - this setting trickles down to integrations and affect their behavior if they rely on the psutil python package." - }, - { - "parameter": "disable_py3_validation", - "env_variable": "DD_DISABLE_PY3_VALIDATION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "Disable Python3 validation of python checks." - }, - { - "parameter": "python3_linter_timeout", - "env_variable": "DD_PYTHON3_LINTER_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "120", - "section": "Advanced Configuration", - "description": "Timeout in seconds for validation of compatibility with python 3 when running python 2." - }, - { - "parameter": "memtrack_enabled", - "env_variable": "DD_MEMTRACK_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Advanced Configuration", - "description": "Enables tracking of memory allocations made from the python runtime loader." - }, - { - "parameter": "tracemalloc_debug", - "env_variable": "DD_TRACEMALLOC_DEBUG", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "Enables debugging with tracemalloc for python checks. Please note that when this option is enabled the number of check runners is overridden to 1." - }, - { - "parameter": "tracemalloc_include", - "env_variable": "DD_TRACEMALLOC_INCLUDE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Comma-separated list of Python checks to enable tracemalloc for when `tracemalloc_debug` is true. By default, all Python checks are enabled." - }, - { - "parameter": "tracemalloc_exclude", - "env_variable": "DD_TRACEMALLOC_EXCLUDE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Comma-separated list of Python checks to disable tracemalloc for when `tracemalloc_debug` is true. By default, all Python checks are enabled. This setting takes precedence over `tracemalloc_include`." - }, - { - "parameter": "windows_use_pythonpath", - "env_variable": "DD_WINDOWS_USE_PYTHONPATH", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Whether to honour the value of the PYTHONPATH env var when set on Windows. Disabled by default, so we only load Python libraries bundled with the Agent." - }, - { - "parameter": "secret_backend_type", - "env_variable": "DD_SECRET_BACKEND_TYPE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "`secret_backend_type` is the type of backend where secrets are stored. Supported backends are: \"aws.secrets\", \"aws.ssm\", \"azure.keyvault\", \"hashicorp.vault\", \"file.json\", \"file.yaml\" For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management This option is ignored if 'secret_backend_command' is set." - }, - { - "parameter": "secret_backend_config", - "env_variable": "DD_SECRET_BACKEND_CONFIG", - "type": "map", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "The section contains configuration required by `secret_backend_type` to resolve secrets. The necessary configuration depends upon which type is used. For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management" - }, - { - "parameter": "secret_backend_command", - "env_variable": "DD_SECRET_BACKEND_COMMAND", - "type": "string", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "`secret_backend_command` is the path to your custom script to execute to fetch secrets. The executable must have specific rights that differ on Windows and Linux. This option take precedence over `secret_backend_type`. For more information see: https://docs.datadoghq.com/agent/configuration/secrets-management" - }, - { - "parameter": "secret_backend_arguments", - "env_variable": "DD_SECRET_BACKEND_ARGUMENTS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "If secret_backend_command is set, specify here a list of arguments to give to the command at each run. This option take precedence over `secret_backend_type`." - }, - { - "parameter": "secret_backend_output_max_size", - "env_variable": "DD_SECRET_BACKEND_OUTPUT_MAX_SIZE", - "type": "integer", - "required": "Optional", - "default": "1048576", - "section": "Advanced Configuration", - "description": "The size in bytes of the buffer used to store the command answer (apply to both stdout and stderr)" - }, - { - "parameter": "secret_backend_timeout", - "env_variable": "DD_SECRET_BACKEND_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "30", - "section": "Advanced Configuration", - "description": "The timeout to execute the command in second" - }, - { - "parameter": "secret_backend_skip_checks", - "env_variable": "DD_SECRET_BACKEND_SKIP_CHECKS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "Disable fetching secrets for check configurations" - }, - { - "parameter": "secret_backend_remove_trailing_line_break", - "env_variable": "DD_SECRET_BACKEND_REMOVE_TRAILING_LINE_BREAK", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "Remove trailing line breaks from secrets returned by the secret_backend_command. Some secret management tools automatically add a line break when exporting secrets through files." - }, - { - "parameter": "secret_scope_integration_to_their_k8s_namespace", - "env_variable": "DD_SECRET_SCOPE_INTEGRATION_TO_THEIR_NAMESPACE", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can limit integration to only be able to access their own namespace by setting this setting to true. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_allowed_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." - }, - { - "parameter": "secret_allowed_k8s_namespace", - "env_variable": "DD_SECRET_ALLOWED_K8S_NAMESPACE", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Advanced Configuration", - "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can limit all integrations to only be able to access a list of specific namespace. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_scope_integration_to_their_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." - }, - { - "parameter": "secret_image_to_handle", - "env_variable": "DD_SECRET_IMAGE_TO_HANDLE", - "type": "map of list of strings", - "required": "Optional", - "default": "{}", - "section": "Advanced Configuration", - "description": "When using `k8s_secret@` notation to pull secrets from Kubernetes, you can fully control which Kubernetes secret can be access by which image. Any secrets using the `k8s_secret@` prefix not listed for the image being monitored will not be resolved. The limitation will only apply integration's config and secret using `k8s_secret@` secrets. This setting is incompatible with 'secret_scope_integration_to_their_k8s_namespace' and 'secret_image_to_handle' See https://docs.datadoghq.com/agent/configuration/secrets-management for more information on using Kubernetes secrets in your configuration." - }, - { - "parameter": "profiling", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Advanced Configuration", - "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." - }, - { - "parameter": "enabled", - "env_variable": "DD_INTERNAL_PROFILING_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Advanced Configuration", - "description": "Enable internal profiling for the Agent process." - }, - { - "parameter": "system_tray", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Datadog Agent Manager System Tray Configuration", - "description": "This section configures the Datadog Agent Manager System Tray" - }, - { - "parameter": "log_file", - "env_variable": "DD_TRAY_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "%ProgramData%\\Datadog\\logs\\ddtray.log", - "section": "Datadog Agent Manager System Tray Configuration", - "description": "The full path to the file where Datadog Agent Manager System Tray logs are written." - }, - { - "parameter": "logs_enabled", - "env_variable": "DD_LOGS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "Enable Datadog Agent log collection by setting logs_enabled to true." - }, - { - "parameter": "logs_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Log collection Configuration", - "description": "Enter specific configurations for your Log collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/logs/" - }, - { - "parameter": "container_collect_all", - "env_variable": "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "Enable container log collection for all the containers (see ac_exclude to filter out containers)" - }, - { - "parameter": "logs_dd_url", - "env_variable": "DD_LOGS_CONFIG_LOGS_DD_URL", - "type": "string", - "required": "Optional", - "default": "", - "section": "Log collection Configuration", - "description": "Define the endpoint and port to hit when using a proxy for logs. As of agent version 7.70.0, proxy paths are supported. To forward logs to a specific proxy path, the URL scheme must be specified: https://proxy.example.com:443/logs" - }, - { - "parameter": "logs_no_ssl", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "@env DD_LOGS_CONFIG_LOGS_NO_SSL - optional - default: false Disable the SSL encryption. This parameter should only be used when logs are forwarded locally to a proxy. It is highly recommended to then handle the SSL encryption on the proxy side." - }, - { - "parameter": "processing_rules", - "env_variable": "DD_LOGS_CONFIG_PROCESSING_RULES", - "type": "list of custom objects", - "required": "Optional", - "default": "", - "section": "Log collection Configuration", - "description": "Global processing rules that are applied to all logs. The available rules are \"exclude_at_match\", \"include_at_match\" and \"mask_sequences\". More information in Datadog documentation: https://docs.datadoghq.com/agent/logs/advanced_log_collection/#global-processing-rules" - }, - { - "parameter": "auto_multi_line_detection", - "env_variable": "DD_LOGS_CONFIG_AUTO_MULTI_LINE_DETECTION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "Enable automatic aggregation of multi-line logs for common log patterns. More information can be found in Datadog documentation: https://docs.datadoghq.com/agent/logs/auto_multiline_detection/?tab=configurationfile" - }, - { - "parameter": "force_use_http", - "env_variable": "DD_LOGS_CONFIG_FORCE_USE_HTTP", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "Set this parameter to `true` to always send logs via HTTP(S) protocol and never fall back to raw TCP forwarding (recommended). By default, the Agent sends logs in HTTPS batches if HTTPS connectivity can be established at Agent startup, and falls back to TCP otherwise. This parameter can be used to override this fallback behavior. It is recommended, but not the default, to maintain compatibility with previous Agent versions. Note, the logs are forwarded via HTTPS (encrypted) by default. Please use `logs_no_ssl` if you need unencrypted HTTP instead." - }, - { - "parameter": "http_protocol", - "env_variable": "DD_LOGS_CONFIG_HTTP_PROTOCOL", - "type": "string", - "required": "Optional", - "default": "auto", - "section": "Log collection Configuration", - "description": "The transport type to use for sending logs. Possible values are \"auto\" or \"http1\"." - }, - { - "parameter": "http_timeout", - "env_variable": "DD_LOGS_CONFIG_HTTP_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Log collection Configuration", - "description": "The HTTP timeout to use for sending logs, in seconds." - }, - { - "parameter": "force_use_tcp", - "env_variable": "DD_LOGS_CONFIG_FORCE_USE_TCP", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "By default, logs are sent via HTTP protocol if possible, set this parameter to `true` to always send logs via TCP. If `force_use_http` is set to `true`, this parameter is ignored." - }, - { - "parameter": "use_compression", - "env_variable": "DD_LOGS_CONFIG_USE_COMPRESSION", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Log collection Configuration", - "description": "This parameter is available when sending logs via HTTP protocol. If enabled, the Agent compresses logs before sending them." - }, - { - "parameter": "compression_level", - "env_variable": "DD_LOGS_CONFIG_COMPRESSION_LEVEL", - "type": "integer", - "required": "Optional", - "default": "6", - "section": "Log collection Configuration", - "description": "The compression_level parameter accepts values from 0 (no compression) to 9 (maximum compression but higher resource usage). Only takes effect if `use_compression` is set to `true`." - }, - { - "parameter": "batch_wait", - "env_variable": "DD_LOGS_CONFIG_BATCH_WAIT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Log collection Configuration", - "description": "The maximum time (in seconds) the Datadog Agent waits to fill each batch of logs before sending." - }, - { - "parameter": "close_timeout", - "env_variable": "DD_LOGS_CONFIG_CLOSE_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Log collection Configuration", - "description": "The maximum number of seconds the Agent spends reading from a file after it has been rotated." - }, - { - "parameter": "open_files_limit", - "env_variable": "DD_LOGS_CONFIG_OPEN_FILES_LIMIT", - "type": "integer", - "required": "Optional", - "default": "500", - "section": "Log collection Configuration", - "description": "The maximum number of files that can be tailed in parallel. Note: the default for Mac OS is 200. The default for all other systems is 500." - }, - { - "parameter": "file_wildcard_selection_mode", - "env_variable": "DD_LOGS_CONFIG_FILE_WILDCARD_SELECTION_MODE", - "type": "string", - "required": "Optional", - "default": "`by_name`", - "section": "Log collection Configuration", - "description": "The strategy used to prioritize wildcard matches if they exceed the open file limit. Choices are `by_name` and `by_modification_time`. `by_name` means that each log source is considered and the matching files are ordered in reverse name order. While there are less than `logs_config.open_files_limit` files being tailed, this process repeats, collecting from each configured source. `by_modification_time` takes all log sources and first adds any log sources that point to a specific file. Next, it finds matches for all wildcard sources. This resulting list is ordered by which files have been most recently modified and the top `logs_config.open_files_limit` most recently modified files are chosen for tailing. WARNING: `by_modification_time` is less performant than `by_name` and will trigger more disk I/O at the configured wildcard log paths." - }, - { - "parameter": "max_message_size_bytes", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "900000", - "section": "Log collection Configuration", - "description": "@env DD_LOGS_CONFIG_MAX_MESSAGE_SIZE_BYTES - integer - optional - default : 900000 The maximum size of single log message in bytes. Lines that are longer than this limit are split into multiple line where each long line that is split has `...TRUNCATED...` added as a suffix and each line that was created from a split of a previous line has `...TRUNCATED...` added as a prefix. Note: Datadog's ingest API truncates any logs greater than 1 MB by discarding the remainder. See https://docs.datadoghq.com/api/latest/logs/ for details." - }, - { - "parameter": "integrations_logs_files_max_size", - "env_variable": "DD_LOGS_CONFIG_INTEGRATIONS_LOGS_FILES_MAX_SIZE", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Log collection Configuration", - "description": "The max size in MB that an integration logs file is allowed to use" - }, - { - "parameter": "integrations_logs_total_usage", - "env_variable": "DD_LOGS_CONFIG_INTEGRATIONS_LOGS_TOTAL_USAGE", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Log collection Configuration", - "description": "The total combined usage all integrations logs files can use" - }, - { - "parameter": "k8s_container_use_kubelet_api", - "env_variable": "DD_LOGS_CONFIG_K8S_CONTAINER_USE_KUBELET_API", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Log collection Configuration", - "description": "Enable container log collection via the kubelet API, typically used for EKS Fargate" - }, - { - "parameter": "streaming", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Log collection Configuration", - "description": "This section allows you to configure streaming logs via remote config." - }, - { - "parameter": "streamlogs_log_file", - "env_variable": "DD_LOGS_CONFIG_STREAMING_STREAMLOGS_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Log collection Configuration", - "description": "Path to the file containing the streamlogs log file. Default paths: * Windows: c:\\\\programdata\\\\datadog\\\\logs\\\\streamlogs_info\\\\streamlogs.log * Unix: /opt/log/datadog/streamlogs_info/streamlogs.log * Linux: /var/log/datadog/streamlogs_info/streamlogs.log" - }, - { - "parameter": "apm_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enter specific configurations for your trace collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/apm/" - }, - { - "parameter": "enabled", - "env_variable": "DD_APM_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Trace Collection Configuration", - "description": "Set to true to enable the APM Agent." - }, - { - "parameter": "env", - "env_variable": "DD_APM_ENV", - "type": "string", - "required": "Optional", - "default": "none", - "section": "Trace Collection Configuration", - "description": "The environment tag that Traces should be tagged with. If not set the value will be inherited, in order, from the top level \"env\" config option if set and then from the 'env:' tag if present in the 'tags' top level config option." - }, - { - "parameter": "receiver_port", - "env_variable": "DD_APM_RECEIVER_PORT", - "type": "integer", - "required": "Optional", - "default": "8126", - "section": "Trace Collection Configuration", - "description": "The port that the trace receiver should listen on. Set to 0 to disable the HTTP receiver." - }, - { - "parameter": "receiver_socket", - "env_variable": "DD_APM_RECEIVER_SOCKET", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Trace Collection Configuration", - "description": "Accept traces through Unix Domain Sockets. Set to \"\" to disable the UDS receiver." - }, - { - "parameter": "receiver_socket", - "env_variable": "DD_APM_RECEIVER_SOCKET", - "type": "string", - "required": "Optional", - "default": "unix:///var/run/datadog/apm.socket", - "section": "Trace Collection Configuration", - "description": "Accept traces through Unix Domain Sockets. Set to \"\" to disable the UDS receiver." - }, - { - "parameter": "apm_non_local_traffic", - "env_variable": "DD_APM_NON_LOCAL_TRAFFIC", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Trace Collection Configuration", - "description": "Set to true so the Trace Agent listens for non local traffic, i.e if Traces are being sent to this Agent from another host/container" - }, - { - "parameter": "apm_dd_url", - "env_variable": "DD_APM_DD_URL", - "type": "string", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Define the endpoint and port to hit when using a proxy for APM. The traces are forwarded in TCP therefore the proxy must be able to handle TCP connections." - }, - { - "parameter": "max_traces_per_second", - "env_variable": "DD_APM_MAX_TPS", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Trace Collection Configuration", - "description": "The target traces per second to sample. Sampling rates to apply are adjusted given the received traffic and communicated to tracers. This configures head base sampling. As of 7.35.0 sampling cannot be disabled and setting 'max_traces_per_second' to 0 no longer disables sampling, but instead sends no traces to the intake. To avoid rate limiting, set this value sufficiently high for your traffic pattern." - }, - { - "parameter": "target_traces_per_second", - "env_variable": "DD_APM_TARGET_TPS", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Trace Collection Configuration", - "description": "The target traces per second to sample. Sampling rates to apply are adjusted given the received traffic and communicated to tracers. This configures head-based sampling. As of 7.35.0 sampling cannot be disabled and setting 'max_traces_per_second' to 0 no longer disables sampling, but instead sends no traces to the intake. To avoid rate limiting, set this value sufficiently high for your traffic pattern." - }, - { - "parameter": "errors_per_second", - "env_variable": "DD_APM_ERROR_TPS", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Trace Collection Configuration", - "description": "The target error trace chunks to receive per second. The TPS is spread to catch all combinations of service, name, resource, http.status, and error.type. Set to 0 to disable the errors sampler." - }, - { - "parameter": "max_events_per_second", - "env_variable": "DD_APM_MAX_EPS", - "type": "integer", - "required": "Optional", - "default": "200", - "section": "Trace Collection Configuration", - "description": "Maximum number of APM events per second to sample." - }, - { - "parameter": "max_memory", - "env_variable": "DD_APM_MAX_MEMORY", - "type": "integer", - "required": "Optional", - "default": "500000000", - "section": "Trace Collection Configuration", - "description": "This value is what the Agent aims to use in terms of memory. If surpassed, the API rate limits incoming requests to aim and stay below this value. Note: The Agent process is killed if it uses more than 150% of `max_memory`. Set the `max_memory` parameter to `0` to disable the memory limitation." - }, - { - "parameter": "max_cpu_percent", - "env_variable": "DD_APM_MAX_CPU_PERCENT", - "type": "integer", - "required": "Optional", - "default": "50", - "section": "Trace Collection Configuration", - "description": "The CPU percentage that the Agent aims to use. If surpassed, the API rate limits incoming requests to aim and stay below this value. Examples: 50 = half a core, 200 = two cores. Set `max_cpu_percent` to `0` to disable rate limiting based on CPU usage." - }, - { - "parameter": "obfuscation", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Defines obfuscation rules for sensitive data. See https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/#agent-trace-obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for credit cards. Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_LUHN", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables a Luhn checksum check in order to eliminate false negatives. Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_CREDIT_CARDS_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"elasticsearch\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_ELASTICSEARCH_OBFUSCATE_SQL_VALUES", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The set of keys for which their values will be passed through SQL obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"opensearch\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_OPENSEARCH_OBFUSCATE_SQL_VALUES", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The set of keys for which their values will be passed through SQL obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_HTTP_REMOVE_QUERY_STRING", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation of query strings in URLs" - }, - { - "parameter": "DD_APM_OBFUSCATION_HTTP_REMOVE_PATHS_WITH_DIGITS", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "If enabled, path segments in URLs containing digits are replaced by \"?\"" - }, - { - "parameter": "DD_APM_OBFUSCATION_MEMCACHED_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"memcached\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_MEMCACHED_KEEP_COMMAND", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "If enabled, the full command for the query will be kept, including any lookup keys that could be present. The value for storage commands will still be redacted if Memcached obfuscation is enabled." - }, - { - "parameter": "DD_APM_OBFUSCATION_MONGODB_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"mongodb\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_MONGODB_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_MONGODB_OBFUSCATE_SQL_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The set of keys for which their values will be passed through SQL obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_REDIS_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"redis\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_REDIS_REMOVE_ALL_ARGS", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "When true, replaces all arguments of a redis command with a single \"?\". Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_VALKEY_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for spans of type \"valkey\". Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_VALKEY_REMOVE_ALL_ARGS", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "When true, replaces all arguments of a valkey command with a single \"?\". Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_REMOVE_STACK_TRACES", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables removing stack traces to replace them with \"?\". Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for JSON query execution plans. Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_OBFUSCATE_SQL_VALUES", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The set of keys for which their values will be passed through SQL obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables obfuscation rules for JSON query execution plans, including cost and row estimates. Produces a normalized execution plan. Disabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_KEEP_VALUES", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "List of keys that should not be obfuscated." - }, - { - "parameter": "DD_APM_OBFUSCATION_SQL_EXEC_PLAN_NORMALIZE_OBFUSCATE_SQL_VALUES", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The set of keys for which their values will be passed through SQL obfuscation" - }, - { - "parameter": "DD_APM_OBFUSCATION_CACHE_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables caching obfuscated statements. Currently supported for SQL and MongoDB queries. Enabled by default." - }, - { - "parameter": "DD_APM_OBFUSCATION_CACHE_MAX_SIZE", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5000000", - "section": "Trace Collection Configuration", - "description": "The maximum size of the cache in bytes. The maximum allowed resource length is 5000. Datadog stores a minimum of 1000 queries (5000000 / 5000) by default." - }, - { - "parameter": "apm_sql_obfuscation_mode", - "env_variable": "DD_APM_SQL_OBFUSCATION_MODE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Trace Collection Configuration", - "description": "Obfuscator mode for SQL queries. Leave empty to use the default obfuscator. Set to \"obfuscate_only\" to obfuscate the query with the new `sqllexer` obfuscator. Set to \"normalize_only\" to normalize the query with the new `sqllexer` obfuscator. If you use DBM, set to \"obfuscate_and_normalize\" to obfuscate and normalize the query for better APM/DBM correlation." - }, - { - "parameter": "filter_tags", - "env_variable": "DD_APM_FILTER_TAGS_REQUIRE, DD_APM_FILTER_TAGS_REJECT", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Defines rules by which to filter traces based on tags. * require - list of key or key/value strings - traces must have those tags in order to be sent to Datadog * reject - list of key or key/value strings - traces with these tags are dropped by the Agent Please note that: 1. Rules take into account the intersection of tags defined. 2. When `filter_tags` and `filter_tags_regex` are used at the same time, all rules are united for filtering. In cases where rules in `filter_tags` and `filter_tags_regex` match the same key, the rule from `filter_tags` takes precendence over the rule from `filter_tags_regex`. For example, in the case of the following configuration: filter_tags: require: [\"foo:bar\"] filter_tags_regex: require: [\"foo:^bar[0-9]{1}$\"] With these rules, traces with a tag `foo:bar1` will be dropped, and those with a `foo:bar` tag will be kept" - }, - { - "parameter": "filter_tags_regex", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Defines rules by which to filter traces based on tags with regex pattern for tag values. * require - list of key or key/value regex pattern strings - traces must have those tags in order to be sent to Datadog * reject - list of key or key/value regex pattern strings - traces with these tags are dropped by the Agent Note: Rules take into account the intersection of tags defined. Using regexp patterns for tag filtering can have performance implications, and is slower than typical tag filtering without regexp. However, this regexp is only run on the root span of a trace, so should not have a critical impact on overall performance. More detailed information can be found in the description of the `filter_tags` parameter above" - }, - { - "parameter": "replace_tags", - "env_variable": "DD_APM_REPLACE_TAGS", - "type": "list of objects", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Defines a set of rules to replace or remove certain resources, tags containing potentially sensitive information. Each rules has to contain: * name - string - The tag name to replace, for resources use \"resource.name\". * pattern - string - The pattern to match the desired content to replace * repl - string - what to inline if the pattern is matched See https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/#replace-rules-for-tag-filtering" - }, - { - "parameter": "ignore_resources", - "env_variable": "DD_APM_IGNORE_RESOURCES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "An exclusion list of regular expressions can be provided to disable certain traces based on their resource name all entries must be surrounded by double quotes and separated by commas." - }, - { - "parameter": "log_file", - "env_variable": "DD_APM_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "The full path to the file where APM-agent logs are written." - }, - { - "parameter": "peer_tags", - "env_variable": "DD_APM_PEER_TAGS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Optional list of supplementary peer tags that go beyond the defaults. The Datadog backend validates all tags and will drop ones that are unapproved." - }, - { - "parameter": "features", - "env_variable": "DD_APM_FEATURES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Configure additional beta APM features. The list of items available under apm_config.features is not guaranteed to persist across versions; a feature may eventually be promoted to its own configuration option on the agent, or dropped entirely." - }, - { - "parameter": "additional_endpoints", - "env_variable": "DD_APM_ADDITIONAL_ENDPOINTS", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables sending data to multiple endpoints and/or with multiple API keys via dual shipping. See https://docs.datadoghq.com/agent/guide/dual-shipping" - }, - { - "parameter": "debug", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Specifies settings for the debug server of the trace agent." - }, - { - "parameter": "port", - "env_variable": "DD_APM_DEBUG_PORT", - "type": "integer", - "required": "Optional", - "default": "5012", - "section": "Trace Collection Configuration", - "description": "Port for the debug endpoints for the trace Agent. Set it to 0 to disable the server." - }, - { - "parameter": "instrumentation", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Specifies settings for Single Step Instrumentation." - }, - { - "parameter": "enabled_namespaces", - "env_variable": "DD_APM_INSTRUMENTATION_ENABLED_NAMESPACES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables Single Step Instrumentation in specific namespaces, while Single Step Instrumentation is off in the whole cluster (in beta) Can only be set if DD_APM_INSTRUMENTATION_ENABLED is false. Cannot be set together with DD_APM_INSTRUMENTATION_DISABLED_NAMESPACES." - }, - { - "parameter": "disabled_namespaces", - "env_variable": "DD_APM_INSTRUMENTATION_DISABLED_NAMESPACES", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Disables Single Step Instrumentation in specific namespaces, while Single Step Instrumentation is enabled in the whole cluster (in beta) Can only be set if DD_APM_INSTRUMENTATION_ENABLED is true. Cannot be set together with DD_APM_INSTRUMENTATION_ENABLED_NAMESPACES." - }, - { - "parameter": "trace_buffer", - "env_variable": "DD_APM_TRACE_BUFFER", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "Trace Collection Configuration", - "description": "WARNING: Do not use this config. It is here for debugging and as a temporary fix in certain load scenarios. Setting this results in a performance deterioration and an increase in memory usage when the Trace Agent is under load. This config may be removed in a future version. Specifies the number of trace payloads to buffer after decoding. Traces can be buffered when receiving traces faster than the processor can process them." - }, - { - "parameter": "probabilistic_sampler", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables and configures the Probabilistic Sampler, compatible with the OTel Probabilistic Sampler Processor ( https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor#probabilistic-sampling-processor )" - }, - { - "parameter": "apm_probabilistic_sampler_enabled", - "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Trace Collection Configuration", - "description": "Enables or disables the probabilistic sampler" - }, - { - "parameter": "apm_probabilistic_sampler_sampling_percentage", - "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_SAMPLING_PERCENTAGE", - "type": "float", - "required": "Optional", - "default": "0", - "section": "Trace Collection Configuration", - "description": "Samples this percentage (0-100) of traffic" - }, - { - "parameter": "apm_probabilistic_sampler_hash_seed", - "env_variable": "DD_APM_PROBABILISTIC_SAMPLER_HASH_SEED", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "Trace Collection Configuration", - "description": "hash_seed: A seed used for the hash algorithm. This must match other agents and OTel collectors using the probabilistic sampler to ensure consistent sampling." - }, - { - "parameter": "error_tracking_standalone", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enables Error Tracking Standalone" - }, - { - "parameter": "enabled", - "env_variable": "DD_APM_ERROR_TRACKING_STANDALONE_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Trace Collection Configuration", - "description": "Enables or disables Error Tracking Standalone" - }, - { - "parameter": "profiling_receiver_timeout", - "env_variable": "DD_APM_PROFILING_RECEIVER_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Trace Collection Configuration", - "description": "The timeout in seconds for receiving profile upload requests from client applications. This timeout applies to the HTTP request timeout for profile uploads to the agent. Increase this value if you experience timeouts with large profile uploads." - }, - { - "parameter": "additional_profile_tags", - "env_variable": "DD_APM_ADDITIONAL_PROFILE_TAGS", - "type": "map of strings", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Additional tags to add to all profiles. These tags are added on the agent side before forwarding profiles to Datadog. This is useful for environment-identifying tags that should be applied to all profiles (e.g., origin). Note: For Azure App Service in Windows, this configuration is set in the AAS Site Extension. Overriding the default tags in AAS Windows should be done with reference to https://datadoghq.atlassian.net/wiki/spaces/SLS/pages/6007685143/Profiling. additional_profile_tags: _dd.origin: appservice : " - }, - { - "parameter": "profiling", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Trace Collection Configuration", - "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." - }, - { - "parameter": "enabled", - "env_variable": "DD_INTERNAL_PROFILING_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Trace Collection Configuration", - "description": "Enable internal profiling for the trace-agent process." - }, - { - "parameter": "process_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Enter specific configurations for your Process data collection. Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/graphing/infrastructure/process/" - }, - { - "parameter": "process_collection", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Specifies settings for collecting processes." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Process Collection Configuration", - "description": "Enables collection of information about running processes." - }, - { - "parameter": "container_collection", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Specifies settings for collecting containers." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Process Collection Configuration", - "description": "Enables collection of information about running containers." - }, - { - "parameter": "enabled", - "env_variable": "DD_PROCESS_CONFIG_ENABLED", - "type": "string", - "required": "Optional", - "default": "\"false\"", - "section": "Process Collection Configuration", - "description": "A string indicating the enabled state of the Process Agent: * \"false\" : The Agent collects only containers information. * \"true\" : The Agent collects containers and processes information. * \"disabled\" : The Agent process collection is disabled." - }, - { - "parameter": "expvar_port", - "env_variable": "DD_PROCESS_CONFIG_EXPVAR_PORT", - "type": "string", - "required": "Optional", - "default": "6062", - "section": "Process Collection Configuration", - "description": "Port for the debug endpoints for the process Agent." - }, - { - "parameter": "cmd_port", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "6162", - "section": "Process Collection Configuration", - "description": "Port for configuring runtime settings for the process Agent." - }, - { - "parameter": "log_file", - "env_variable": "DD_PROCESS_CONFIG_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "The full path to the file where process Agent logs are written." - }, - { - "parameter": "intervals", - "env_variable": "DD_PROCESS_CONFIG_INTERVALS_CONTAINER, DD_PROCESS_CONFIG_INTERVALS_CONTAINER_REALTIME, DD_PROCESS_CONFIG_INTERVALS_PROCESS, DD_PROCESS_CONFIG_INTERVALS_PROCESS_REALTIME", - "type": "object", - "required": "Optional", - "default": "10s for normal checks and 2s for others.", - "section": "Process Collection Configuration", - "description": "The interval, in seconds, at which the Agent runs each check. If you want consistent behavior between real-time, set the `container_realtime` and `process_realtime` intervals to 10." - }, - { - "parameter": "process_discovery", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Specifies custom settings for the `process_discovery` object." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Process Collection Configuration", - "description": "Toggles the `process_discovery` check. If enabled, this check gathers information about running integrations." - }, - { - "parameter": "interval", - "env_variable": "", - "type": "duration", - "required": "Optional", - "default": "4h - minimum: 10m", - "section": "Process Collection Configuration", - "description": "An interval in hours that specifies how often the process discovery check should run." - }, - { - "parameter": "blacklist_patterns", - "env_variable": "DD_PROCESS_CONFIG_BLACKLIST_PATTERNS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "A list of regex patterns that exclude processes if matched." - }, - { - "parameter": "queue_size", - "env_variable": "DD_PROCESS_CONFIG_QUEUE_SIZE", - "type": "integer", - "required": "Optional", - "default": "256", - "section": "Process Collection Configuration", - "description": "The number of check results to buffer in memory when a POST fails." - }, - { - "parameter": "process_queue_bytes", - "env_variable": "DD_PROCESS_CONFIG_PROCESS_QUEUE_BYTES", - "type": "integer", - "required": "Optional", - "default": "60000000", - "section": "Process Collection Configuration", - "description": "The amount of data (in bytes) to buffer in memory when a POST fails." - }, - { - "parameter": "rt_queue_size", - "env_variable": "DD_PROCESS_CONFIG_RT_QUEUE_SIZE", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Process Collection Configuration", - "description": "The number of realtime check results to buffer in memory when a POST fails." - }, - { - "parameter": "max_per_message", - "env_variable": "DD_PROCESS_CONFIG_MAX_PER_MESSAGE", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Process Collection Configuration", - "description": "The maximum number of processes or containers per message." - }, - { - "parameter": "dd_agent_bin", - "env_variable": "DD_PROCESS_CONFIG_DD_AGENT_BIN", - "type": "string", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Overrides the path to the Agent bin used for getting the hostname. Defaults are: * Windows: \\embedded\\\\agent.exe * Unix: /opt/datadog-agent/bin/agent/agent" - }, - { - "parameter": "dd_agent_env", - "env_variable": "DD_PROCESS_CONFIG_DD_AGENT_ENV", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Process Collection Configuration", - "description": "Overrides of the environment we pass to fetch the hostname." - }, - { - "parameter": "scrub_args", - "env_variable": "DD_PROCESS_CONFIG_SCRUB_ARGS", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Process Collection Configuration", - "description": "Hide sensitive data on the Live Processes page." - }, - { - "parameter": "custom_sensitive_words", - "env_variable": "DD_PROCESS_CONFIG_CUSTOM_SENSITIVE_WORDS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Define your own list of sensitive data to be merged with the default one. Read more on Datadog documentation: https://docs.datadoghq.com/graphing/infrastructure/process/#process-arguments-scrubbing" - }, - { - "parameter": "disable_realtime_checks", - "env_variable": "DD_PROCESS_CONFIG_DISABLE_REALTIME", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Process Collection Configuration", - "description": "Disable realtime process and container checks" - }, - { - "parameter": "profiling", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Process Collection Configuration", - "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." - }, - { - "parameter": "enabled", - "env_variable": "DD_INTERNAL_PROFILING_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Process Collection Configuration", - "description": "Enable internal profiling for the Process Agent process." - }, - { - "parameter": "connections_monitoring", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Path Dynamic Test Configuration", - "description": "Configurations for Network Path Dynamic Test for monitoring network connections via Network Path." - }, - { - "parameter": "enabled", - "env_variable": "DD_NETWORK_PATH_CONNECTIONS_MONITORING_ENABLED", - "type": "bool", - "required": "Optional", - "default": "false", - "section": "Network Path Dynamic Test Configuration", - "description": "Enables Network Path Dynamic Test for monitoring network connections via Network Path." - }, - { - "parameter": "collector", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Path Dynamic Test Configuration", - "description": "Configuration related to Network Path Collector used for Network Path Dynamic Test to monitor network traffic connections on the host." - }, - { - "parameter": "workers", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_WORKERS", - "type": "integer", - "required": "Optional", - "default": "4", - "section": "Network Path Dynamic Test Configuration", - "description": "The number of concurrent workers available for network path execution." - }, - { - "parameter": "timeout", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Network Path Dynamic Test Configuration", - "description": "The timeout in milliseconds for a network path test." - }, - { - "parameter": "max_ttl", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_MAX_TTL", - "type": "integer", - "required": "Optional", - "default": "30", - "section": "Network Path Dynamic Test Configuration", - "description": "The maximum TTL (Time To Live) for traceroute tests." - }, - { - "parameter": "pathtest_ttl", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL", - "type": "string", - "required": "Optional", - "default": "70m", - "section": "Network Path Dynamic Test Configuration", - "description": "The duration (time-to-live) a connection will be monitored when it's not seen anymore. The TTL is reset each time the connection is seen again. With 30min interval, 70m will allow running a test 3 times (t0, t30, t60)." - }, - { - "parameter": "pathtest_interval", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL", - "type": "string", - "required": "Optional", - "default": "30m", - "section": "Network Path Dynamic Test Configuration", - "description": "The traceroute run interval for monitored connections." - }, - { - "parameter": "filters", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_FILTERS", - "type": "list of custom objects", - "required": "Optional", - "default": "", - "section": "Network Path Dynamic Test Configuration", - "description": "Custom filters to include or exclude specific destinations from network path collection. Filters support matching by domain (with wildcard or regex) and by IP address (single IP or CIDR notation). Filters are applied sequentially, the last matching filter takes precedence. In end_user_device infrastructure mode, user-defined filters are appended to the default SaaS filters below." - }, - { - "parameter": "traceroute_queries", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_TRACEROUTE_QUERIES", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "Network Path Dynamic Test Configuration", - "description": "The number of traceroute queries for static path tests." - }, - { - "parameter": "e2e_queries", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_E2E_QUERIES", - "type": "integer", - "required": "Optional", - "default": "50", - "section": "Network Path Dynamic Test Configuration", - "description": "The number of end-to-end queries for static path tests." - }, - { - "parameter": "input_chan_size", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_INPUT_CHAN_SIZE", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Network Path Dynamic Test Configuration", - "description": "The size of the input channel buffer." - }, - { - "parameter": "processing_chan_size", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_PROCESSING_CHAN_SIZE", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Network Path Dynamic Test Configuration", - "description": "The size of the processing channel buffer." - }, - { - "parameter": "pathtest_contexts_limit", - "env_variable": "DD_NETWORK_PATH_COLLECTOR_PATHTEST_CONTEXTS_LIMIT", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Network Path Dynamic Test Configuration", - "description": "The maximum number of pathtest contexts that can be maintained." - }, - { - "parameter": "synthetics", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Synthetics Configuration", - "description": "Enter specific configuration for Synthetics tests." - }, - { - "parameter": "collector", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Synthetics Configuration", - "description": "Configuration related to run Synthetics tests." - }, - { - "parameter": "enabled", - "env_variable": "DD_SYNTHETICS_COLLECTOR_ENABLED", - "type": "bool", - "required": "Optional", - "default": "false", - "section": "Synthetics Configuration", - "description": "[Preview] Enables Synthetics tests." - }, - { - "parameter": "workers", - "env_variable": "DD_SYNTHETICS_COLLECTOR_WORKERS", - "type": "integer", - "required": "Optional", - "default": "4", - "section": "Synthetics Configuration", - "description": "The `workers` refers to the number of concurrent workers available for synthetics tests execution." - }, - { - "parameter": "flush_interval", - "env_variable": "DD_SYNTHETICS_COLLECTOR_FLUSH_INTERVAL", - "type": "integer", - "required": "Optional", - "default": "10s", - "section": "Synthetics Configuration", - "description": "The `flush_interval` refers to the synthetics run interval for tests execution." - }, - { - "parameter": "compliance_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Compliance Configuration", - "description": "Enter specific configuration for continuous compliance checks." - }, - { - "parameter": "enabled", - "env_variable": "DD_COMPLIANCE_CONFIG_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Compliance Configuration", - "description": "Set to true to enable Cloud Security Posture Management (CSPM)." - }, - { - "parameter": "dir", - "env_variable": "DD_COMPLIANCE_CONFIG_DIR", - "type": "string", - "required": "Optional", - "default": "/etc/datadog-agent/compliance.d", - "section": "Security Agent Compliance Configuration", - "description": "Directory path for compliance checks configuration containing enabled benchmarks" - }, - { - "parameter": "check_interval", - "env_variable": "DD_COMPLIANCE_CONFIG_CHECK_INTERVAL", - "type": "duration", - "required": "Optional", - "default": "20m", - "section": "Security Agent Compliance Configuration", - "description": "Check interval (see https://golang.org/pkg/time/#ParseDuration for available options)" - }, - { - "parameter": "check_max_events_per_run", - "env_variable": "DD_COMPLIANCE_CONFIG_CHECK_MAX_EVENTS_PER_RUN", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Security Agent Compliance Configuration", - "description": "" - }, - { - "parameter": "sbom", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Compliance Configuration", - "description": "Enter specific configuration for the Cloud Security Management Vulnerability Management feature" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Compliance Configuration", - "description": "set to true to enable Cloud Security Management Vulnerability Management" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Compliance Configuration", - "description": "set to true to enable Infrastructure Vulnerabiltilies" - }, - { - "parameter": "system_probe_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Enter specific configurations for your System Probe data collection. Uncomment this parameter and the one below to enable them." - }, - { - "parameter": "sysprobe_socket", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", - "type": "string", - "required": "Optional", - "default": "localhost:3333", - "section": "System Probe Configuration", - "description": "The TCP address where system probes are accessed." - }, - { - "parameter": "sysprobe_socket", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", - "type": "string", - "required": "Optional", - "default": "/opt/datadog-agent/run/sysprobe.sock", - "section": "System Probe Configuration", - "description": "The full path to the location of the unix socket where system probes are accessed." - }, - { - "parameter": "log_file", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "/var/log/datadog/system-probe.log", - "section": "System Probe Configuration", - "description": "The full path to the file where system-probe logs are written." - }, - { - "parameter": "langauge_detection", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Enter specific configurations for language detection Uncomment this parameter and the one below to enable them." - }, - { - "parameter": "enabled", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_LANGUAGE_DETECTION_ENABLED", - "type": "bool", - "required": "Optional", - "default": "false", - "section": "System Probe Configuration", - "description": "[Beta] Enables language detection via binary analysis in the system probe." - }, - { - "parameter": "health_port", - "env_variable": "DD_SYSTEM_PROBE_HEALTH_PORT", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "System Probe Configuration", - "description": "The Agent can expose its health check on a dedicated HTTP port. This is useful for orchestrators that support HTTP probes. Default is 0 (disabled). Set a valid port number (example: 5558) to enable." - }, - { - "parameter": "profiling", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Enter specific configurations for internal profiling. Please note that: 1. This does *not* enable profiling for user applications. 2. This only enables internal profiling of the agent go runtime. 3. To enable profiling for user apps please refer to https://docs.datadoghq.com/tracing/profiling/ 4. Enabling this feature will incur in billing charges and other unexpected side-effects (ie. agent profiles showing with your services). Uncomment this parameter and the one below to enable profiling." - }, - { - "parameter": "enabled", - "env_variable": "DD_INTERNAL_PROFILING_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Configuration", - "description": "Enable internal profiling for the System Probe process." - }, - { - "parameter": "memory_controller", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Cgroup memory controller for internal memory profiling." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Configuration", - "description": "Enable cgroup memory controller." - }, - { - "parameter": "thresholds", - "env_variable": "", - "type": "map of strings", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Thresholds and the respective active actions to trigger when memory usage is above the specified threshold. Threshold can be either an absolute value - such as 500MB or 2GB - or a percentage of the cgroup allocated memory such as 50%. The action can be: - gc: to trigger the Go garbage collector - profile: to generate a system-probe memory profile in /tmp - log: to simply log that the threshold was reached" - }, - { - "parameter": "pressure_levels", - "env_variable": "", - "type": "map of strings", - "required": "Optional", - "default": "", - "section": "System Probe Configuration", - "description": "Pressure levels and the respective active actions to trigger when memory usage reaches the specified level. The pressure level is 'low', 'medium' or 'critical'. The actions are the same for thresholds (see above)." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Network Configuration", - "description": "Set to true to enable the Network Module of the System Probe" - }, - { - "parameter": "dns_monitoring_ports", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_DNS_MONITORING_PORTS", - "type": "list of integers", - "required": "Optional", - "default": "[53]", - "section": "System Probe Network Configuration", - "description": "A list of ports that should be monitored for DNS traffic." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Universal Service monitoring Configuration", - "description": "Set to true to enable the Universal Service Monitoring Module of the System Probe" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Ping Configuration", - "description": "Set to true to enable the Ping Module of the System Probe" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "System Probe Traceroute Configuration", - "description": "Set to true to enable the Traceroute Module of the System Probe" - }, - { - "parameter": "enabled", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Runtime Configuration", - "description": "Set to true to enable Cloud Workload Security (CWS)." - }, - { - "parameter": "fim_enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Runtime Configuration", - "description": "Set to true to enable the File Integrity Monitoring (FIM) feature of Cloud Workload Security (CWS)." - }, - { - "parameter": "sysprobe_socket", - "env_variable": "DD_SYSTEM_PROBE_CONFIG_SYSPROBE_SOCKET", - "type": "string", - "required": "Optional", - "default": "localhost:3334", - "section": "Security Agent Runtime Configuration", - "description": "The TCP address where the security runtime module is accessed." - }, - { - "parameter": "socket", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_SOCKET", - "type": "string", - "required": "Optional", - "default": "/opt/datadog-agent/run/runtime-security.sock", - "section": "Security Agent Runtime Configuration", - "description": "The full path to the location of the unix socket where security runtime module is accessed." - }, - { - "parameter": "policies", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Policy files" - }, - { - "parameter": "syscall_monitor", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Syscall monitoring" - }, - { - "parameter": "enabled", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_SYSCALL_MONITOR_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Runtime Configuration", - "description": "Set to true to enable the Syscall monitoring (recommended for troubleshooting only)." - }, - { - "parameter": "custom_sensitive_words", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_CUSTOM_SENSITIVE_WORDS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Define your own list of sensitive data to be merged with the default one. Read more on Datadog documentation: https://docs.datadoghq.com/graphing/infrastructure/process/#process-arguments-scrubbing" - }, - { - "parameter": "envs_with_value", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ENVS_WITH_VALUE", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Define your own list of non-sensitive environment variable names whose value will not be concealed by the runtime security module. Default: LD_PRELOAD, LD_LIBRARY_PATH, PATH, HISTSIZE, HISTFILESIZE, GLIBC_TUNABLES" - }, - { - "parameter": "activity_dump", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Activity dump section configures if/how the Agent sends activity dumps to Datadog" - }, - { - "parameter": "enabled", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Security Agent Runtime Configuration", - "description": "Set to true to activate the security profiles feature." - }, - { - "parameter": "traced_cgroups_count", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_TRACED_CGROUPS_COUNT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Security Agent Runtime Configuration", - "description": "Defines the number of concurrent cgroups to be traced." - }, - { - "parameter": "dump_duration", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_ACTIVITY_DUMP_DUMP_DURATION", - "type": "duration", - "required": "Optional", - "default": "30m", - "section": "Security Agent Runtime Configuration", - "description": "Defines the duration of cgroups learning phase. Minimum value is 10m." - }, - { - "parameter": "network", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Security Agent Runtime Configuration", - "description": "Network section is used to configure Cloud Workload Security (CWS) network features." - }, - { - "parameter": "enabled", - "env_variable": "DD_RUNTIME_SECURITY_CONFIG_NETWORK_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Security Agent Runtime Configuration", - "description": "Set to true to activate the CWS network detections." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog Agent Windows Crash Detection module", - "description": "Enables the system probe module which supports the Windows crash detection check." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Runtime Security configuration", - "description": "Set to true to enable Cloud Workload Security (CWS)." - }, - { - "parameter": "socket", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "localhost:3334", - "section": "Runtime Security configuration", - "description": "The local address and port where the security runtime module is accessed" - }, - { - "parameter": "socket", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "/opt/datadog-agent/run/runtime-security.sock", - "section": "Runtime Security configuration", - "description": "The full path to the location of the unix socket where security runtime module is accessed." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Compliance monitoring configuration", - "description": "Set to true to enable Cloud Security Posture Management (CSPM)." - }, - { - "parameter": "use_dogstatsd", - "env_variable": "DD_USE_DOGSTATSD", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "DogStatsD Configuration", - "description": "Set this option to false to disable the Agent DogStatsD server." - }, - { - "parameter": "dogstatsd_port", - "env_variable": "DD_DOGSTATSD_PORT", - "type": "integer", - "required": "Optional", - "default": "8125", - "section": "DogStatsD Configuration", - "description": "Override the Agent DogStatsD port. Note: Make sure your client is sending to the same UDP port." - }, - { - "parameter": "bind_host", - "env_variable": "DD_BIND_HOST", - "type": "string", - "required": "Optional", - "default": "localhost", - "section": "DogStatsD Configuration", - "description": "The host to listen on for Dogstatsd and traces. This is ignored by APM when `apm_config.apm_non_local_traffic` is enabled and ignored by DogStatsD when `dogstatsd_non_local_traffic` is enabled. The trace-agent uses this host to send metrics to. The `localhost` default value is invalid in IPv6 environments where dogstatsd listens on \"::1\". To solve this problem, ensure Dogstatsd is listening on IPv4 by setting this value to \"127.0.0.1\"." - }, - { - "parameter": "dogstatsd_socket", - "env_variable": "DD_DOGSTATSD_SOCKET", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "DogStatsD Configuration", - "description": "Listen for Dogstatsd metrics on a Unix Socket (*nix only). Set to \"\" to disable this feature." - }, - { - "parameter": "dogstatsd_socket", - "env_variable": "DD_DOGSTATSD_SOCKET", - "type": "string", - "required": "Optional", - "default": "\"/var/run/datadog/dsd.socket\"", - "section": "DogStatsD Configuration", - "description": "Listen for Dogstatsd metrics on a Unix Socket (*nix only). Set to a valid and existing filesystem path to enable. Set to \"\" to disable this feature." - }, - { - "parameter": "dogstatsd_origin_detection", - "env_variable": "DD_DOGSTATSD_ORIGIN_DETECTION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "When using Unix Socket, DogStatsD can tag metrics with container metadata. If running DogStatsD in a container, host PID mode (e.g. with --pid=host) is required." - }, - { - "parameter": "dogstatsd_origin_detection_client", - "env_variable": "DD_DOGSTATSD_ORIGIN_DETECTION_CLIENT", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "Whether the Agent should use a client-provided container ID to enrich the metrics, events and service checks with container tags. Note: This requires using a client compatible with DogStatsD protocol version 1.2." - }, - { - "parameter": "dogstatsd_buffer_size", - "env_variable": "DD_DOGSTATSD_BUFFER_SIZE", - "type": "integer", - "required": "Optional", - "default": "8192", - "section": "DogStatsD Configuration", - "description": "The buffer size use to receive statsd packets, in bytes." - }, - { - "parameter": "dogstatsd_non_local_traffic", - "env_variable": "DD_DOGSTATSD_NON_LOCAL_TRAFFIC", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "Set to true to make DogStatsD listen to non local UDP traffic." - }, - { - "parameter": "dogstatsd_stats_enable", - "env_variable": "DD_DOGSTATSD_STATS_ENABLE", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "Publish DogStatsD's internal stats as Go expvars." - }, - { - "parameter": "dogstatsd_logging_enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "DogStatsD Configuration", - "description": "Set to true to write DogstatsD metrics received by the Agent to dogstats_stats log files. Requires `dogstatsd_stats_enable: true`." - }, - { - "parameter": "dogstatsd_log_file_max_size", - "env_variable": "", - "type": "custom", - "required": "Optional", - "default": "10MB", - "section": "DogStatsD Configuration", - "description": "Maximum size of dogstatsd log file. Use either a size (for example, 10MB) or provide value in bytes (for example, 10485760.)" - }, - { - "parameter": "dogstatsd_queue_size", - "env_variable": "DD_DOGSTATSD_QUEUE_SIZE", - "type": "integer", - "required": "Optional", - "default": "1024", - "section": "DogStatsD Configuration", - "description": "Configure the internal queue size of the Dogstatsd server. Reducing the size of this queue will reduce the maximum memory usage of the Dogstatsd server but as a trade-off, it could increase the number of packet drops." - }, - { - "parameter": "dogstatsd_stats_buffer", - "env_variable": "DD_DOGSTATSD_STATS_BUFFER", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "DogStatsD Configuration", - "description": "Set how many items should be in the DogStatsD's stats circular buffer." - }, - { - "parameter": "dogstatsd_stats_port", - "env_variable": "DD_DOGSTATSD_STATS_PORT", - "type": "integer", - "required": "Optional", - "default": "5000", - "section": "DogStatsD Configuration", - "description": "The port for the go_expvar server." - }, - { - "parameter": "dogstatsd_so_rcvbuf", - "env_variable": "DD_DOGSTATSD_SO_RCVBUF", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "DogStatsD Configuration", - "description": "The number of bytes allocated to DogStatsD's socket receive buffer (POSIX system only). By default, the system sets this value. If you need to increase the size of this buffer but keep the OS default value the same, you can set DogStatsD's receive buffer size here. The maximum accepted value might change depending on the OS." - }, - { - "parameter": "dogstatsd_metrics_stats_enable", - "env_variable": "DD_DOGSTATSD_METRICS_STATS_ENABLE", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "Set this parameter to true to have DogStatsD collects basic statistics (count/last seen) about the metrics it processed. Use the Agent command \"dogstatsd-stats\" to visualize those statistics." - }, - { - "parameter": "dogstatsd_tags", - "env_variable": "DD_DOGSTATSD_TAGS", - "type": "list of key:value elements", - "required": "Optional", - "default": "", - "section": "DogStatsD Configuration", - "description": "Additional tags to append to all metrics, events and service checks received by this DogStatsD server." - }, - { - "parameter": "dogstatsd_mapper_profiles", - "env_variable": "DD_DOGSTATSD_MAPPER_PROFILES", - "type": "list of custom object", - "required": "Optional", - "default": "", - "section": "DogStatsD Configuration", - "description": "The profiles will be used to convert parts of metrics names into tags. If a profile prefix is matched, other profiles won't be tried even if that profile matching rules doesn't match. The profiles and matching rules are processed in the order defined in this configuration. For each profile, following fields are available: name (required): profile name prefix (required): mapping only applies to metrics with the prefix. If set to `*`, it will match everything. mappings: mapping rules, see below. For each mapping, following fields are available: match (required): pattern for matching the incoming metric name e.g. `test.job.duration.*` match_type (optional): pattern type can be `wildcard` (default) or `regex` e.g. `test\\.job\\.(\\w+)\\.(.*)` name (required): the metric name the metric should be mapped to e.g. `test.job.duration` tags (optional): list of key:value pair of tag key and tag value The value can use $1, $2, etc, that will be replaced by the corresponding element capture by `match` pattern This alternative syntax can also be used: ${1}, ${2}, etc" - }, - { - "parameter": "dogstatsd_mapper_cache_size", - "env_variable": "DD_DOGSTATSD_MAPPER_CACHE_SIZE", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "DogStatsD Configuration", - "description": "Size of the cache (max number of mapping results) used by Dogstatsd mapping feature." - }, - { - "parameter": "dogstatsd_entity_id_precedence", - "env_variable": "DD_DOGSTATSD_ENTITY_ID_PRECEDENCE", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "DogStatsD Configuration", - "description": "Disable enriching Dogstatsd metrics with tags from \"origin detection\" when Entity-ID is set." - }, - { - "parameter": "dogstatsd_no_aggregation_pipeline", - "env_variable": "DD_DOGSTATSD_NO_AGGREGATION_PIPELINE", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "DogStatsD Configuration", - "description": "Enable the no-aggregation pipeline in DogStatsD: a pipeline receiving metrics with timestamp and forwarding them to the intake without extra processing except for tagging." - }, - { - "parameter": "dogstatsd_no_aggregation_pipeline_batch_size", - "env_variable": "DD_DOGSTATSD_NO_AGGREGATION_PIPELINE_BATCH_SIZE", - "type": "integer", - "required": "Optional", - "default": "2048", - "section": "DogStatsD Configuration", - "description": "How many metrics maximum in payloads sent by the no-aggregation pipeline to the intake." - }, - { - "parameter": "statsd_forward_host", - "env_variable": "DD_STATSD_FORWARD_HOST", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "DogStatsD Configuration", - "description": "Forward every packet received by the DogStatsD server to another statsd server. WARNING: Make sure that forwarded packets are regular statsd packets and not \"DogStatsD\" packets, as your other statsd server might not be able to handle them." - }, - { - "parameter": "statsd_forward_port", - "env_variable": "DD_STATSD_FORWARD_PORT", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "DogStatsD Configuration", - "description": "Port or the \"statsd_forward_host\" to forward StatsD packet to." - }, - { - "parameter": "statsd_metric_namespace", - "env_variable": "DD_STATSD_METRIC_NAMESPACE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "DogStatsD Configuration", - "description": "Set a namespace for all StatsD metrics coming from this host. Each metric received is prefixed with the namespace before it's sent to Datadog." - }, - { - "parameter": "metadata_providers", - "env_variable": "DD_METADATA_PROVIDERS", - "type": "list of custom object", - "required": "Optional", - "default": "", - "section": "DogStatsD Configuration", - "description": "Metadata providers, add or remove from the list to enable or disable collection. Intervals are expressed in seconds. You can also set a provider's interval to 0 to disable it." - }, - { - "parameter": "jmx_custom_jars", - "env_variable": "DD_JMX_CUSTOM_JARS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "JMX Configuration", - "description": "If you only run Autodiscovery tests, jmxfetch might fail to pick up custom_jar_paths set in the check templates. If that is the case, force custom jars here." - }, - { - "parameter": "jmx_use_cgroup_memory_limit", - "env_variable": "DD_JMX_USE_CGROUP_MEMORY_LIMIT", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "JMX Configuration", - "description": "When running in a memory cgroup, openjdk 8u131 and higher can automatically adjust its heap memory usage in accordance to the cgroup/container's memory limit. The Agent set a Xmx of 200MB if none is configured. Note: OpenJDK version < 8u131 or >= 10 as well as other JVMs might fail to start if this option is set." - }, - { - "parameter": "jmx_use_container_support", - "env_variable": "DD_JMX_USE_CONTAINER_SUPPORT", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "JMX Configuration", - "description": "When running in a container, openjdk 10 and higher can automatically detect container specific configuration instead of querying the operating system to adjust resources allotted to the JVM. Note: openjdk versions prior to 10 and other JVMs might fail to start if this option is set." - }, - { - "parameter": "jmx_max_ram_percentage", - "env_variable": "DD_JMX_MAX_RAM_PERCENTAGE", - "type": "float", - "required": "Optional", - "default": "25.0", - "section": "JMX Configuration", - "description": "When running in a container with jmx_use_container_support enabled, the JVM can automatically declare the maximum heap size based off of a percentage of total container allocated memory. This option is overwritten if you use -Xmx to manually define the size of the heap. This option applies to containers with a total memory limit greater than ~250mb. If jmx_use_container_support is disabled this option has no effect." - }, - { - "parameter": "jmx_log_file", - "env_variable": "DD_JMX_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "JMX Configuration", - "description": "Path of the log file where JMXFetch logs are written." - }, - { - "parameter": "jmx_max_restarts", - "env_variable": "DD_JMX_MAX_RESTARTS", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "JMX Configuration", - "description": "Number of JMX restarts allowed in the restart-interval before giving up." - }, - { - "parameter": "jmx_restart_interval", - "env_variable": "DD_JMX_RESTART_INTERVAL", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "JMX Configuration", - "description": "Duration of the restart interval in seconds." - }, - { - "parameter": "jmx_check_period", - "env_variable": "DD_JMX_CHECK_PERIOD", - "type": "integer", - "required": "Optional", - "default": "15000", - "section": "JMX Configuration", - "description": "Duration of the period for check collections in milliseconds." - }, - { - "parameter": "jmx_thread_pool_size", - "env_variable": "DD_JMX_THREAD_POOL_SIZE", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "JMX Configuration", - "description": "JMXFetch collects multiples instances concurrently. Defines the maximum level of concurrency: * Higher concurrency increases CPU utilization during metric collection. * Lower concurrency results in lower CPU usage but may increase the total collection time. A value of 1 processes instances serially." - }, - { - "parameter": "jmx_collection_timeout", - "env_variable": "DD_JMX_COLLECTION_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "JMX Configuration", - "description": "Defines the maximum waiting period in seconds before timing up on metric collection." - }, - { - "parameter": "jmx_reconnection_thread_pool_size", - "env_variable": "DD_JMX_RECONNECTION_THREAD_POOL_SIZE", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "JMX Configuration", - "description": "JMXFetch reconnects to multiples instances concurrently. Defines the maximum level of concurrency: * Higher concurrency increases CPU utilization during reconnection. * Lower concurrency results in lower CPU usage but may increase the total reconnection time A value of 1 processes instance reconnections serially." - }, - { - "parameter": "jmx_reconnection_timeout", - "env_variable": "DD_JMX_RECONNECTION_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "JMX Configuration", - "description": "Determines the maximum waiting period in seconds before timing up on instance reconnection." - }, - { - "parameter": "jmx_statsd_telemetry_enabled", - "env_variable": "DD_JMX_STATSD_TELEMETRY_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "JMX Configuration", - "description": "Specifies whether the JMXFetch statsd client telemetry is enabled." - }, - { - "parameter": "jmx_telemetry_enabled", - "env_variable": "DD_JMX_TELEMETRY_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "JMX Configuration", - "description": "Specifies whether additional JMXFetch telemetry is enabled." - }, - { - "parameter": "jmx_java_tool_options", - "env_variable": "DD_JMX_JAVA_TOOL_OPTIONS", - "type": "string", - "required": "Optional", - "default": "", - "section": "JMX Configuration", - "description": "If you only run Autodiscovery tests, jmxfetch might fail to pick up custom_jar_paths set in the check templates. If that is the case, force custom jars here." - }, - { - "parameter": "log_level", - "env_variable": "DD_LOG_LEVEL", - "type": "string", - "required": "Optional", - "default": "info", - "section": "Logging Configuration", - "description": "Minimum log level of the Datadog Agent. Valid log levels are: trace, debug, info, warn, error, critical, and off. Note: When using the 'off' log level, quotes are mandatory." - }, - { - "parameter": "log_file", - "env_variable": "DD_LOG_FILE", - "type": "string", - "required": "Optional", - "default": "", - "section": "Logging Configuration", - "description": "Path of the log file for the Datadog Agent. See https://docs.datadoghq.com/agent/guide/agent-log-files/" - }, - { - "parameter": "log_format_json", - "env_variable": "DD_LOG_FORMAT_JSON", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Logging Configuration", - "description": "Set to 'true' to output Agent logs in JSON format." - }, - { - "parameter": "log_to_console", - "env_variable": "DD_LOG_TO_CONSOLE", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Logging Configuration", - "description": "Set to 'false' to disable Agent logging to stdout." - }, - { - "parameter": "disable_file_logging", - "env_variable": "DD_DISABLE_FILE_LOGGING", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Logging Configuration", - "description": "Set to 'true' to disable logging to the log file." - }, - { - "parameter": "log_file_max_size", - "env_variable": "DD_LOG_FILE_MAX_SIZE", - "type": "custom", - "required": "Optional", - "default": "10MB", - "section": "Logging Configuration", - "description": "Maximum size of one log file. Use either a size (e.g. 10MB) or provide value in bytes: 10485760" - }, - { - "parameter": "log_file_max_rolls", - "env_variable": "DD_LOG_FILE_MAX_ROLLS", - "type": "integer", - "required": "Optional", - "default": "1", - "section": "Logging Configuration", - "description": "Maximum amount of \"old\" log files to keep. Set to 0 to not limit the number of files to create." - }, - { - "parameter": "log_to_syslog", - "env_variable": "DD_LOG_TO_SYSLOG", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Logging Configuration", - "description": "Set to 'true' to enable logging to syslog. Note: Even if this option is set to 'false', the service launcher of your environment may redirect the Agent process' stdout/stderr to syslog. In that case, if you wish to disable logging to syslog entirely, set 'log_to_console' to 'false' as well." - }, - { - "parameter": "syslog_uri", - "env_variable": "DD_SYSLOG_URI", - "type": "string", - "required": "Optional", - "default": "", - "section": "Logging Configuration", - "description": "Define a custom remote syslog uri if needed. If 'syslog_uri' is left undefined/empty, a local domain socket connection is attempted." - }, - { - "parameter": "syslog_rfc", - "env_variable": "DD_SYSLOG_RFC", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Logging Configuration", - "description": "Set to 'true' to output in an RFC 5424-compliant format for Agent logs." - }, - { - "parameter": "autoconf_template_dir", - "env_variable": "DD_AUTOCONF_TEMPLATE_DIR", - "type": "string", - "required": "Optional", - "default": "/datadog/check_configs", - "section": "Autoconfig Configuration", - "description": "Directory containing configuration templates for Autoconfig." - }, - { - "parameter": "autoconf_config_files_poll", - "env_variable": "DD_AUTOCONF_CONFIG_FILES_POLL", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Autoconfig Configuration", - "description": "Should the we check for new/updated integration configuration files on disk. WARNING: Only files containing checks configuration are supported (logs configuration are not supported)." - }, - { - "parameter": "autoconf_config_files_poll_interval", - "env_variable": "DD_AUTOCONF_CONFIG_FILES_POLL_INTERVAL", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Autoconfig Configuration", - "description": "How frequently should the Agent check for new/updated integration configuration files (in seconds). This value must be >= 1 (i.e. 1 second). WARNING: Only files containing checks configuration are supported (logs configuration are not supported)." - }, - { - "parameter": "config_providers", - "env_variable": "DD_CONFIG_PROVIDERS", - "type": "List of custom object", - "required": "Optional", - "default": "", - "section": "Autoconfig Configuration", - "description": "The providers the Agent should call to collect checks configurations. Available providers are: * kubelet - The kubelet provider handles templates embedded in pod annotations. * docker - The Docker provider handles templates embedded in container labels. * clusterchecks - The clustercheck provider retrieves cluster-level check configurations from the cluster-agent. * kube_services - The kube_services provider watches Kubernetes services for cluster-checks See https://docs.datadoghq.com/guides/autodiscovery/ to learn more" - }, - { - "parameter": "extra_config_providers", - "env_variable": "DD_EXTRA_CONFIG_PROVIDERS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Autoconfig Configuration", - "description": "Add additional config providers by name using their default settings, and pooling enabled. This list is available as an environment variable binding." - }, - { - "parameter": "autoconfig_exclude_features", - "env_variable": "DD_AUTOCONFIG_EXCLUDE_FEATURES", - "type": "list of comma separated strings", - "required": "Optional", - "default": "", - "section": "Autoconfig Configuration", - "description": "Exclude features automatically detected and enabled by environment autodiscovery. Supported syntax is a list of `(:)`. Currently only the `name` attribute is supported. When no attribute is present, it defaults to `name:` attribute." - }, - { - "parameter": "autoconfig_include_features", - "env_variable": "DD_AUTOCONFIG_INCLUDE_FEATURES", - "type": "list of comma separated strings", - "required": "Optional", - "default": "", - "section": "Autoconfig Configuration", - "description": "Force activation of features (as if they were discovered by environment autodiscovery)." - }, - { - "parameter": "container_cgroup_root", - "env_variable": "DD_CONTAINER_CGROUP_ROOT", - "type": "string", - "required": "Optional", - "default": "/host/sys/fs/cgroup/", - "section": "Container Autodiscovery Configuration", - "description": "Change the root directory to look at to get cgroup statistics. Default if environment variable \"DOCKER_DD_AGENT\" is set to \"/host/sys/fs/cgroup\" and \"/sys/fs/cgroup\" if not." - }, - { - "parameter": "container_proc_root", - "env_variable": "DD_CONTAINER_PROC_ROOT", - "type": "string", - "required": "Optional", - "default": "/host/proc", - "section": "Container Autodiscovery Configuration", - "description": "Change the root directory to look at to get proc statistics. Default if environment variable \"DOCKER_DD_AGENT\" is set \"/host/proc\" and \"/proc\" if not." - }, - { - "parameter": "listeners", - "env_variable": "DD_LISTENERS", - "type": "list of key:value elements", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "Choose \"auto\" if you want to let the Agent find any relevant listener on your host At the moment, the only auto listener supported is Docker If you have already set Docker anywhere in the listeners, the auto listener is ignored" - }, - { - "parameter": "extra_listeners", - "env_variable": "DD_EXTRA_LISTENERS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "You can also add additional listeners by name using their default settings. This list is available as an environment variable binding." - }, - { - "parameter": "ac_exclude", - "env_variable": "DD_AC_EXCLUDE", - "type": "list of comma separated strings", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "Exclude containers from metrics and AD based on their name or image. If a container matches an exclude rule, it won't be included unless it first matches an include rule. An excluded container won't get any individual container metric reported for it. See: https://docs.datadoghq.com/agent/guide/autodiscovery-management/" - }, - { - "parameter": "ac_include", - "env_variable": "DD_AC_INCLUDE", - "type": "list of comma separated strings", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "Include containers from metrics and AD based on their name or image: See: https://docs.datadoghq.com/agent/guide/autodiscovery-management/" - }, - { - "parameter": "exclude_pause_container", - "env_variable": "DD_EXCLUDE_PAUSE_CONTAINER", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Container Autodiscovery Configuration", - "description": "Exclude default pause containers from orchestrators. By default the Agent doesn't monitor kubernetes/openshift pause container. They are still counted in the container count (just like excluded containers)." - }, - { - "parameter": "docker_query_timeout", - "env_variable": "DD_DOCKER_QUERY_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Container Autodiscovery Configuration", - "description": "Set the default timeout value when connecting to the Docker daemon." - }, - { - "parameter": "ad_config_poll_interval", - "env_variable": "DD_AD_CONFIG_POLL_INTERVAL", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Container Autodiscovery Configuration", - "description": "The default interval in second to check for new autodiscovery configurations on all registered configuration providers." - }, - { - "parameter": "ad_allowed_env_vars", - "env_variable": "DD_AD_ALLOWED_ENV_VARS", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "The list of environment variables that are allowed to be resolved in check configurations. If the list is not set or is empty, the default behavior applies: all envs are allowed. This list only applies when `ad_disable_env_var_resolution` is set to false." - }, - { - "parameter": "ad_disable_env_var_resolution", - "env_variable": "DD_AD_DISABLE_ENV_VAR_RESOLUTION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Container Autodiscovery Configuration", - "description": "Disable environment variable resolution in check configurations." - }, - { - "parameter": "cloud_foundry_garden", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Container Autodiscovery Configuration", - "description": "Settings for Cloudfoundry application container autodiscovery." - }, - { - "parameter": "listen_network", - "env_variable": "DD_CLOUD_FOUNDRY_GARDEN_LISTEN_NETWORK", - "type": "string", - "required": "Optional", - "default": "unix", - "section": "Container Autodiscovery Configuration", - "description": "The network on which the garden API is listening. Possible values are `unix` or `tcp`" - }, - { - "parameter": "listen_address", - "env_variable": "DD_CLOUD_FOUNDRY_GARDEN_LISTEN_ADDRESS", - "type": "string", - "required": "Optional", - "default": "/var/vcap/data/garden/garden.sock", - "section": "Container Autodiscovery Configuration", - "description": "The address on which the garden API is listening." - }, - { - "parameter": "podman_db_path", - "env_variable": "DD_PODMAN_DB_PATH", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Container Autodiscovery Configuration", - "description": "Settings for Podman DB that Datadog Agent collects container metrics." - }, - { - "parameter": "cluster_agent", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Cluster Agent Configuration", - "description": "Settings for the Cluster Agent. See https://docs.datadoghq.com/agent/cluster_agent/" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Cluster Agent Configuration", - "description": "Set to true to enable the Cluster Agent." - }, - { - "parameter": "auth_token", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Cluster Agent Configuration", - "description": "Auth token used to make requests to the Kubernetes API server." - }, - { - "parameter": "url", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Cluster Agent Configuration", - "description": "The Cluster Agent endpoint. There's no need to set it if \"kubernetes_service_name\" is set." - }, - { - "parameter": "kubernetes_service_name", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "\"datadog-cluster-agent\"", - "section": "Cluster Agent Configuration", - "description": "Name of the Kubernetes service for the Cluster Agent." - }, - { - "parameter": "max_leader_connections", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Cluster Agent Configuration", - "description": "Maximum number of connections between a follower and a leader." - }, - { - "parameter": "client_reconnect_period_seconds", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "1200", - "section": "Cluster Agent Configuration", - "description": "Set the refersh period for Agent to Cluster Agent connection (new connection is created, old connection is closed). Set to 0 to disable periodic reconnection." - }, - { - "parameter": "tagging_fallback", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Cluster Agent Configuration", - "description": "Set to true to enabled fallback to local metamapper when the connection with the Cluster Agent fails." - }, - { - "parameter": "server", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Cluster Agent Configuration", - "description": "Sets the connection timeouts" - }, - { - "parameter": "read_timeout_seconds", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "2", - "section": "Cluster Agent Configuration", - "description": "Read timeout in seconds." - }, - { - "parameter": "write_timeout_seconds", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "2", - "section": "Cluster Agent Configuration", - "description": "Write timeout in seconds." - }, - { - "parameter": "idle_timeout_seconds", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Cluster Agent Configuration", - "description": "Idle timeout in seconds." - }, - { - "parameter": "cluster_checks", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Cluster check Configuration", - "description": "Enter specific configurations for your cluster check. The cluster-agent is able to autodiscover cluster resources and dispatch checks on the node-agents (provided the clustercheck config provider is enabled on them). Uncomment this parameter and the one below to enable them. See https://docs.datadoghq.com/agent/kubernetes/cluster/" - }, - { - "parameter": "enabled", - "env_variable": "DD_CLUSTER_CHECKS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Cluster check Configuration", - "description": "Set to true to enable the dispatching logic on the leader cluster-agent." - }, - { - "parameter": "node_expiration_timeout", - "env_variable": "DD_CLUSTER_CHECKS_NODE_EXPIRATION_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "30", - "section": "Cluster check Configuration", - "description": "Set \"node_expiration_timeout\" time in second after which Node-agents that have not queried the cluster-agent are deleted, and their checks re-dispatched to other nodes." - }, - { - "parameter": "warmup_duration", - "env_variable": "DD_CLUSTER_CHECKS_WARMUP_DURATION", - "type": "integer", - "required": "Optional", - "default": "30", - "section": "Cluster check Configuration", - "description": "Set the \"warmup_duration\" duration in second for the cluster-agent to wait for all node-agents to report to it before dispatching configurations." - }, - { - "parameter": "cluster_tag_name", - "env_variable": "DD_CLUSTER_CHECKS_CLUSTER_TAG_NAME", - "type": "string", - "required": "Optional", - "default": "cluster_name", - "section": "Cluster check Configuration", - "description": "If a cluster_name value is set or autodetected, a \"\" tag is added to all cluster-check configurations sent to the node-agents. Set a custom tag name here, or disable it by setting an empty name." - }, - { - "parameter": "extra_tags", - "env_variable": "DD_CLUSTER_CHECKS_EXTRA_TAGS", - "type": "list of key:value elements", - "required": "Optional", - "default": "", - "section": "Cluster check Configuration", - "description": "Set a list of additionnal tags can to be added to every cluster-check configuration." - }, - { - "parameter": "advanced_dispatching_enabled", - "env_variable": "DD_CLUSTER_CHECKS_ADVANCED_DISPATCHING_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Cluster check Configuration", - "description": "If advanced_dispatching_enabled is true the leader cluster-agent collects stats from the cluster level check runners to optimize the check dispatching logic." - }, - { - "parameter": "rebalance_with_utilization", - "env_variable": "DD_CLUSTER_CHECKS_REBALANCE_WITH_UTILIZATION", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Cluster check Configuration", - "description": "If rebalance_with_utilization is true, the cluster-agent will rebalance cluster checks using node utilization." - }, - { - "parameter": "clc_runners_port", - "env_variable": "DD_CLUSTER_CHECKS_CLC_RUNNERS_PORT", - "type": "integer", - "required": "Optional", - "default": "5005", - "section": "Cluster check Configuration", - "description": "Set the \"clc_runners_port\" used by the cluster-agent client to reach cluster level check runners and collect their stats." - }, - { - "parameter": "admission_controller", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Enter specific configurations for your admission controller. The Datadog admission controller is a component of the Datadog Cluster Agent. It has two main functionalities: Inject environment variables (DD_AGENT_HOST and DD_ENTITY_ID) to configure DogStatsD and APM tracer libraries into your application containers. Inject Datadog reserved tags (env, service, version) from application labels into the container environment variables. Uncomment this parameter and the one below to enable it. See https://docs.datadoghq.com/agent/cluster_agent/admission_controller/" - }, - { - "parameter": "enabled", - "env_variable": "DD_ADMISSION_CONTROLLER_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Admission controller Configuration", - "description": "Set to true to enable the admission controller in the cluster-agent." - }, - { - "parameter": "validation", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "The admission controller's validation configuration." - }, - { - "parameter": "enabled", - "env_variable": "DD_ADMISSION_CONTROLLER_VALIDATION_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Admission controller Configuration", - "description": "Set to true to enable validation webhooks controller in the cluster-agent." - }, - { - "parameter": "mutation", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "The admission controller's mutation configuration." - }, - { - "parameter": "enabled", - "env_variable": "DD_ADMISSION_CONTROLLER_MUTATION_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Admission controller Configuration", - "description": "Set to true to enable mutation webhooks controller in the cluster-agent." - }, - { - "parameter": "mutate_unlabelled", - "env_variable": "DD_ADMISSION_CONTROLLER_MUTATE_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Admission controller Configuration", - "description": "Enable injecting config without having the pod label admission.datadoghq.com/enabled=\"true\"." - }, - { - "parameter": "port", - "env_variable": "DD_ADMISSION_CONTROLLER_PORT", - "type": "integer", - "required": "Optional", - "default": "8000", - "section": "Admission controller Configuration", - "description": "The admission controller server port." - }, - { - "parameter": "timeout_seconds", - "env_variable": "DD_ADMISSION_CONTROLLER_TIMEOUT_SECONDS", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Admission controller Configuration", - "description": "The admission controller server timeout in seconds." - }, - { - "parameter": "service_name", - "env_variable": "DD_ADMISSION_CONTROLLER_SERVICE_NAME", - "type": "string", - "required": "Optional", - "default": "datadog-admission-controller", - "section": "Admission controller Configuration", - "description": "The name of the Kubernetes service that exposes the admission controller." - }, - { - "parameter": "webhook_name", - "env_variable": "DD_ADMISSION_CONTROLLER_WEBHOOK_NAME", - "type": "string", - "required": "Optional", - "default": "datadog-webhook", - "section": "Admission controller Configuration", - "description": "The name of the Kubernetes webhook object." - }, - { - "parameter": "pod_owners_cache_validity", - "env_variable": "DD_ADMISSION_CONTROLLER_POD_OWNERS_CACHE_VALIDITY", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Admission controller Configuration", - "description": "The in-memory cache TTL for pod owners in minutes." - }, - { - "parameter": "namespace_selector_fallback", - "env_variable": "DD_ADMISSION_CONTROLLER_NAMESPACE_SELECTOR_FALLBACK", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Admission controller Configuration", - "description": "Use namespace selectors instead of object selectors to watch objects. For Kubernetes versions from 1.10 to 1.14 (inclusive)" - }, - { - "parameter": "certificate", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "The webhook's certificate configuration." - }, - { - "parameter": "validity_bound", - "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_VALIDITY_BOUND", - "type": "integer", - "required": "Optional", - "default": "8760", - "section": "Admission controller Configuration", - "description": "The certificate's validity bound in hours, default 1 year (365*24)." - }, - { - "parameter": "expiration_threshold", - "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_EXPIRATION_THRESHOLD", - "type": "integer", - "required": "Optional", - "default": "720", - "section": "Admission controller Configuration", - "description": "The certificate's refresh threshold in hours, default 1 month (30*24)." - }, - { - "parameter": "secret_name", - "env_variable": "DD_ADMISSION_CONTROLLER_CERTIFICATE_SECRET_NAME", - "type": "string", - "required": "Optional", - "default": "webhook-certificate", - "section": "Admission controller Configuration", - "description": "Name of the Secret object containing the webhook certificate." - }, - { - "parameter": "inject_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Configuration injection parameters." - }, - { - "parameter": "enabled", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Admission controller Configuration", - "description": "Enable configuration injection (configure DogStatsD and APM tracer libraries)." - }, - { - "parameter": "endpoint", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENDPOINT", - "type": "string", - "required": "Optional", - "default": "/injectconfig", - "section": "Admission controller Configuration", - "description": "Admission controller's endpoint responsible for handling configuration injection requests." - }, - { - "parameter": "mode", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_MODE", - "type": "string", - "required": "Optional", - "default": "hostip", - "section": "Admission controller Configuration", - "description": "The kind of configuration to be injected, it can be \"hostip\", \"service\", or \"socket\"." - }, - { - "parameter": "local_service_name", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_LOCAL_SERVICE_NAME", - "type": "string", - "required": "Optional", - "default": "datadog", - "section": "Admission controller Configuration", - "description": "Configure the local service name that exposes the Datadog Agent. Only applicable in \"service\" mode." - }, - { - "parameter": "socket_path", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_SOCKET_PATH", - "type": "string", - "required": "Optional", - "default": "/var/run/datadog", - "section": "Admission controller Configuration", - "description": "Configure Datadog Agent's socket path. Only applicable in \"socket\" mode." - }, - { - "parameter": "type_socket_volumes", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_TYPE_SOCKET_VOLUMES", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Admission controller Configuration", - "description": "When enabled, injected volumes are of type \"Socket\". This means that injected pods will not start until the Agent creates the dogstatsd and trace-agent sockets. This ensures no lost traces or dogstatsd metrics but can cause the pod to wait if the agent has issues creating the sockets." - }, - { - "parameter": "inject_tags", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Tags injection parameters." - }, - { - "parameter": "enabled", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Admission controller Configuration", - "description": "Enable standard tags injection." - }, - { - "parameter": "endpoint", - "env_variable": "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENDPOINT", - "type": "string", - "required": "Optional", - "default": "/injecttags", - "section": "Admission controller Configuration", - "description": "Admission controller's endpoint responsible for handling tags injection requests." - }, - { - "parameter": "failure_policy", - "env_variable": "DD_ADMISSION_CONTROLLER_FAILURE_POLICY", - "type": "string", - "required": "Optional", - "default": "Ignore", - "section": "Admission controller Configuration", - "description": "Set the failure policy for dynamic admission control. The default of Ignore means that pods will still be admitted even if the webhook is unavailable to inject them. Setting to Fail will require the admission controller to be present and pods to be injected before they are allowed to run." - }, - { - "parameter": "reinvocation_policy", - "env_variable": "DD_ADMISSION_CONTROLLER_REINVOCATION_POLICY", - "type": "string", - "required": "Optional", - "default": "IfNeeded", - "section": "Admission controller Configuration", - "description": "Set the reinvocation policy for dynamic admission control. See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#reinvocation-policy" - }, - { - "parameter": "add_aks_selectors", - "env_variable": "DD_ADMISSION_CONTROLLER_ADD_AKS_SELECTORS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Admission controller Configuration", - "description": "Adds in the admission controller webhook the selectors that are required in AKS. See https://docs.microsoft.com/en-us/azure/aks/faq#can-i-use-admission-controller-webhooks-on-aks" - }, - { - "parameter": "auto_instrumentation", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Library injection parameters." - }, - { - "parameter": "init_resources", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "CPU and Memory resources of the init containers." - }, - { - "parameter": "cpu", - "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_RESOURCES_CPU", - "type": "string", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Configures the CPU request that will be applied for the init container's CPU request and limit." - }, - { - "parameter": "memory", - "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_RESOURCES_MEMORY", - "type": "string", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Configures the memory request that will be applied for the init container's memory request and limit." - }, - { - "parameter": "init_security_context", - "env_variable": "DD_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_INIT_SECURITY_CONTEXT", - "type": "json", - "required": "Optional", - "default": "", - "section": "Admission controller Configuration", - "description": "Security context for the init containers in JSON format. Follows the Kubernetes security context spec, https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#securitycontext-v1-core, ignores unknown properties." - }, - { - "parameter": "docker_labels_as_tags", - "env_variable": "DD_DOCKER_LABELS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Docker tag extraction", - "description": "The Agent can extract container label values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics (Docker check)." - }, - { - "parameter": "docker_env_as_tags", - "env_variable": "DD_DOCKER_ENV_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Docker tag extraction", - "description": "The Agent can extract environment variables values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics (Docker check)." - }, - { - "parameter": "kubernetes_pod_labels_as_tags", - "env_variable": "DD_KUBERNETES_POD_LABELS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes tag extraction", - "description": "The Agent can extract pod labels values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." - }, - { - "parameter": "kubernetes_pod_annotations_as_tags", - "env_variable": "DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes tag extraction", - "description": "The Agent can extract annotations values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." - }, - { - "parameter": "kubernetes_namespace_labels_as_tags", - "env_variable": "DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes tag extraction", - "description": "The Agent can extract namespace label values and set them as metric tags values associated to a . If you prefix your tag name with +, it will only be added to high cardinality metrics." - }, - { - "parameter": "container_env_as_tags", - "env_variable": "DD_CONTAINER_ENV_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes tag extraction", - "description": "The Agent can extract environment variable values and set them as metric tags values associated to a . Requires the container runtime socket to be reachable. (Supported container runtimes: Containerd, Docker)" - }, - { - "parameter": "container_labels_as_tags", - "env_variable": "DD_CONTAINER_LABELS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes tag extraction", - "description": "The Agent can extract container label values and set them as metric tags values associated to a . If you prefix your tag name with `+`, it will only be added to high cardinality metrics. (Supported container runtimes: Containerd, Docker)." - }, - { - "parameter": "ecs_agent_container_name", - "env_variable": "DD_ECS_AGENT_CONTAINER_NAME", - "type": "string", - "required": "Optional", - "default": "ecs-agent", - "section": "ECS integration Configuration", - "description": "The ECS Agent container should be autodetected when running with the default (ecs-agent) name. If not, change the container name here:" - }, - { - "parameter": "ecs_agent_url", - "env_variable": "DD_ECS_AGENT_URL", - "type": "string", - "required": "Optional", - "default": "http://localhost:51678", - "section": "ECS integration Configuration", - "description": "The ECS Agent container should be autodetected when running with the default (ecs-agent) name. If not, change the container name the Agent should look for with ecs_agent_container_name, or force a fixed url here:" - }, - { - "parameter": "ecs_collect_resource_tags_ec2", - "env_variable": "DD_ECS_COLLECT_RESOURCE_TAGS_EC2", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "ECS integration Configuration", - "description": "The Agent can collect resource tags from the metadata API exposed by the ECS Agent for tasks scheduled with the EC2 launch type." - }, - { - "parameter": "ecs_resource_tags_replace_colon", - "env_variable": "DD_ECS_RESOURCE_TAGS_REPLACE_COLON", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "ECS integration Configuration", - "description": "The Agent replaces colon `:` characters in the ECS resource tag keys by underscores `_`." - }, - { - "parameter": "ecs_metadata_timeout", - "env_variable": "DD_ECS_METADATA_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "500", - "section": "ECS integration Configuration", - "description": "Timeout in milliseconds on calls to the AWS ECS metadata endpoints." - }, - { - "parameter": "ecs_task_collection_enabled", - "env_variable": "DD_ECS_TASK_COLLECTION_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "ECS integration Configuration", - "description": "The Agent can collect detailed task information from the metadata API exposed by the ECS Agent, which is used for the orchestrator ECS check." - }, - { - "parameter": "ecs_deployment_mode", - "env_variable": "DD_ECS_DEPLOYMENT_MODE", - "type": "string", - "required": "Optional", - "default": "auto", - "section": "ECS integration Configuration", - "description": "Controls how the agent collects ECS task metadata: - auto: Use daemon mode on EC2, sidecar mode on Fargate (recommended) - daemon: Collect all tasks on the host (requires v1 metadata API access) - sidecar: Collect only the current task (works on both EC2 and Fargate) Use 'sidecar' when running the agent as a task sidecar on EC2 to ensure it only reports on its own task, while still correctly identifying the launch type as EC2." - }, - { - "parameter": "cri_socket_path", - "env_variable": "DD_CRI_SOCKET_PATH", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "CRI integration Configuration", - "description": "To activate the CRI check, indicate the path of the CRI socket you're using and mount it in the container if needed. If left empty, the CRI check is disabled. see: https://docs.datadoghq.com/integrations/cri/" - }, - { - "parameter": "cri_connection_timeout", - "env_variable": "DD_CRI_CONNECTION_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "1", - "section": "CRI integration Configuration", - "description": "Configure the initial connection timeout in seconds." - }, - { - "parameter": "cri_query_timeout", - "env_variable": "DD_CRI_QUERY_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "CRI integration Configuration", - "description": "Configure the timeout in seconds for querying the CRI." - }, - { - "parameter": "cri_socket_path", - "env_variable": "DD_CRI_SOCKET_PATH", - "type": "string", - "required": "Optional", - "default": "/var/run/containerd/containerd.sock", - "section": "Containerd integration Configuration", - "description": "To activate the Containerd check, indicate the path of the Containerd socket you're using and mount it in the container if needed. see: https://docs.datadoghq.com/integrations/containerd/" - }, - { - "parameter": "cri_query_timeout", - "env_variable": "DD_CRI_QUERY_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Containerd integration Configuration", - "description": "Configure the timeout in seconds for querying the Containerd API." - }, - { - "parameter": "containerd_namespace", - "env_variable": "DD_CONTAINERD_NAMESPACE", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Containerd integration Configuration", - "description": "Activating the Containerd check also activates the CRI check, as it contains an additional subset of useful metrics. Defaults to [] which configures the agent to report metrics and events from all the containerd namespaces. To watch specific namespaces, list them here. https://github.com/containerd/cri/blob/release/1.2/pkg/constants/constants.go#L22-L23" - }, - { - "parameter": "containerd_namespaces", - "env_variable": "DD_CONTAINERD_NAMESPACES", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Containerd integration Configuration", - "description": "Activating the Containerd check also activates the CRI check, as it contains an additional subset of useful metrics. Defaults to [] which configures the agent to report metrics and events from all the containerd namespaces. containerd_namespaces acts as an alias for containerd_namespace. When both containerd_namespaces and containerd_namespace are configured, the Agent merges the two lists." - }, - { - "parameter": "containerd_exclude_namespaces", - "env_variable": "DD_CONTAINERD_EXCLUDE_NAMESPACES", - "type": "list of strings", - "required": "Optional", - "default": "[\"moby\"]", - "section": "Containerd integration Configuration", - "description": "When containerd_namespaces is set to [], containerd_exclude_namespaces allows the exclusion of containers from specific namespaces. By default it excludes \"moby\", to prevent Docker containers from being detected as containerd containers." - }, - { - "parameter": "kubernetes_kubelet_host", - "env_variable": "DD_KUBERNETES_KUBELET_HOST", - "type": "string", - "required": "Optional", - "default": "", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "The kubelet host should be autodetected when running inside a pod. If you run into connectivity issues, set the host here according to your cluster setup." - }, - { - "parameter": "kubernetes_http_kubelet_port", - "env_variable": "DD_KUBERNETES_HTTP_KUBELET_PORT", - "type": "integer", - "required": "Optional", - "default": "10255", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "The kubelet http port should be autodetected when running inside a pod. If you run into connectivity issues, set the http port here according to your cluster setup." - }, - { - "parameter": "kubernetes_https_kubelet_port", - "env_variable": "DD_KUBERNETES_HTTPS_KUBELET_PORT", - "type": "integer", - "required": "Optional", - "default": "10250", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "The kubelet https port should be autodetected when running inside a pod. If you run into connectivity issues, set the https port here according to your cluster setup." - }, - { - "parameter": "kubelet_tls_verify", - "env_variable": "DD_KUBELET_TLS_VERIFY", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Set to false if you don't want the Agent to verify the kubelet's certificate when using HTTPS." - }, - { - "parameter": "kubelet_client_ca", - "env_variable": "DD_KUBELET_CLIENT_CA", - "type": "string", - "required": "Optional", - "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Kublet client CA file path." - }, - { - "parameter": "kubelet_auth_token_path", - "env_variable": "DD_KUBELET_AUTH_TOKEN_PATH", - "type": "string", - "required": "Optional", - "default": "", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "If authentication is needed, the Agent uses the pod's service account's credentials. If you want to use a different account, or are running the Agent on the host, set a custom token file path here." - }, - { - "parameter": "kubelet_client_crt", - "env_variable": "DD_KUBELET_CLIENT_CRT", - "type": "string", - "required": "Optional", - "default": "", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Set a custom Client CRT file path." - }, - { - "parameter": "kubelet_client_key", - "env_variable": "DD_KUBELET_CLIENT_KEY", - "type": "string", - "required": "Optional", - "default": "", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Set a custom Client key file path." - }, - { - "parameter": "kubelet_cache_pods_duration", - "env_variable": "DD_KUBELET_CACHE_PODS_DURATION", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Polling frequency in seconds of the Agent to the kubelet \"/pods\" endpoint." - }, - { - "parameter": "kubernetes_pod_expiration_duration", - "env_variable": "DD_KUBERNETES_POD_EXPIRATION_DURATION", - "type": "integer", - "required": "Optional", - "default": "900", - "section": "Kubernetes kubelet connectivity Configuration", - "description": "Set the time in second after which the Agent ignores the pods that have exited. Set the duration to 0 to disable this filtering." - }, - { - "parameter": "kubernetes_kubeconfig_path", - "env_variable": "DD_KUBERNETES_KUBECONFIG_PATH", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Kubernetes apiserver integration Configuration", - "description": "When running in a pod, the Agent automatically uses the pod's service account to authenticate with the API server. Provide the path to a custom KubeConfig file if you wish to install the Agent out of a pod or customize connection parameters. See https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/" - }, - { - "parameter": "kubernetes_apiserver_ca_path", - "env_variable": "DD_KUBERNETES_APISERVER_CA_PATH", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Kubernetes apiserver integration Configuration", - "description": "When running in a pod, the Agent automatically uses the pod's service account CA. Use this option to keep using the InCluster config but overriding the default CA Path. This parameter has no effect if `kubernetes_kubeconfig_path` is set." - }, - { - "parameter": "kubernetes_apiserver_tls_verify", - "env_variable": "DD_KUBERNETES_APISERVER_TLS_VERIFY", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Kubernetes apiserver integration Configuration", - "description": "When running in a pod, the Agent automatically uses the pod's service account CA. Use this option to keep using the InCluster config but deactivating TLS verification (in case APIServer CA is not ServiceAccount CA) This parameter has no effect if `kubernetes_kubeconfig_path` is set." - }, - { - "parameter": "kubernetes_apiserver_use_protobuf", - "env_variable": "DD_KUBERNETES_APISERVER_USE_PROTOBUF", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "By default, communication with the apiserver is in json format. Setting the following option to true allows communication in the binary protobuf format." - }, - { - "parameter": "kubernetes_collect_metadata_tags", - "env_variable": "DD_KUBERNETES_COLLECT_METADATA_TAGS", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set this to false to disable tag collection for the Agent. Note: In order to collect Kubernetes service names, the Agent needs certain rights. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#kubernetes" - }, - { - "parameter": "auto_team_tag_collection", - "env_variable": "DD_AUTO_TEAM_TAG_COLLECTION", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Kubernetes apiserver integration Configuration", - "description": "When enabled, the orchestrator check automatically collects the 'team' tag from Kubernetes resources. If a resource has a label or annotation with key 'team', and no 'team' tag has been explicitly configured via kubernetes_resources_labels_as_tags or kubernetes_resources_annotations_as_tags, the agent will automatically add a 'team' tag with the value from the label (preferred) or annotation." - }, - { - "parameter": "kubernetes_metadata_tag_update_freq", - "env_variable": "DD_KUBERNETES_METADATA_TAG_UPDATE_FREQ", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set how often in secons the Agent refreshes the internal mapping of services to ContainerIDs." - }, - { - "parameter": "kubernetes_apiserver_client_timeout", - "env_variable": "DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set the timeout for the Agent when connecting to the Kubernetes API server." - }, - { - "parameter": "collect_kubernetes_events", - "env_variable": "DD_COLLECT_KUBERNETES_EVENTS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set `collect_kubernetes_events` to true to enable collection of kubernetes events to be sent to Datadog. Note: leader election must be enabled below to collect events. Only the leader Agent collects events. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#event-collection" - }, - { - "parameter": "kubernetes_event_collection_timeout", - "env_variable": "DD_KUBERNETES_EVENT_COLLECTION_TIMEOUT", - "type": "integer", - "required": "Optional", - "default": "100", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set the timeout between two successful event collections in milliseconds." - }, - { - "parameter": "leader_election", - "env_variable": "DD_LEADER_ELECTION", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set the parameter to true to enable leader election on this node. See https://github.com/DataDog/datadog-agent/blob/main/Dockerfiles/agent/README.md#leader-election" - }, - { - "parameter": "leader_lease_duration", - "env_variable": "DD_LEADER_LEASE_DURATION", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set the leader election lease in seconds." - }, - { - "parameter": "kubernetes_node_labels_as_tags", - "env_variable": "DD_KUBERNETES_NODE_LABELS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "Configure node labels that should be collected and their name as host tags. Note: Some of these labels are redundant with metadata collected by cloud provider crawlers (AWS, GCE, Azure)" - }, - { - "parameter": "kubernetes_node_annotations_as_tags", - "env_variable": "DD_KUBERNETES_NODE_ANNOTATIONS_AS_TAGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "Configure node annotationss that should be collected and their name as host tags." - }, - { - "parameter": "kubernetes_node_annotations_as_host_aliases", - "env_variable": "DD_KUBERNETES_NODE_ANNOTATIONS_AS_HOST_ALIASES", - "type": "list", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "Configure node annotations that should be collected and used as host aliases." - }, - { - "parameter": "cluster_name", - "env_variable": "DD_CLUSTER_NAME", - "type": "string", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "Set a custom kubernetes cluster identifier to avoid host alias collisions. The cluster name can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. These are the same rules as the ones enforced by GKE: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#Cluster.FIELDS.name" - }, - { - "parameter": "disable_cluster_name_tag_key", - "env_variable": "DD_DISABLE_CLUSTER_NAME_TAG_KEY", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "Disable using the 'cluster_name' tag key to submit orchestrator cluster name tag. The Agent will continue sending the cluster name tag with 'kube|ecs_cluster_name' key regardless of the value of this parameter." - }, - { - "parameter": "prometheus_scrape", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "This section configures the Autodiscovery based on the Prometheus annotations" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "Enables the prometheus config provider" - }, - { - "parameter": "service_endpoints", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Kubernetes apiserver integration Configuration", - "description": "Enables Service Endpoints checks in the prometheus config provider" - }, - { - "parameter": "checks", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Kubernetes apiserver integration Configuration", - "description": "Defines any extra prometheus/openmetrics check configurations to be handled by the prometheus config provider" - }, - { - "parameter": "version", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "1", - "section": "Kubernetes apiserver integration Configuration", - "description": "Version of the openmetrics check to be scheduled by the Prometheus auto-discovery" - }, - { - "parameter": "cloud_foundry_bbs", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "This section configures how the Cluster Agent accesses BBS API to gather information necessary for autodiscovery on BBS-based Cloud Foundry deployments." - }, - { - "parameter": "url", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_URL", - "type": "string", - "required": "Optional", - "default": "https://bbs.service.cf.internal:8889", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "URL of the BBS API." - }, - { - "parameter": "poll_interval", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_POLL_INTERVAL", - "type": "integer", - "required": "Optional", - "default": "15", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "Refresh rate of BBS API, in seconds. Values lower than 10 might influence performance of other operations in the cluster." - }, - { - "parameter": "ca_file", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_CA_FILE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "PEM-encoded CA certificate used when connecting to the BBS API." - }, - { - "parameter": "cert_file", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_CERT_FILE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "PEM-encoded client certificate used when connecting to the BBS API." - }, - { - "parameter": "key_file", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_KEY_FILE", - "type": "string", - "required": "Optional", - "default": "\"\"", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "PEM-encoded client key used when connecting to the BBS API." - }, - { - "parameter": "env_include", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_ENV_INCLUDE", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "List of regular expressions to allow a set of environment variables to be included as container tags" - }, - { - "parameter": "env_exclude", - "env_variable": "DD_CLOUD_FOUNDRY_BBS_ENV_EXCLUDE", - "type": "list of strings", - "required": "Optional", - "default": "[]", - "section": "Cloud Foundry BBS Configuration for Autodiscovery", - "description": "List of regular expressions to forbid a set of environment variables to be included as container tags" - }, - { - "parameter": "cloud_foundry_cc", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "This section configures how the Cluster Agent accesses CC API to gather information necessary for autodiscovery on Cloud Foundry deployments." - }, - { - "parameter": "url", - "env_variable": "DD_CLOUD_FOUNDRY_CC_URL", - "type": "string", - "required": "Optional", - "default": "https://cloud-controller-ng.service.cf.internal:9024", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "URL of the CC API." - }, - { - "parameter": "client_id", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "@env DD_CLOUD_FOUNDRY_CC_CLIENT_ID Client ID for oauth with UAA to get a token to access the CC API." - }, - { - "parameter": "client_secret", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "@env DD_CLOUD_FOUNDRY_CC_CLIENT_SECRET Client secrect for oauth with UAA to get a token to access the CC API." - }, - { - "parameter": "skip_ssl_validation", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "@env DD_CLOUD_FOUNDRY_CC_SKIP_SSL_VALIDATION Whether or not to skip SSL validation when interacting with CC API." - }, - { - "parameter": "poll_interval", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "60", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "@env DD_CLOUD_FOUNDRY_CC_POLL_INTERVAL Refresh rate of CC API, in seconds. Values lower than 10 might influence performance of other operations in the cluster." - }, - { - "parameter": "apps_batch_size", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5000", - "section": "Cloud Foundry Cloud Controller Configuration for Autodiscovery", - "description": "@env DD_CLOUD_FOUNDRY_CC_APPS_BATCH_SIZE Number of apps per page to collect when calling the list apps endpoint of the CC API. Max 5000." - }, - { - "parameter": "network_devices", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Configuration related to Network Devices Monitoring" - }, - { - "parameter": "namespace", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "default", - "section": "Network Devices Configuration", - "description": "Namespace can be used to disambiguate devices with the same IP. Changing namespace will cause devices being recreated in NDM app. It should contain less than 100 characters and should not contain any of `<`, `>`, `\\n`, `\\t`, `\\r` characters. This field is used by NDM features (SNMP check, SNMP Traps listener, etc)." - }, - { - "parameter": "default_scan", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Configuration for automatic SNMP device scanning. When enabled, discovered SNMP devices are automatically scanned." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Enable automatic scanning of discovered SNMP devices. When enabled, devices discovered via autodiscovery or configured directly will be scanned to collect OID data." - }, - { - "parameter": "autodiscovery", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Creates and schedules a listener to automatically discover your SNMP devices. Discovered devices can then be monitored with the SNMP integration by using the auto_conf.yaml file provided by default." - }, - { - "parameter": "workers", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "2", - "section": "Network Devices Configuration", - "description": "The number of concurrent tasks used to discover SNMP devices. Increasing this value discovers devices faster but at the cost of increased resource consumption." - }, - { - "parameter": "discovery_interval", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3600", - "section": "Network Devices Configuration", - "description": "How often to discover new SNMP devices, in seconds. Decreasing this value discovers devices faster (within the limit of the time taken to scan subnets) but at the cost of increased resource consumption." - }, - { - "parameter": "discovery_allowed_failures", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "Network Devices Configuration", - "description": "The number of failed requests to a given SNMP device before removing it from the list of monitored devices. If a device shuts down, the Agent stops monitoring it after `discovery_interval * discovery_allowed_failures` seconds." - }, - { - "parameter": "loader", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "core", - "section": "Network Devices Configuration", - "description": "Check loader to use. Available loaders: - core: (recommended) Uses new corecheck SNMP integration - python: Uses legacy python SNMP integration" - }, - { - "parameter": "min_collection_interval", - "env_variable": "", - "type": "number", - "required": "Optional", - "default": "15", - "section": "Network Devices Configuration", - "description": "This changes the collection interval for the check instances created from discovered SNMP devices. For more information, see: https://docs.datadoghq.com/developers/write_agent_check/#collection-interval" - }, - { - "parameter": "use_device_id_as_hostname", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Use `device:` (device_id is composed of `:`) as `hostname` for metrics and service checks (meaning that metrics and services checks will have `host:device:` as tag). This option is needed for custom tags." - }, - { - "parameter": "collect_topology", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Network Devices Configuration", - "description": "Enable the collection of topology (LLDP/CDP) data" - }, - { - "parameter": "collect_vpn", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Enable collection of VPN tunnels and route table data" - }, - { - "parameter": "ping", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Configure ICMP pings for all hosts in SNMP autodiscovery Devices will be pinged with these settings each time the SNMP check is run. By default, Datadog tries to use an unprivileged UDP socket to send ICMP pings, but some Linux systems require using a raw socket. If `linux.use_raw_socket` is set, you must enable the `ping` module of system-probe for elevated privileges. See system-probe.yaml.example for details." - }, - { - "parameter": "use_deduplication", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Deduplicate IP addresses corresponding to the same device. The deduplication logic is based on the sysName, sysDesc, sysObjectID and sysUptime" - }, - { - "parameter": "oid_batch_size", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of OIDs handled by each batch for all hosts in SNMP autodiscovery. Applies to all configurations if not overridden. By default, devices dynamically tune their batch size to optimize performance (agent version v7.73+)." - }, - { - "parameter": "timeout", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of seconds before timing out. Applies to all configurations if not overridden." - }, - { - "parameter": "retries", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "Network Devices Configuration", - "description": "The number of retries before failure. Applies to all configurations if not overridden." - }, - { - "parameter": "configs", - "env_variable": "", - "type": "list", - "required": "Required", - "default": "", - "section": "Network Devices Configuration", - "description": "The actual list of configurations used to discover SNMP devices in various subnets. Example: configs: - network_address: 10.0.0.0/24 authentications: - snmp_version: 1 community_string: public - network_address: 10.0.1.0/28 authentications: - community_string: public ignored_ip_addresses: - 10.0.1.0 - 10.0.1.1" - }, - { - "parameter": "network_address", - "env_variable": "", - "type": "string", - "required": "Required", - "default": "", - "section": "Network Devices Configuration", - "description": "The subnet in CIDR format to scan for SNMP devices. All unignored IP addresses in the CIDR range are scanned. For optimal discovery time, be sure to use the smallest network mask possible as is appropriate for your network topology. Ex: 10.0.1.0/24" - }, - { - "parameter": "ignored_ip_addresses", - "env_variable": "", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "A list of IP addresses to ignore when scanning the network." - }, - { - "parameter": "port", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "161", - "section": "Network Devices Configuration", - "description": "The UDP port to use when connecting to SNMP devices." - }, - { - "parameter": "timeout", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of seconds before timing out. Applies to all authentications if not overridden." - }, - { - "parameter": "retries", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "Network Devices Configuration", - "description": "The number of retries before failure. Applies to all authentications if not overridden." - }, - { - "parameter": "authentications", - "env_variable": "", - "type": "list of custom objects", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "A list of authentication configurations to try when connecting to your SNMP devices. The Agent tries each configuration until it successfully connects. Example: authentications: - community_string: public-1 - user: myUser authKey: myAuthKey - community_string: public-2" - }, - { - "parameter": "snmp_version", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Set the version of the SNMP protocol. Available options are: `1`, `2` or `3`. If unset, the Agent tries to guess the correct version based on other configuration parameters, for example: if `user` is set, the Agent uses SNMP v3." - }, - { - "parameter": "timeout", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of seconds before timing out." - }, - { - "parameter": "retries", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3", - "section": "Network Devices Configuration", - "description": "The number of retries before failure." - }, - { - "parameter": "community_string", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Required for SNMP v1 & v2. Enclose the community string with single quote like below (to avoid special characters being interpreted). Ex: 'public'" - }, - { - "parameter": "user", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The username to connect to your SNMP devices. SNMPv3 only." - }, - { - "parameter": "authKey", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The passphrase to use with your Authentication type. SNMPv3 only." - }, - { - "parameter": "authProtocol", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The authentication protocol to use when connecting to your SNMP devices. Available options are: MD5, SHA, SHA224, SHA256, SHA384, SHA512 Defaults to MD5 when `authentication_key` is specified. SNMPv3 only." - }, - { - "parameter": "privKey", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The passphrase to use with your privacy protocol. SNMPv3 only." - }, - { - "parameter": "privProtocol", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The privacy protocol to use when connecting to your SNMP devices. Available options are: DES, AES (128 bits), AES192, AES192C, AES256, AES256C Defaults to DES when `privacy_key` is specified. SNMPv3 only." - }, - { - "parameter": "context_name", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The name of your context (optional SNMP v3-only parameter)." - }, - { - "parameter": "tags", - "env_variable": "", - "type": "list of strings", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "A list of tags to attach to every metric and service check of all devices discovered in the subnet. Learn more about tagging at https://docs.datadoghq.com/tagging" - }, - { - "parameter": "ad_identifier", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "snmp", - "section": "Network Devices Configuration", - "description": "A unique identifier to attach to devices from that subnetwork. When configuring the SNMP integration in snmp.d/auto_conf.yaml, specify the corresponding ad_identifier at the top of the file." - }, - { - "parameter": "loader", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "core", - "section": "Network Devices Configuration", - "description": "Check loader to use. Available loaders: - core: (recommended) Uses new corecheck SNMP integration - python: Uses legacy python SNMP integration" - }, - { - "parameter": "min_collection_interval", - "env_variable": "", - "type": "number", - "required": "Optional", - "default": "15", - "section": "Network Devices Configuration", - "description": "This changes the collection interval for the check instances created from discovered SNMP devices. It applies to each specific config from `snmp_listener.configs` and has precedence over `snmp_listener.min_collection_interval`. For more information, see: https://docs.datadoghq.com/developers/write_agent_check/#collection-interval" - }, - { - "parameter": "use_device_id_as_hostname", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Use `device:` (device_id is composed of `:`) as `hostname` for metrics and service checks (meaning that metrics and services checks will have `host:device:` as tag). This option is needed for custom tags." - }, - { - "parameter": "oid_batch_size", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of OIDs handled by each batch." - }, - { - "parameter": "interface_configs", - "env_variable": "", - "type": "map", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This option is used to override interface inbound/outbound speed, add interface tags, or disable monitoring for specific interfaces Example: interface_configs: \"10.0.0.1\": # target device IP address - match_field: \"name\" # (required) the field to match, can be `name` (interface name) or `index` (ifIndex) match_value: \"eth0\" # (required) the value to match in_speed: 50 # (optional) inbound speed value in bytes per sec, no value or 0 means no override out_speed: 25 # (optional) outbound speed value in bytes per sec, no value or 0 means no override tags: # (optional) interface level tags - \"testTagKey:testTagValue\" - \"tagKey2:tagValue2\" disabled: true # (optional) disables monitoring for matched interfaces, default value is false" - }, - { - "parameter": "ping", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "Configure ICMP pings for all hosts in SNMP autodiscovery Devices will be pinged with these settings each time the SNMP check is run. By default, Datadog tries to use an unprivileged UDP socket to send ICMP pings, but some linux systems require using a raw socket. If `linux.use_raw_socket` is set, you must enable the `ping` module of system-probe for elevated privileges. See system-probe.yaml.example for details." - }, - { - "parameter": "snmp_traps", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures SNMP traps collection. Traps are forwarded as logs and can be found in the logs explorer with a source:snmp-traps query" - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Set to true to enable collection of traps." - }, - { - "parameter": "port", - "env_variable": "DD_SNMP_TRAPS_CONFIG_PORT", - "type": "integer", - "required": "Optional", - "default": "9162", - "section": "Network Devices Configuration", - "description": "The UDP port to use when listening for incoming trap packets. Because the Datadog Agent does not run as root, the port cannot be below 1024. However, if you run `sudo setcap 'cap_net_bind_service=+ep' /opt/datadog-agent/bin/agent/agent`, the Datadog Agent can listen on ports below 1024." - }, - { - "parameter": "community_strings", - "env_variable": "", - "type": "list of strings", - "required": "Required", - "default": "", - "section": "Network Devices Configuration", - "description": "A list of known SNMP community strings that devices can use to send traps to the Agent. Traps with an unknown community string are ignored. Enclose the community string with single quote like below (to avoid special characters being interpreted). Must be non-empty." - }, - { - "parameter": "users", - "env_variable": "", - "type": "list of custom objects", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "List of SNMPv3 users that can be used to listen for traps. Each user can contain: * user - string - The username used by devices when sending Traps to the Agent. * authKey - string - (Optional) The passphrase to use with the given user and authProtocol * authProtocol - string - (Optional) The authentication protocol to use when listening for traps from this user. Available options are: MD5, SHA, SHA224, SHA256, SHA384, SHA512. Defaults to MD5 when authKey is set. * privKey - string - (Optional) The passphrase to use with the given user privacy protocol. * privProtocol - string - (Optional) The privacy protocol to use when listening for traps from this user. Available options are: DES, AES (128 bits), AES192, AES192C, AES256, AES256C. Defaults to DES when privKey is set." - }, - { - "parameter": "bind_host", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The hostname to listen on for incoming trap packets. Binds to 0.0.0.0 by default (accepting all packets)." - }, - { - "parameter": "netflow", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures NDM NetFlow (and sFlow, IPFIX) collection." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Set to true to enable collection of NetFlow traffic." - }, - { - "parameter": "listeners", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures one or more listeners ports that will receive flow traffic. Each listener have the following options: * flow_type - string - The flow type correspond to the incoming flow protocol. Choices are: netflow5, netflow9, ipfix, sflow5 * port - string - (Optional) The port used to receive incoming flow traffic. Default port differ by flow type: netflow5(2055), netflow9(2055), ipfix(4739), sflow5(6343) * bind_host - string - (Optional) The hostname to listen on for incoming netflow packets. Binds to 0.0.0.0 by default (accepting all packets). * workers - string - (Optional) Number of workers to use for this listener. Defaults to 1. * mapping - (Optional) List of NetflowV9/IPFIX fields to additionally collect. Defaults to None. * field - integer - The Netflow field type ID to collect. * destination - string - Name of the collected field, is queryable under @ in Datadog. Default fields can be overridden, for example, `destination.port` overrides the default destination port collected. * type - string - The field type. Available options are: string, integer, hex. Defaults to hex. * endianness - string - (Optional) If type is integer, endianness can be set using this parameter. Available options are: big, little. Defaults to big." - }, - { - "parameter": "reverse_dns_enrichment_enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Set to true to enable reverse DNS enrichment of private source and destination IP addresses in NetFlow records." - }, - { - "parameter": "reverse_dns_enrichment", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures the reverse DNS enrichment component that can be used by other components in the Datadog Agent." - }, - { - "parameter": "workers", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Network Devices Configuration", - "description": "The number of concurrent workers used to perform reverse DNS lookups." - }, - { - "parameter": "chan_size", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5000", - "section": "Network Devices Configuration", - "description": "The size of the channel used to send reverse DNS lookup requests to the workers." - }, - { - "parameter": "cache", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures the cache used by the reverse DNS enrichment component." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Network Devices Configuration", - "description": "Set to true to enable reverse DNS enrichment caching." - }, - { - "parameter": "entry_ttl", - "env_variable": "", - "type": "duration", - "required": "Optional", - "default": "24h", - "section": "Network Devices Configuration", - "description": "The amount of time that a cache entry remains valid before it is expired and removed from the cache." - }, - { - "parameter": "clean_interval", - "env_variable": "", - "type": "duration", - "required": "Optional", - "default": "2h", - "section": "Network Devices Configuration", - "description": "An interval that specifies how often expired entries are removed from the cache to free space." - }, - { - "parameter": "persist_interval", - "env_variable": "", - "type": "duration", - "required": "Optional", - "default": "2h", - "section": "Network Devices Configuration", - "description": "An interval that specifies how often the cache is persisted to disk so the cache can be reloaded when the Agent is upgraded or restarted." - }, - { - "parameter": "max_retries", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Network Devices Configuration", - "description": "The maximum number of retries to perform when a DNS lookup operation fails, after which the hostname \"\" is returned and cached for the IP address." - }, - { - "parameter": "max_size", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "1000000", - "section": "Network Devices Configuration", - "description": "The maximum size in entries of the cache, above which additional entries will not be cached." - }, - { - "parameter": "rate_limiter", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures the rate limiter used by the reverse DNS enrichment component." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Network Devices Configuration", - "description": "Set to true to enable the reverse DNS enrichment rate limiter." - }, - { - "parameter": "limit_per_sec", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "1000", - "section": "Network Devices Configuration", - "description": "The maximum number of reverse DNS lookups allowed per second by the rate limiter." - }, - { - "parameter": "limit_throttled_per_sec", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "1", - "section": "Network Devices Configuration", - "description": "The maximum number of reverse DNS lookups allowed per second when the rate limiter is throttled due to errors exceeding the threshold." - }, - { - "parameter": "throttle_error_threshold", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "10", - "section": "Network Devices Configuration", - "description": "The number of consecutive errors that will trigger the rate limiter to throttle down to limit_throttled_per_sec." - }, - { - "parameter": "recovery_intervals", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "5", - "section": "Network Devices Configuration", - "description": "The number of intervals over which to increase the rate limit back to limit_per_sec when lookups are again successful after being throttled due to errors." - }, - { - "parameter": "recovery_interval", - "env_variable": "", - "type": "duration", - "required": "Optional", - "default": "5s", - "section": "Network Devices Configuration", - "description": "The interval between incrementally increasing the rate limit back to limit_per_sec when lookups are again successful after being throttled due to errors. The rate limit will be increased by (limit_per_sec - limit_throttled_per_sec) / recovery_intervals every recovery_interval, until it reaches limit_per_sec. For example, with limit_per_sec=1000, limit_throttled_per_sec=1, recovery_intervals=5, recovery_interval=5s, the limit will be increased by 200 every 5 seconds until reaching 1000." - }, - { - "parameter": "ha_agent", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "This section configures High Availability Agent feature." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Network Devices Configuration", - "description": "Set to true to enable High Availability Agent feature." - }, - { - "parameter": "config_id", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "", - "section": "Network Devices Configuration", - "description": "The config_id configuration is used by High Availability Agent to assign a specific config ID to an Agent. When used with `ha_agent.enabled: true`, all Agents with the same config_id will be part of the same group of Agents; meaning that, one Agent within this group is designated as primary and others as standby." - }, - { - "parameter": "otlp_config", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "This section configures OTLP ingest in the Datadog Agent." - }, - { - "parameter": "receiver", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "The receiver configuration. It follows the OpenTelemetry Collector's OTLP Receiver Configuration. This template lists the most commonly used settings; see the OpenTelemetry Collector documentation for a full list of available settings: https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver/config.md" - }, - { - "parameter": "protocols", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for the supported protocols." - }, - { - "parameter": "grpc", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP/gRPC listener. Setting this as an empty section enables the OTLP/gRPC listener with default options." - }, - { - "parameter": "endpoint", - "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT", - "type": "string", - "required": "Optional", - "default": "0.0.0.0:4317", - "section": "OpenTelemetry Configuration", - "description": "The OTLP/gRPC listener endpoint." - }, - { - "parameter": "transport", - "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_TRANSPORT", - "type": "string", - "required": "Optional", - "default": "tcp", - "section": "OpenTelemetry Configuration", - "description": "The OTLP/gRPC listener transport protocol. Known protocols are \"tcp\", \"udp\", \"ip\", \"unix\", \"unixgram\", and \"unixpacket\"." - }, - { - "parameter": "max_recv_msg_size_mib", - "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_MAX_RECV_MSG_SIZE_MIB", - "type": "number", - "required": "Optional", - "default": "4", - "section": "OpenTelemetry Configuration", - "description": "The maximum size (in MiB) of messages accepted by the OTLP/gRPC endpoint." - }, - { - "parameter": "http", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP/HTTP listener. Setting this as an empty section enables the OTLP/HTTP listener with default options." - }, - { - "parameter": "endpoint", - "env_variable": "DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT", - "type": "string", - "required": "Optional", - "default": "0.0.0.0:4318", - "section": "OpenTelemetry Configuration", - "description": "The OTLP/HTTP listener endpoint." - }, - { - "parameter": "metrics", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Metrics-specific configuration for OTLP ingest in the Datadog Agent." - }, - { - "parameter": "enabled", - "env_variable": "DD_OTLP_CONFIG_METRICS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "OpenTelemetry Configuration", - "description": "Set to false to disable metrics support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." - }, - { - "parameter": "resource_attributes_as_tags", - "env_variable": "DD_OTLP_CONFIG_METRICS_RESOURCE_ATTRIBUTES_AS_TAGS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "Set to true to add resource attributes of a metric to its metric tags. Please note that any of the subset of resource attributes in this list https://docs.datadoghq.com/opentelemetry/guide/semantic_mapping/ are converted to Datadog conventions and set to to metric tags whether this option is enabled or not." - }, - { - "parameter": "instrumentation_scope_metadata_as_tags", - "env_variable": "DD_OTLP_CONFIG_METRICS_INSTRUMENTATION_SCOPE_METADATA_AS_TAGS", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "OpenTelemetry Configuration", - "description": "Set to true to add metadata about the instrumentation scope that created a metric." - }, - { - "parameter": "tag_cardinality", - "env_variable": "DD_OTLP_CONFIG_METRICS_TAG_CARDINALITY", - "type": "string", - "required": "Optional", - "default": "low", - "section": "OpenTelemetry Configuration", - "description": "Configure the level of granularity of tags to send for OTLP metrics. Choices are: * low: add tags about low-cardinality objects (clusters, hosts, deployments, container images, ...) * orchestrator: add tags about pod, (in Kubernetes), or task (in ECS or Mesos) -level of cardinality * high: add tags about high-cardinality objects (individual containers, user IDs in requests, ...) WARNING: sending container tags for checks metrics may create more metrics (one per container instead of one per host). This may impact your custom metrics billing." - }, - { - "parameter": "delta_ttl", - "env_variable": "DD_OTLP_CONFIG_METRICS_DELTA_TTL", - "type": "int", - "required": "Optional", - "default": "3600", - "section": "OpenTelemetry Configuration", - "description": "The amount of time (in seconds) that values are kept in memory for calculating deltas for cumulative monotonic metrics." - }, - { - "parameter": "histograms", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP Histograms. See https://docs.datadoghq.com/metrics/otlp/?tab=histogram for details." - }, - { - "parameter": "mode", - "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_MODE", - "type": "string", - "required": "Optional", - "default": "distributions", - "section": "OpenTelemetry Configuration", - "description": "How to report histograms. Valid values are: - `distributions` to report metrics as Datadog distributions (recommended). - `nobuckets` to not report bucket metrics, - `counters` to report one metric per histogram bucket." - }, - { - "parameter": "send_count_sum_metrics", - "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_SEND_COUNT_SUM_METRICS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "Whether to report sum, count, min, and max as separate histogram metrics." - }, - { - "parameter": "send_aggregation_metrics", - "env_variable": "DD_OTLP_CONFIG_METRICS_HISTOGRAMS_SEND_AGGREGATION_METRICS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "Whether to report sum, count, min, and max as separate histogram metrics." - }, - { - "parameter": "sums", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP Sums. See https://docs.datadoghq.com/metrics/otlp/?tab=sum for details." - }, - { - "parameter": "cumulative_monotonic_mode", - "env_variable": "DD_OTLP_CONFIG_METRICS_SUMS_CUMULATIVE_MONOTONIC_MODE", - "type": "string", - "required": "Optional", - "default": "to_delta", - "section": "OpenTelemetry Configuration", - "description": "How to report cumulative monotonic sums. Valid values are: - `to_delta` to calculate delta for sum in the client side and report as Datadog counts. - `raw_value` to report the raw value as a Datadog gauge." - }, - { - "parameter": "initial_cumulative_monotonic_value", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "auto", - "section": "OpenTelemetry Configuration", - "description": "How to report the initial value for cumulative monotonic sums. Valid values are: - `auto` reports the initial value if its start timestamp is set and it happens after the process was started. - `drop` always drops the initial value. - `keep` always reports the initial value." - }, - { - "parameter": "summaries", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP Summaries. See https://docs.datadoghq.com/metrics/otlp/?tab=summary for more details." - }, - { - "parameter": "mode", - "env_variable": "DD_OTLP_CONFIG_METRICS_SUMMARIES_MODE", - "type": "string", - "required": "Optional", - "default": "gauges", - "section": "OpenTelemetry Configuration", - "description": "How to report summaries. Valid values are: - `noquantiles` to not report quantile metrics. - `gauges` to report one gauge metric per quantile." - }, - { - "parameter": "batch", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for the OTLP sending queue (batch settings). See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#sending-queue-batch-settings for more details." - }, - { - "parameter": "min_size", - "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_MIN_SIZE", - "type": "integer", - "required": "Optional", - "default": "8192", - "section": "OpenTelemetry Configuration", - "description": "The minimum number of metrics to batch before sending." - }, - { - "parameter": "max_size", - "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_MAX_SIZE", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "OpenTelemetry Configuration", - "description": "The maximum number of metrics to batch before sending. 0 means no limit on the maximum number." - }, - { - "parameter": "flush_timeout", - "env_variable": "DD_OTLP_CONFIG_METRICS_BATCH_FLUSH_TIMEOUT", - "type": "duration", - "required": "Optional", - "default": "200ms", - "section": "OpenTelemetry Configuration", - "description": "The timeout for flushing the batch." - }, - { - "parameter": "traces", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Traces-specific configuration for OTLP ingest in the Datadog Agent." - }, - { - "parameter": "enabled", - "env_variable": "DD_OTLP_CONFIG_TRACES_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "OpenTelemetry Configuration", - "description": "Set to false to disable traces support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." - }, - { - "parameter": "span_name_as_resource_name", - "env_variable": "DD_OTLP_CONFIG_TRACES_SPAN_NAME_AS_RESOURCE_NAME", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "If set to true the OpenTelemetry span name will used in the Datadog resource name. If set to false the resource name will be filled with the instrumentation library name + span kind." - }, - { - "parameter": "span_name_remappings", - "env_variable": "DD_OTLP_CONFIG_TRACES_SPAN_NAME_REMAPPINGS", - "type": "map", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Defines a map of span names and preferred names to map to. This can be used to automatically map Datadog Span Operation Names to an updated value. span_name_remappings: \"io.opentelemetry.javaagent.spring.client\": \"spring.client\" \"instrumentation:express.server\": \"express\" \"go.opentelemetry.io_contrib_instrumentation_net_http_otelhttp.client\": \"http.client\"" - }, - { - "parameter": "probabilistic_sampler", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Probabilistic sampler controlling the rate of ingestion. Using this sampler works consistently in a distributed system where the sampling rate is shared. Exceptions are made for errors and rare traces (if enabled via apm_config.enable_rare_sampler)." - }, - { - "parameter": "sampling_percentage", - "env_variable": "DD_OTLP_CONFIG_TRACES_PROBABILISTIC_SAMPLER_SAMPLING_PERCENTAGE", - "type": "number", - "required": "Optional", - "default": "100", - "section": "OpenTelemetry Configuration", - "description": "If `apm_config.probabilistic_sampler.enabled` is enabled, this config is ignored, `apm_config.probabilistic_sampler.enabled.sampling_percentage` is used instead. Percentage of traces to ingest (0 100]. Invalid values (<= 0 || > 100) are disconsidered and the default is used. If incoming spans have a sampling.priority set by the user, it will be followed and the sampling percentage will be overridden." - }, - { - "parameter": "enabled", - "env_variable": "DD_OTLP_CONFIG_TRACES_INFRA_ATTRIBUTES_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "OpenTelemetry Configuration", - "description": "Set to false to disable Infra-Attribute-Processor for traces pipeline in the OTLP ingest endpoint." - }, - { - "parameter": "ignore_missing_datadog_fields", - "env_variable": "DD_OTLP_CONFIG_IGNORE_MISSING_DATADOG_FIELDS", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "IgnoreMissingDatadogFields specifies whether to recompute DD span fields if the corresponding \"datadog.\" namespaced span attributes are missing. If true (default), incoming \"datadog.\" namespaced OTLP span attributes are used to construct the DD span. If these attributes are missing, they are recomputed from the other OTLP semantic convention attributes. If it is false, a field is populated only if its associated \"datadog.\" OTLP span attribute exists; otherwise, the field is left empty." - }, - { - "parameter": "logs", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Logs-specific configuration for OTLP ingest in the Datadog Agent." - }, - { - "parameter": "enabled", - "env_variable": "DD_OTLP_CONFIG_LOGS_ENABLED", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "OpenTelemetry Configuration", - "description": "Set to true to enable logs support in the OTLP ingest endpoint. To enable the OTLP ingest, the otlp_config.receiver section must be set." - }, - { - "parameter": "batch", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Configuration for OTLP sending queue batch. See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#sending-queue-batch-settings for more details." - }, - { - "parameter": "min_size", - "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_MIN_SIZE", - "type": "integer", - "required": "Optional", - "default": "8192", - "section": "OpenTelemetry Configuration", - "description": "The minimum number of metrics to batch before sending." - }, - { - "parameter": "max_size", - "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_MAX_SIZE", - "type": "integer", - "required": "Optional", - "default": "0", - "section": "OpenTelemetry Configuration", - "description": "The maximum number of logs to batch before sending. 0 means no limit on the maximum number." - }, - { - "parameter": "flush_timeout", - "env_variable": "DD_OTLP_CONFIG_LOGS_BATCH_FLUSH_TIMEOUT", - "type": "duration", - "required": "Optional", - "default": "200ms", - "section": "OpenTelemetry Configuration", - "description": "The timeout for flushing the batch." - }, - { - "parameter": "debug", - "env_variable": "", - "type": "object", - "required": "Optional", - "default": "", - "section": "OpenTelemetry Configuration", - "description": "Debug-specific configuration for OTLP ingest in the Datadog Agent. This template lists the most commonly used settings; see the OpenTelemetry Collector documentation for a full list of available settings: https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter#getting-started" - }, - { - "parameter": "verbosity", - "env_variable": "DD_OTLP_CONFIG_DEBUG_VERBOSITY", - "type": "string", - "required": "Optional", - "default": "normal", - "section": "OpenTelemetry Configuration", - "description": "Verbosity of debug logs when Datadog Agent receives otlp traces/metrics. Valid values are basic, normal, detailed, none." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Auto-injection Configuration", - "description": "Set to true to enable the APM Auto-injection. Please note that enabling this service will result in a kernel driver being loaded." - }, - { - "parameter": "log_file", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "c:\\programdata\\datadog\\logs\\apm-inject.log", - "section": "Datadog APM Auto-injection Configuration", - "description": "The full path to the file where injection controller logs are written." - }, - { - "parameter": "log_level", - "env_variable": "", - "type": "string", - "required": "Optional", - "default": "info", - "section": "Datadog APM Auto-injection Configuration", - "description": "Minimum log level of the injection controller. Valid log levels are: debug, info, warn, and error." - }, - { - "parameter": "log_to_console", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Datadog APM Auto-injection Configuration", - "description": "Set to 'false' to disable injection controller logging to stdout." - }, - { - "parameter": "socket_port", - "env_variable": "", - "type": "integer", - "required": "Optional", - "default": "3030", - "section": "Datadog APM Auto-injection Configuration", - "description": "The port used for the injection controller communications API (served on localhost)." - }, - { - "parameter": "enabled", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Auto-injection Configuration", - "description": "Enable internal profiling for the injection controller process." - }, - { - "parameter": "DD_APM_TRACING_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "true", - "section": "Datadog APM Configuration", - "description": "Enable Datadog tracing. Docs: https://docs.datadoghq.com/tracing/trace_collection/" - }, - { - "parameter": "DD_RUNTIME_METRICS_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable runtime metrics. Docs: https://docs.datadoghq.com/tracing/metrics/runtime_metrics/?tab=java#environment-variables" - }, - { - "parameter": "DD_LOGS_INJECTION", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable automatic trace and span ID injection into logs. Docs: https://docs.datadoghq.com/tracing/other_telemetry/connect_logs_and_traces/" - }, - { - "parameter": "DD_PROFILING_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable continuous profiling. Docs: https://docs.datadoghq.com/profiler/" - }, - { - "parameter": "DD_DATA_STREAMS_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable data streams monitoring. Docs: https://docs.datadoghq.com/data_streams/" - }, - { - "parameter": "DD_APPSEC_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable the Application Security product. Docs: https://docs.datadoghq.com/security/application_security/" - }, - { - "parameter": "DD_IAST_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable Interactive Application Security Testing (IAST). Docs: https://docs.datadoghq.com/security/code_security/iast/setup/#amazon-ecs" - }, - { - "parameter": "DD_DYNAMIC_INSTRUMENTATION_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable Dynamic Instrumentation. Docs: https://docs.datadoghq.com/dynamic_instrumentation/" - }, - { - "parameter": "DD_DATA_JOBS_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable data jobs visibility." - }, - { - "parameter": "DD_APPSEC_SCA_ENABLED", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable Software Composition Analysis. Docs: https://docs.datadoghq.com/security/code_security/software_composition_analysis/" - }, - { - "parameter": "DD_TRACE_DEBUG", - "env_variable": "", - "type": "boolean", - "required": "Optional", - "default": "false", - "section": "Datadog APM Configuration", - "description": "Enable debug logging for the tracer. Docs: https://docs.datadoghq.com/tracing/troubleshooting/tracer_debug_logs" - } - ] - } -} \ No newline at end of file From 3672a068478eaa2395ed166deaef20eece55559b Mon Sep 17 00:00:00 2001 From: Heston Hoffman Date: Wed, 18 Feb 2026 13:12:31 -0800 Subject: [PATCH 31/31] Apply suggestions from code review Co-authored-by: Jen Gilbert --- .vscode/markdoc.code-snippets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/markdoc.code-snippets b/.vscode/markdoc.code-snippets index bf346f23769..2832b0add2a 100644 --- a/.vscode/markdoc.code-snippets +++ b/.vscode/markdoc.code-snippets @@ -75,7 +75,7 @@ "prefix": ";;version", "body": [ "", - "{% if semverIsAtLeast($${2:trait_id}, \"${1:version}\") %}", + "{% if semverIsAtLeast($${2:semver_trait_id}, \"${1:version}\") %}", "${3:Content shown if version is met}", "{% /if %}", ""