From 572a05b6988d90dca6bd4afeb515df09e05ac419 Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Wed, 8 Oct 2025 13:59:53 +0100 Subject: [PATCH 01/22] update --- config/_default/config.yaml | 23 +++ config/_default/languages.yaml | 3 + config/_default/menus/main.studio.yaml | 57 ++++++ content/studio/_index.md | 8 + content/studio/getting_started.md | 5 + content/studio/test.md | 5 + layouts/partials/nav/left-nav-studio.html | 206 +++++++++++++++++++++ layouts/partials/sidenav/main-sidenav.html | 6 +- layouts/studio/baseof.html | 75 ++++++++ 9 files changed, 387 insertions(+), 1 deletion(-) create mode 100644 config/_default/menus/main.studio.yaml create mode 100644 content/studio/_index.md create mode 100644 content/studio/getting_started.md create mode 100644 content/studio/test.md create mode 100644 layouts/partials/nav/left-nav-studio.html create mode 100644 layouts/studio/baseof.html diff --git a/config/_default/config.yaml b/config/_default/config.yaml index 0d6def69c63..22b61943121 100644 --- a/config/_default/config.yaml +++ b/config/_default/config.yaml @@ -132,6 +132,29 @@ module: - source: content/es target: content lang: es + # studio + # Studio content new + - source: content/studio + target: content + lang: studio + # Load in existing content + - source: content/en + target: content + lang: studio + includeFiles: + - "/account_management/**" + - "/agent/**" + - "/bits_ai/**" + - "/dashboards/**" + - "/error_tracking/**" + - "/integrations/**" + - "/llm_observability/**" + - "/logs/**" + - "/monitors/**" + - "/metrics/**" + - "/notebooks/**" + - "/product_analytics/**" + # end studio - source: static target: static - source: layouts diff --git a/config/_default/languages.yaml b/config/_default/languages.yaml index 1d2fcb8c669..c4a64f4a4e4 100644 --- a/config/_default/languages.yaml +++ b/config/_default/languages.yaml @@ -23,3 +23,6 @@ ko: es: languageName: "Español" weight: 5 +studio: + languageName: "Studio" + weight: 6 diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml new file mode 100644 index 00000000000..608d6fc95fe --- /dev/null +++ b/config/_default/menus/main.studio.yaml @@ -0,0 +1,57 @@ +menu: + studio: + - name: Getting Started + url: /studio/getting_started/ + identifier: getting_started + weight: 1 + - name: Test + url: /studio/test/ + identifier: test + weight: 2 + + # pull in from existing docs instead + - name: Account Management + params: + ref_id: account_management + - name: Agent + params: + ref_id: agent + - name: Bits Ai + params: + ref_id: agent + - name: Dashboards + params: + ref_id: dashboards # This should match the identifier in main.en.yaml + - name: Error Tracking + params: + ref_id: error_tracking + - name: Integrations + params: + ref_id: integrations + - name: LLM Observability + params: + ref_id: llm_observability + - name: Logs + params: + ref_id: logs + - name: Monitors + params: + ref_id: monitors + - name: Metrics + params: + ref_id: metrics + - name: Notebooks + params: + ref_id: notebooks + - name: Product Analytics + params: + ref_id: product_analytics + + # Mix of both +# - name: Notebooks +# url: notebooks/ +# identifier: notebooks +# - name: Notebooks Analysis Features +# parent: notebooks +# params: +# ref_id: notebooks_advanced_analysis diff --git a/content/studio/_index.md b/content/studio/_index.md new file mode 100644 index 00000000000..f3eecaa7e65 --- /dev/null +++ b/content/studio/_index.md @@ -0,0 +1,8 @@ +--- +title: home +layout: studio +cascade: + layout: studio +--- + +Test diff --git a/content/studio/getting_started.md b/content/studio/getting_started.md new file mode 100644 index 00000000000..53bd3629622 --- /dev/null +++ b/content/studio/getting_started.md @@ -0,0 +1,5 @@ +--- +title: Getting started +--- + +testing diff --git a/content/studio/test.md b/content/studio/test.md new file mode 100644 index 00000000000..4548b22a3fa --- /dev/null +++ b/content/studio/test.md @@ -0,0 +1,5 @@ +--- +title: testing +--- + +This is some testing... diff --git a/layouts/partials/nav/left-nav-studio.html b/layouts/partials/nav/left-nav-studio.html new file mode 100644 index 00000000000..fc3c7fe04cf --- /dev/null +++ b/layouts/partials/nav/left-nav-studio.html @@ -0,0 +1,206 @@ +{{/* + This navigation is used on the left of the site, and is the main Studio documentation nav. + Looking for the header nav? see website-modules + */}} + + {{ $dot := . }} + {{ $studioMenu := "studio" }} + {{ $menu := .Scratch.Get "menu" }} + {{ $currentPage := . }} + + +{{ $mainMenu := index .Site.Menus "main" }} +{{ if not $mainMenu }} + {{ $mainMenu = index .Sites.Default.Menus "main" }} +{{ end }} + + +{{ with index .Site.Menus $studioMenu }} + {{ $dot.Scratch.Set "menu" . }} +{{ else }} + {{ $dot.Scratch.Set "menu" (index .Sites.Default.Menus $studioMenu) }} +{{ end }} +{{ $menu := .Scratch.Get "menu" }} + +{{ $currentPage := . }} + + +{{ $currentEnURL := $currentPage.RelPermalink }} +{{ if ne $currentPage.Lang "en" }} + {{ $currentEnURL = (strings.Replace $currentPage.RelPermalink (printf "/%s" .Lang) "") }} +{{ end }} + +{{/* + build array ($engMenuChildren) of english menu items with parents from "studio.en.yaml". + for use in providing english names for anchoring the nav-links (.nav-link) +*/}} +{{ if ne $currentPage.Lang "en" }} +{{$engMenu := (index .Sites.Default.Menus $studioMenu) }} +{{ range $engMenu }} + {{ if and (.HasChildren) (ne $currentPage.CurrentSection.RelPermalink "/studio/") }} + {{ range .Children }} + {{ $dot.Scratch.SetInMap "engMenuChildren" .Identifier .Name }} + {{ end }} + {{ end }} +{{ end }} +{{ end }} + +{{$engMenuChildren := $dot.Scratch.Get "engMenuChildren" | default dict}} + +{{ $path := (printf "%s/" $.Site.Params.branch) }} + +{{/* account for branch name in preview site for data-path */}} +{{ if eq $.Site.Params.environment "preview"}} + {{ $.Scratch.Set "branch_path" $path }} +{{ else }} + {{ $.Scratch.Set "branch_path" "" }} +{{ end }} + +{{ $branchPath := trim ($.Scratch.Get "branch_path") "/" }} +{{ $url_without_anchor := "" }} + + diff --git a/layouts/partials/sidenav/main-sidenav.html b/layouts/partials/sidenav/main-sidenav.html index 6e072b54913..c42fa821aeb 100644 --- a/layouts/partials/sidenav/main-sidenav.html +++ b/layouts/partials/sidenav/main-sidenav.html @@ -16,7 +16,11 @@ {{ end}}
- {{ partialCached "nav/left-nav.html" . .Section .Site.Language.Lang }} + {{ if eq site.Language.Lang "studio" }} + {{ partialCached "nav/left-nav-studio.html" . .Section .Site.Language.Lang }} + {{ else }} + {{ partialCached "nav/left-nav.html" . }} + {{ end }}
diff --git a/layouts/studio/baseof.html b/layouts/studio/baseof.html new file mode 100644 index 00000000000..5cfbd59ae78 --- /dev/null +++ b/layouts/studio/baseof.html @@ -0,0 +1,75 @@ + + + + + {{ partialCached "header-scripts.html" . }} + + + {{ partial "prefetch.html" . }} + {{ partial "preload.html" . }} + {{ .Title }} + + {{ if .Params.external_redirect }} {{ partial "meta-http-equiv.html" . }} {{ end }} + {{- partial "canonical.html" . -}} + {{- partial "noindex.html" . -}} + {{- partial "hreflang.html" . -}} + + + + {{ partialCached "css.html" . }} + + {{- if and (ne $.Params.disable_opengraph_meta_tags true) .File -}} + {{- partial "meta.html" . -}} + {{- end -}} + +{{- $bodyClass := $.Scratch.Get "bodyClass" -}} +{{ $ctx := . }} + + + + +
+
+
+
+
+
+
+
+ {{ partialCached "header/header.html" . }} + +
+
+
+ {{ partial "sidenav/studio-sidenav.html" . }} +
+ +
+
+ {{ block "main" . }}{{ end }} + {{ partial "page-edit.html" (dict "ctx" $ctx "type" "contribute") }} +
+
+ + {{ if ne .Params.disable_sidebar true }} + + {{ end }} +
+
+ + {{ partialCached "footer/footer.html" . }} + {{ partial "footer-scripts.html" . }} + {{ partial "footer-js-dd-docs-methods" . }} + {{ partial "preview_banner/preview_banner" . }} + + + From 0b5592558181863c9f26ca5c3b1426acff303ade Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Wed, 8 Oct 2025 16:36:08 +0100 Subject: [PATCH 02/22] update --- content/en/account_management/org_switching.md | 5 +++++ content/studio/_index.md | 4 ++-- content/studio/getting_started.md | 1 + content/studio/index.md | 8 ++++++++ content/studio/test.md | 1 + layouts/shortcodes/studio.html | 1 + layouts/studio/baseof.html | 9 ++++++++- 7 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 content/studio/index.md create mode 100644 layouts/shortcodes/studio.html diff --git a/content/en/account_management/org_switching.md b/content/en/account_management/org_switching.md index 1ded83b076e..b0be3a03091 100644 --- a/content/en/account_management/org_switching.md +++ b/content/en/account_management/org_switching.md @@ -7,6 +7,11 @@ further_reading: text: "Managing Multiple-Organization Accounts" --- +{{% studio %}} +## STUDIO CONTENT ONLY +This is studio only content +{{% /studio %}} + If you belong to multiple Datadog organizations, the org switcher at the bottom left of the nav bar allows you to toggle between organizations. You can also view all organizations and switch between them from the [**Organizations** page][1] in **Personal Settings**. {{< img src="account_management/org_switching_062024.png" alt="Two ways of switching organizations" style="width:90%;" >}} diff --git a/content/studio/_index.md b/content/studio/_index.md index f3eecaa7e65..ea360791cc4 100644 --- a/content/studio/_index.md +++ b/content/studio/_index.md @@ -1,8 +1,8 @@ --- title: home -layout: studio +type: studio cascade: - layout: studio + type: studio --- Test diff --git a/content/studio/getting_started.md b/content/studio/getting_started.md index 53bd3629622..71e69a28481 100644 --- a/content/studio/getting_started.md +++ b/content/studio/getting_started.md @@ -1,5 +1,6 @@ --- title: Getting started +type: studio --- testing diff --git a/content/studio/index.md b/content/studio/index.md new file mode 100644 index 00000000000..ea360791cc4 --- /dev/null +++ b/content/studio/index.md @@ -0,0 +1,8 @@ +--- +title: home +type: studio +cascade: + type: studio +--- + +Test diff --git a/content/studio/test.md b/content/studio/test.md index 4548b22a3fa..412c452c38e 100644 --- a/content/studio/test.md +++ b/content/studio/test.md @@ -1,5 +1,6 @@ --- title: testing +type: studio --- This is some testing... diff --git a/layouts/shortcodes/studio.html b/layouts/shortcodes/studio.html new file mode 100644 index 00000000000..5fd747504ba --- /dev/null +++ b/layouts/shortcodes/studio.html @@ -0,0 +1 @@ +{{- if eq site.Language.Lang "studio" -}}{{- .Inner -}}{{- end -}} diff --git a/layouts/studio/baseof.html b/layouts/studio/baseof.html index 5cfbd59ae78..905a7bb6e50 100644 --- a/layouts/studio/baseof.html +++ b/layouts/studio/baseof.html @@ -23,6 +23,13 @@ {{- if and (ne $.Params.disable_opengraph_meta_tags true) .File -}} {{- partial "meta.html" . -}} {{- end -}} + + {{- $bodyClass := $.Scratch.Get "bodyClass" -}} {{ $ctx := . }} @@ -44,7 +51,7 @@
- {{ partial "sidenav/studio-sidenav.html" . }} + {{ partial "sidenav/main-sidenav.html" . }}
From 5751c287d305aee84a7eecd800d5644ab76668d4 Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Fri, 10 Oct 2025 09:11:18 +0100 Subject: [PATCH 03/22] menu --- config/_default/menus/main.studio.yaml | 74 +++++++++++-- layouts/partials/nav/left-nav-studio.html | 129 ++++++++++++++++++---- 2 files changed, 169 insertions(+), 34 deletions(-) diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 608d6fc95fe..6a2dd76b680 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -1,57 +1,107 @@ menu: studio: + # Studio specific labels + - name: Essentials + identifier: essentials_heading + weight: 1000000 + - name: In The App + identifier: platform_heading + weight: 2000000 + + + # Menu items that appear under labels starts below here + - name: Getting Started url: /studio/getting_started/ + parent: essentials_heading identifier: getting_started weight: 1 - name: Test url: /studio/test/ + parent: essentials_heading identifier: test weight: 2 - # pull in from existing docs instead + # pull in from existing docs instead with granular control - name: Account Management + parent: platform_heading params: ref_id: account_management + # Include specific child items only + includes: + - account_management_api_keys + - account_management_billing + # Or exclude specific items + # excludes: + # - account_management_saml + - name: Agent + parent: platform_heading params: ref_id: agent + # Include only configuration and troubleshooting sections + includes: + - agent_configuration + - agent_troubleshooting + # Exclude IoT and architecture + excludes: + - agent_iot + - architecture + - name: Bits Ai + parent: platform_heading params: ref_id: agent + - name: Dashboards + parent: platform_heading params: ref_id: dashboards # This should match the identifier in main.en.yaml + # Include all children by default, but exclude specific ones + excludes: + - dashboard_widgets_advanced + - name: Error Tracking + parent: platform_heading params: ref_id: error_tracking + - name: Integrations + parent: platform_heading params: - ref_id: integrations + ref_id: integrations_top_level + # Only include guides, exclude everything else + includes: + - integration_guides + - name: LLM Observability + parent: platform_heading params: ref_id: llm_observability + - name: Logs + parent: platform_heading params: ref_id: logs + # Include everything (no filters) + - name: Monitors + parent: platform_heading params: - ref_id: monitors + ref_id: alerting + # Exclude specific monitor types + excludes: + - monitors_notify_downtimes + - name: Metrics + parent: platform_heading params: ref_id: metrics - name: Notebooks + parent: platform_heading params: ref_id: notebooks - name: Product Analytics + parent: platform_heading params: ref_id: product_analytics - - # Mix of both -# - name: Notebooks -# url: notebooks/ -# identifier: notebooks -# - name: Notebooks Analysis Features -# parent: notebooks -# params: -# ref_id: notebooks_advanced_analysis diff --git a/layouts/partials/nav/left-nav-studio.html b/layouts/partials/nav/left-nav-studio.html index fc3c7fe04cf..9d0e6374f1c 100644 --- a/layouts/partials/nav/left-nav-studio.html +++ b/layouts/partials/nav/left-nav-studio.html @@ -66,18 +66,25 @@ {{/* This is a cross-referenced item - find it in main menu */}} {{ $dot.Scratch.Set "mainMenuItem" dict }} {{ $refId := .Params.ref_id }} + {{ $includes := .Params.includes }} + {{ $excludes := .Params.excludes }} + {{/* Function to find menu item recursively */}} + {{ $dot.Scratch.Set "findMenuItem" false }} {{ range $mainMenu }} {{ if eq .Identifier $refId }} {{ $dot.Scratch.Set "mainMenuItem" . }} - {{ else if .Children }} + {{ $dot.Scratch.Set "findMenuItem" true }} + {{ else if and (not ($dot.Scratch.Get "findMenuItem")) .Children }} {{ range .Children }} {{ if eq .Identifier $refId }} {{ $dot.Scratch.Set "mainMenuItem" . }} - {{ else if .Children }} + {{ $dot.Scratch.Set "findMenuItem" true }} + {{ else if and (not ($dot.Scratch.Get "findMenuItem")) .Children }} {{ range .Children }} {{ if eq .Identifier $refId }} {{ $dot.Scratch.Set "mainMenuItem" . }} + {{ $dot.Scratch.Set "findMenuItem" true }} {{ end }} {{ end }} {{ end }} @@ -86,33 +93,105 @@ {{ end }} {{ $mainMenuItem := $dot.Scratch.Get "mainMenuItem" }} - {{ if $mainMenuItem.Name }} + {{ if and $mainMenuItem $mainMenuItem.Name }}
  • {{$url_without_anchor = ((index (split $mainMenuItem.URL "#") 0) | relLangURL)}} {{ .Name }} - {{/* Render children from main menu if they exist */}} + {{/* Render filtered children from main menu if they exist */}} {{ if $mainMenuItem.Children }} {{ end }} @@ -134,18 +213,24 @@ {{/* This child is cross-referenced - find it in main menu */}} {{ $dot.Scratch.Set "childMainMenuItem" dict }} {{ $childRefId := .Params.ref_id }} + {{ $childIncludes := .Params.includes }} + {{ $childExcludes := .Params.excludes }} + {{ $dot.Scratch.Set "findChildMenuItem" false }} {{ range $mainMenu }} {{ if eq .Identifier $childRefId }} {{ $dot.Scratch.Set "childMainMenuItem" . }} - {{ else if .Children }} + {{ $dot.Scratch.Set "findChildMenuItem" true }} + {{ else if and (not ($dot.Scratch.Get "findChildMenuItem")) .Children }} {{ range .Children }} {{ if eq .Identifier $childRefId }} {{ $dot.Scratch.Set "childMainMenuItem" . }} - {{ else if .Children }} + {{ $dot.Scratch.Set "findChildMenuItem" true }} + {{ else if and (not ($dot.Scratch.Get "findChildMenuItem")) .Children }} {{ range .Children }} {{ if eq .Identifier $childRefId }} {{ $dot.Scratch.Set "childMainMenuItem" . }} + {{ $dot.Scratch.Set "findChildMenuItem" true }} {{ end }} {{ end }} {{ end }} @@ -154,7 +239,7 @@ {{ end }} {{ $childMainMenuItem := $dot.Scratch.Get "childMainMenuItem" }} - {{ if $childMainMenuItem.Name }} + {{ if and $childMainMenuItem $childMainMenuItem.Name }}
  • +
  • {{$url_without_anchor = ((index (split $mainMenuItem.URL "#") 0) | relLangURL)}} {{ .Name }} @@ -133,7 +133,7 @@ {{ end }} {{ if $shouldInclude }} -
  • +
  • {{$url_without_anchor = ((index (split .URL "#") 0) | relLangURL)}} {{ .Name }} @@ -244,7 +244,7 @@ {{ $childMainMenuItem := $dot.Scratch.Get "childMainMenuItem" }} {{ if and $childMainMenuItem $childMainMenuItem.Name }} -
  • {{ else }} -
  • +
  • {{ .Name }} From 9141994ff6e9910cdc1eabcd3719c56d44c50cb5 Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Tue, 14 Oct 2025 14:05:54 +0100 Subject: [PATCH 08/22] update --- layouts/partials/sidenav/main-sidenav.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/sidenav/main-sidenav.html b/layouts/partials/sidenav/main-sidenav.html index c42fa821aeb..4065725331a 100644 --- a/layouts/partials/sidenav/main-sidenav.html +++ b/layouts/partials/sidenav/main-sidenav.html @@ -19,7 +19,7 @@ {{ if eq site.Language.Lang "studio" }} {{ partialCached "nav/left-nav-studio.html" . .Section .Site.Language.Lang }} {{ else }} - {{ partialCached "nav/left-nav.html" . }} + {{ partialCached "nav/left-nav.html" . .Section .Site.Language.Lang }} {{ end }}
  • From 6e9ba6176a642884e0665f17ac43d9776d44df04 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Wed, 15 Oct 2025 11:41:49 -0700 Subject: [PATCH 09/22] reorder menu and add child page --- config/_default/menus/main.studio.yaml | 153 ++++++++++-------- .../_index.md} | 2 +- content/studio/getting_started/child_page.md | 7 + 3 files changed, 96 insertions(+), 66 deletions(-) rename content/studio/{getting_started.md => getting_started/_index.md} (56%) create mode 100644 content/studio/getting_started/child_page.md diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index dc6f1119726..ecfdf92815e 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -1,30 +1,88 @@ menu: studio: # Studio specific labels + - name: Onboarding + identifier: onboarding_heading + weight: 1000000 - name: Essentials identifier: essentials_heading - weight: 1000000 - - name: In The App - identifier: platform_heading weight: 2000000 - + - name: Administration + identifier: administration_heading + weight: 3000000 + - name: Platform + identifier: platform_heading + weight: 4000000 # Menu items that appear under labels starts below here - name: Getting Started url: /studio/getting_started/ - parent: essentials_heading + parent: onboarding_heading identifier: getting_started weight: 1 + - name: Getting Started Child Page + url: /studio/getting_started/ + parent: getting_started + identifier: getting_started_child_page + weight: 101 - name: Test url: /studio/test/ parent: essentials_heading identifier: test weight: 2 - + - name: Dashboards + parent: essentials_heading + params: + ref_id: dashboards # This should match the identifier in main.en.yaml + # Include all children by default, but exclude specific ones + - name: Notebooks + parent: essentials_heading + params: + ref_id: notebooks + - name: Monitors + parent: essentials_heading + params: + ref_id: alerting + # Exclude specific monitor types + includes: + - monitors_types_metric + - monitors_types_error_tracking + - monitors_types_logs + - name: Bits AI + parent: essentials_heading + params: + ref_id: bits_ai + excludes: + - bits_ai_sre + - name: LLM Observability + parent: essentials_heading + params: + ref_id: llm_observability + - name: Metrics + parent: essentials_heading + params: + ref_id: metrics + - name: Error Tracking + parent: essentials_heading + params: + ref_id: error_tracking # pull in from existing docs instead with granular control + - name: Logs + parent: essentials_heading + params: + ref_id: logs + # Include everything (no filters) + - name: Product Analytics + parent: essentials_heading + params: + ref_id: product_analytics + - name: Session Replay + parent: essentials_heading + params: + ref_id: session_replay - name: Account Management - parent: platform_heading + parent: administration_heading params: ref_id: account_management # Include specific child items only @@ -34,74 +92,39 @@ menu: # Or exclude specific items # excludes: # - account_management_saml - - - name: Agent - parent: platform_heading + - name: Data Security + parent: administration_heading params: - ref_id: agent - # Include only configuration and troubleshooting sections + ref_id: data_security includes: - - agent_configuration - - agent_troubleshooting - # Exclude IoT and architecture - excludes: - - agent_iot - - architecture - - - name: Bits Ai + - data_security_agent + - data_security_log_management + - data_security_pci_compliance + - data_security_hipaa_compliance + - data_retention_periods + - data_security_guide + - name: Integrations parent: platform_heading params: - ref_id: agent - - - name: Dashboards + ref_id: integrations_top_level + - name: API parent: platform_heading params: - ref_id: dashboards # This should match the identifier in main.en.yaml - # Include all children by default, but exclude specific ones - excludes: - - dashboard_widgets_advanced - - - name: Error Tracking + ref_id: api + - name: Agent parent: platform_heading params: - ref_id: error_tracking + ref_id: agent + + + + + + + + - - name: Integrations - parent: platform_heading - params: - ref_id: integrations_top_level - # Only include guides, exclude everything else - includes: - - integration_guides - - name: LLM Observability - parent: platform_heading - params: - ref_id: llm_observability - - name: Logs - parent: platform_heading - params: - ref_id: logs - # Include everything (no filters) - - name: Monitors - parent: platform_heading - params: - ref_id: alerting - # Exclude specific monitor types - excludes: - - monitors_notify_downtimes - - name: Metrics - parent: platform_heading - params: - ref_id: metrics - - name: Notebooks - parent: platform_heading - params: - ref_id: notebooks - - name: Product Analytics - parent: platform_heading - params: - ref_id: product_analytics diff --git a/content/studio/getting_started.md b/content/studio/getting_started/_index.md similarity index 56% rename from content/studio/getting_started.md rename to content/studio/getting_started/_index.md index 71e69a28481..3998911b45a 100644 --- a/content/studio/getting_started.md +++ b/content/studio/getting_started/_index.md @@ -1,5 +1,5 @@ --- -title: Getting started +title: Getting Started type: studio --- diff --git a/content/studio/getting_started/child_page.md b/content/studio/getting_started/child_page.md new file mode 100644 index 00000000000..12a66865855 --- /dev/null +++ b/content/studio/getting_started/child_page.md @@ -0,0 +1,7 @@ +--- +title: Getting Started Child Page +type: studio +--- + +second test + From ad6a30a0ea3163664cf206ef2921f756ee9264ba Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Wed, 15 Oct 2025 11:51:43 -0700 Subject: [PATCH 10/22] correct url --- config/_default/menus/main.studio.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index ecfdf92815e..12021684534 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -21,8 +21,8 @@ menu: parent: onboarding_heading identifier: getting_started weight: 1 - - name: Getting Started Child Page - url: /studio/getting_started/ + - name: Child Page + url: /studio/getting_started/child_page parent: getting_started identifier: getting_started_child_page weight: 101 From a699a2e8f7189c85c5d7f277941ec7eb45702afa Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Thu, 16 Oct 2025 11:09:59 +0100 Subject: [PATCH 11/22] update --- config/_default/config.yaml | 6 ++++++ config/_default/menus/main.studio.yaml | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/config/_default/config.yaml b/config/_default/config.yaml index 22b61943121..1cb203b3c48 100644 --- a/config/_default/config.yaml +++ b/config/_default/config.yaml @@ -142,9 +142,11 @@ module: target: content lang: studio includeFiles: + - "/api/latest/**" - "/account_management/**" - "/agent/**" - "/bits_ai/**" + - "/data_security/**" - "/dashboards/**" - "/error_tracking/**" - "/integrations/**" @@ -154,6 +156,10 @@ module: - "/metrics/**" - "/notebooks/**" - "/product_analytics/**" + # load in integrations + - source: _vendor/content/en + target: content + lang: studio # end studio - source: static target: static diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 12021684534..8585c566091 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -107,10 +107,16 @@ menu: parent: platform_heading params: ref_id: integrations_top_level + # Instead of sourcing the api nav from main menu which has no children + # Lets define our own so we can load /api/latest/ and not have to handle redirect for just /api/ - name: API parent: platform_heading - params: - ref_id: api + url: /studio/api/latest/ + identifier: studio_api + #- name: API + # parent: platform_heading + # params: + # ref_id: api - name: Agent parent: platform_heading params: From 72936eb769b040fa2c766c16bc46a19bb8059d3a Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Thu, 6 Nov 2025 16:00:48 -0800 Subject: [PATCH 12/22] add getting started --- config/_default/menus/main.studio.yaml | 5 - content/studio/getting_started/_index.md | 172 ++++++++++++++++++++++- 2 files changed, 171 insertions(+), 6 deletions(-) diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 8585c566091..91ff18f46db 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -21,11 +21,6 @@ menu: parent: onboarding_heading identifier: getting_started weight: 1 - - name: Child Page - url: /studio/getting_started/child_page - parent: getting_started - identifier: getting_started_child_page - weight: 101 - name: Test url: /studio/test/ parent: essentials_heading diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index 3998911b45a..c9aec05a75c 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -1,6 +1,176 @@ --- title: Getting Started +description: Set up pre-configured monitoring packages for your frontend, backend, or LLM application using agentic or manual setup. type: studio --- -testing +## Overview + +Datadog Studio gives small development teams a streamlined observability platform to monitor, debug, and optimize their applications. Get started with pre-configured packages tailored to what you're building without any complex setup required. + +## How it works + +Datadog Studio provides pre-configured monitoring packages tailored to your application type. Select a package based on what you're building (frontend, backend, or LLM/AI), then use either **agentic setup**, where AI assistants like Cursor or Claude automatically configure your codebase, or **manual setup** for full control. After successfully configuring your package, your application sends telemetry data to Datadog, giving you immediate access to error tracking, performance monitoring, and analytics. + +## What's included + +Choose your package based on what you're building: +| Application Type | Products Included | +|------------------------|--------------| +| Frontend applications | [Error Tracking][1], [Session Replay][2], [Product Analytics][3] | +| Backend services | [Error Tracking][1], [Logs][4], [Metrics][5] | +| LLMs / AI agents | [LLM Observability and AI Agent Monitoring][6] | + +## Sign up for Datadog Studio + +Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][7]. + +## Setup + +Choose your setup method: + +- [Agentic setup](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). +- [Manual setup](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself—gives you full control over the integration. + +## Agentic setup + +### Supported platforms +Agentic setup is available for the following platforms: + +**Frontend applications** +- Next.js +- React +- Svelte +- Vanilla JavaScript (Angular is not supported) +- Vue + +**LLM and AI agent applications** +- Python or Node.js—from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12]. + +### Install the Datadog Onboarding MCP server + +To install the Datadog Onboarding Model Context Protocol (MCP) server: + +{{% collapse-content title="Cursor" level="h4" expanded=false id="cursor" %}} + +1. Copy the Cursor Deeplink into your browser based on your site region: + +{{< tabs >}} +{{% tab "US1" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= +``` +{{% /tab %}} + +{{% tab "US3" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 +``` +{{% /tab %}} + +{{% tab "US5" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 +``` +{{% /tab %}} +{{< /tabs >}} + +2. In Cursor, install the MCP, then click **Connect**. +3. If prompted to open an external website, click **Open**. +3. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. + +{{% /collapse-content %}} + +{{% collapse-content title="Claude Code" level="h4" expanded=false id="claude-code" %}} + +1. Copy and execute the Claude Code command into your terminal: + +{{< tabs >}} +{{% tab "US1" %}} +```sh +claude mcp add --transport http datadog-onboarding-mcp "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp +``` +{{% /tab %}} + +{{% tab "US3" %}} +```sh +claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp +``` +{{% /tab %}} +{{< /tabs >}} + +2. Start a Claude Code session and execute the `/mcp` command inside the session. +3. Select the MCP server you added and press **Enter** to login. + +{{% /collapse-content %}} + +### Set up your project + +Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. + +**Prompt**: +```console +Add Datadog Studio to my project +``` + +When you give this prompt to your coding agent, it does the following: + +- Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog +- Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) +- Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) +- Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog + +### Deploying to production + +Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. + +## Manual setup + +If you prefer manual setup, follow the in-app instructions for each product in your selected package. You can either choose manual setup from the Getting Started page or by adding a New Application from the homepage. + +### Frontend monitoring +- [Frontend Error Tracking][13] +- [Session Replay][14] +- [Product Analytics][15] + +### Backend monitoring +- [Backend Error Tracking][17] +- Logs from: + - [Servers / VMs][18] + - [Containers][19] + - [Cloud / Integrations][20] + - [Applications][21] + - [APIs][22] +- Metrics: + - [Custom metrics][23] + - [OpenTelemetry][24] + - [Integrations][25] + +### LLM Observability +- [LLM Observability][16] + +[1]: /studio/error_tracking/ +[2]: /studio/session_replay/ +[3]: /studio/product_analytics/ +[4]: /studio/logs/ +[5]: /studio/metrics/ +[6]: /studio/llm_observability/ +[7]: https://app.datadoghq.com/studio/signup +[8]: https://cursor.com/ +[9]: https://claude.ai/ +[10]: https://platform.openai.com/docs/guides/text +[11]: https://github.com/langchain-ai/langgraph +[12]: https://github.com/vercel/ai-chatbot +[13]: /studio/error_tracking/frontend +[14]: /studio/real_user_monitoring/session_replay/ +[15]: /studio/product_analytics/#getting-started +[16]: /studio/llm_observability/quickstart/?tab=python#trace-an-llm-application +[17]: /studio/error_tracking/backend/getting_started/ +[18]: /studio/logs/log_collection/?tab=host +[19]: /studio/logs/log_collection/?tab=container +[20]: /studio/logs/log_collection/?tab=cloudintegration +[21]: /studio/logs/log_collection/?tab=application +[22]: /studio/api/latest/logs/ +[23]: /studio/metrics/custom_metrics/ +[24]: /studio/metrics/open_telemetry/ +[25]: https://app.datadoghq.com/integrations \ No newline at end of file From 78c5f572830b055459b9c34d93652a58448be1e9 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Thu, 6 Nov 2025 16:19:23 -0800 Subject: [PATCH 13/22] minor update --- content/studio/getting_started/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index c9aec05a75c..e687dde6524 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -30,7 +30,7 @@ Before getting started, make sure you have an account with Datadog Studio. To cr Choose your setup method: - [Agentic setup](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). -- [Manual setup](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself—gives you full control over the integration. +- [Manual setup](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself. This method gives you full control over the integration. ## Agentic setup From 51c453750d5305058aff4ae942865b782d1c6213 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Fri, 7 Nov 2025 14:44:37 -0800 Subject: [PATCH 14/22] add step numbers --- content/studio/getting_started/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index e687dde6524..45f03f2020b 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -47,7 +47,7 @@ Agentic setup is available for the following platforms: **LLM and AI agent applications** - Python or Node.js—from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12]. -### Install the Datadog Onboarding MCP server +### 1. Install the Datadog Onboarding MCP server To install the Datadog Onboarding Model Context Protocol (MCP) server: @@ -104,7 +104,7 @@ claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadogh {{% /collapse-content %}} -### Set up your project +### 2. Set up your project Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. @@ -120,7 +120,7 @@ When you give this prompt to your coding agent, it does the following: - Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) - Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog -### Deploying to production +### 3. Deploy your app to production Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. From 58ede4dba9f8c2125c49f232828b44aecceed5e6 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Fri, 7 Nov 2025 14:47:50 -0800 Subject: [PATCH 15/22] add temp session replay --- config/_default/menus/main.en.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index b60586c5833..9f3bea2b4ce 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -8222,6 +8222,8 @@ menu: parent: product_analytics identifier: pa_troubleshooting weight: 9 + - name: Session Replay + ## WIP - name: Account Management url: account_management/ pre: cog-2 From 67143c635f58a98fb06a4d4f1c1b4a716cce3d95 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Mon, 10 Nov 2025 13:08:57 -0800 Subject: [PATCH 16/22] getting started --- config/_default/menus/main.studio.yaml | 1 + content/studio/getting_started/_index.md | 223 +++++++++++------- .../studio/getting_started/agentic_setup.md | 156 ++++++++++++ content/studio/getting_started/child_page.md | 7 - 4 files changed, 291 insertions(+), 96 deletions(-) create mode 100644 content/studio/getting_started/agentic_setup.md delete mode 100644 content/studio/getting_started/child_page.md diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 91ff18f46db..ae2fb723b4a 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -50,6 +50,7 @@ menu: ref_id: bits_ai excludes: - bits_ai_sre + - bits_ai_chat_with_bits_ai - name: LLM Observability parent: essentials_heading params: diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index 45f03f2020b..350316f242a 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -4,6 +4,10 @@ description: Set up pre-configured monitoring packages for your frontend, backen type: studio --- +{{< site-region region="gov" >}} +
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    +{{< /site-region >}} + ## Overview Datadog Studio gives small development teams a streamlined observability platform to monitor, debug, and optimize their applications. Get started with pre-configured packages tailored to what you're building without any complex setup required. @@ -21,105 +25,152 @@ Choose your package based on what you're building: | Backend services | [Error Tracking][1], [Logs][4], [Metrics][5] | | LLMs / AI agents | [LLM Observability and AI Agent Monitoring][6] | -## Sign up for Datadog Studio +## Prerequisites Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][7]. ## Setup -Choose your setup method: +To get started using Datadog Studio, select your setup method: -- [Agentic setup](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). -- [Manual setup](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself. This method gives you full control over the integration. +- [**Agentic setup**](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). +- [**Manual setup**](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself. This method gives you full control over the integration. ## Agentic setup ### Supported platforms Agentic setup is available for the following platforms: -**Frontend applications** -- Next.js -- React -- Svelte -- Vanilla JavaScript (Angular is not supported) -- Vue - -**LLM and AI agent applications** -- Python or Node.js—from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12]. +| Application Type | Supported Platforms | +|-----------------|---------------------| +| Frontend applications | Next.js, React, Svelte, Vanilla JavaScript (Angular is not supported), Vue | +| LLM and AI agent applications | Python or Node.js from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12] | ### 1. Install the Datadog Onboarding MCP server -To install the Datadog Onboarding Model Context Protocol (MCP) server: +To install the Datadog Onboarding Model Context Protocol (MCP) server, follow the steps below. -{{% collapse-content title="Cursor" level="h4" expanded=false id="cursor" %}} +1. Copy the deeplink or command for your AI agent client: -1. Copy the Cursor Deeplink into your browser based on your site region: + {{< tabs >}} + {{% tab "Cursor" %}} -{{< tabs >}} -{{% tab "US1" %}} -```sh -cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= -``` -{{% /tab %}} + Paste the following Cursor deeplink into your browser. -{{% tab "US3" %}} -```sh -cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 -``` -{{% /tab %}} + {{% site-region region="us" %}} -{{% tab "US5" %}} -```sh -cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 -``` -{{% /tab %}} -{{< /tabs >}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= + ``` + {{% /site-region %}} + + {{% site-region region="us3" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us3&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} -2. In Cursor, install the MCP, then click **Connect**. -3. If prompted to open an external website, click **Open**. -3. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. + {{% site-region region="us5" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us5&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} -{{% /collapse-content %}} + {{% site-region region="eu" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuZXUvYXBpL3Vuc3RhYmxlL21jcC1zZXJ2ZXIvbWNwP3Rvb2xzZXRzPW9uYm9hcmRpbmciLCJ0eXBlIjoib2F1dGgifQ== + ``` + {{% /site-region %}} -{{% collapse-content title="Claude Code" level="h4" expanded=false id="claude-code" %}} + {{% site-region region="ap1" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap1&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDEuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} -1. Copy and execute the Claude Code command into your terminal: + {{% site-region region="ap2" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap2&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDIuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} + + {{< site-region region="gov" >}} +
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    + {{< /site-region >}} -{{< tabs >}} -{{% tab "US1" %}} -```sh -claude mcp add --transport http datadog-onboarding-mcp "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp -``` {{% /tab %}} -{{% tab "US3" %}} -```sh -claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp -``` +{{% tab "Claude Code" %}} + +Copy and execute the Claude Code command into your terminal: + + {{% site-region region="us" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us1 "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="us3" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us3 "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="us5" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us5 "https://mcp.us5.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="eu" %}} + ```shell + claude mcp add --transport http datadog-onboarding-eu1 "https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp?toolsets=onboarding + ``` + {{% /site-region %}} + + {{% site-region region="ap1" %}} + ```shell + claude mcp add --transport http datadog-onboarding-ap1 "https://mcp.ap1.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="ap2" %}} + ```shell + claude mcp add --transport http datadog-onboarding-ap2 "https://mcp.ap2.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{< site-region region="gov" >}} +
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    + {{< /site-region >}} + {{% /tab %}} {{< /tabs >}} -2. Start a Claude Code session and execute the `/mcp` command inside the session. -3. Select the MCP server you added and press **Enter** to login. - -{{% /collapse-content %}} +2. In your AI agent client, click **Install** for the `datadog-onboarding-mcp` server. +3. If you see a **Needs login** link under the installed MCP server, click the link to complete the Oauth process. +4. When prompted to open an external website, click **Open**. +5. After you've granted access to your Datadog account, you are redirected to Cursor. Click **Open** to complete the authentication process. +5. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. ### 2. Set up your project -Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. - -**Prompt**: -```console -Add Datadog Studio to my project -``` - -When you give this prompt to your coding agent, it does the following: +Your AI coding agent can automatically configure Datadog Studio for your project. When you provide a setup prompt, your coding agent does the following: - Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog - Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) - Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) - Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog +1. To get started, copy and paste the following prompt into your coding agent (such as Cursor or Claude Code): + + **Prompt**: + ```console + Add Datadog Studio to my project + ``` + +2. After pasting the prompt, review and accept each action your AI agent proposes to move through the setup process. + ### 3. Deploy your app to production Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. @@ -129,25 +180,32 @@ Depending on how your application is deployed, you need to commit the changes an If you prefer manual setup, follow the in-app instructions for each product in your selected package. You can either choose manual setup from the Getting Started page or by adding a New Application from the homepage. ### Frontend monitoring -- [Frontend Error Tracking][13] -- [Session Replay][14] -- [Product Analytics][15] + +{{< whatsnext desc="Follow the in-app setup instructions for each frontend product:" >}} + {{< nextlink href="/studio/error_tracking/frontend" >}}Frontend Error Tracking{{< /nextlink >}} + {{< nextlink href="/studio/real_user_monitoring/session_replay/" >}}Session Replay{{< /nextlink >}} + {{< nextlink href="/studio/product_analytics/#getting-started" >}}Product Analytics{{< /nextlink >}} +{{< /whatsnext >}} ### Backend monitoring -- [Backend Error Tracking][17] -- Logs from: - - [Servers / VMs][18] - - [Containers][19] - - [Cloud / Integrations][20] - - [Applications][21] - - [APIs][22] -- Metrics: - - [Custom metrics][23] - - [OpenTelemetry][24] - - [Integrations][25] + +{{< whatsnext desc="Follow the in-app instructions for each backend product:" >}} + {{< nextlink href="/studio/error_tracking/backend/getting_started/" >}}Backend Error Tracking{{< /nextlink >}} + {{< nextlink href="/studio/logs/log_collection/?tab=host" >}}Server / VM logs{{< /nextlink >}} + {{< nextlink href="/studio/logs/log_collection/?tab=container" >}}Container logs{{< /nextlink >}} + {{< nextlink href="/studio/logs/log_collection/?tab=cloudintegration" >}}Cloud / Integration logs{{< /nextlink >}} + {{< nextlink href="/studio/logs/log_collection/?tab=application" >}}Application logs{{< /nextlink >}} + {{< nextlink href="/studio/api/latest/logs/" >}}API logs{{< /nextlink >}} + {{< nextlink href="/studio/metrics/custom_metrics/" >}}Custom metrics{{< /nextlink >}} + {{< nextlink href="/studio/metrics/open_telemetry/" >}}OpenTelemetry metrics{{< /nextlink >}} + {{< nextlink href="https://app.datadoghq.com/integrations" >}}Integrations metrics{{< /nextlink >}} +{{< /whatsnext >}} ### LLM Observability -- [LLM Observability][16] + +{{< whatsnext desc="Follow the in-app instructions for LLM Observability:" >}} + {{< nextlink href="/studio/llm_observability/quickstart/?tab=python#trace-an-llm-application" >}}LLM Observability{{< /nextlink >}} +{{< /whatsnext >}} [1]: /studio/error_tracking/ [2]: /studio/session_replay/ @@ -160,17 +218,4 @@ If you prefer manual setup, follow the in-app instructions for each product in y [9]: https://claude.ai/ [10]: https://platform.openai.com/docs/guides/text [11]: https://github.com/langchain-ai/langgraph -[12]: https://github.com/vercel/ai-chatbot -[13]: /studio/error_tracking/frontend -[14]: /studio/real_user_monitoring/session_replay/ -[15]: /studio/product_analytics/#getting-started -[16]: /studio/llm_observability/quickstart/?tab=python#trace-an-llm-application -[17]: /studio/error_tracking/backend/getting_started/ -[18]: /studio/logs/log_collection/?tab=host -[19]: /studio/logs/log_collection/?tab=container -[20]: /studio/logs/log_collection/?tab=cloudintegration -[21]: /studio/logs/log_collection/?tab=application -[22]: /studio/api/latest/logs/ -[23]: /studio/metrics/custom_metrics/ -[24]: /studio/metrics/open_telemetry/ -[25]: https://app.datadoghq.com/integrations \ No newline at end of file +[12]: https://github.com/vercel/ai-chatbot \ No newline at end of file diff --git a/content/studio/getting_started/agentic_setup.md b/content/studio/getting_started/agentic_setup.md new file mode 100644 index 00000000000..f11290d6d59 --- /dev/null +++ b/content/studio/getting_started/agentic_setup.md @@ -0,0 +1,156 @@ +--- +title: Agentic Setup +type: studio +--- + +## Overview + +Let AI assistants ([Cursor][1] or [Claude][2]) automatically install and configure Datadog SDKs in your codebase. Agentic setup for Datadog Studio is only available for [specific platforms](#supported-platforms). + +## Prerequisites + +Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][3]. + +### Supported platforms +Agentic setup is available for the following platforms: + +| Application Type | Supported Platforms | +|-----------------|---------------------| +| Frontend applications | Next.js, React, Svelte, Vanilla JavaScript (Angular is not supported), Vue | +| LLM and AI agent applications | Python or Node.js from scripts using [OpenAI's Responses API][4] to complex FastAPI applications powered by [LangGraph][5], or rich chatbot experiences built on [Vercel's AI SDK][6] | + +## Install the Datadog Onboarding MCP server + +To install the Datadog Onboarding Model Context Protocol (MCP) server, follow the steps below. + +1. Copy the deeplink or command for your AI agent client: + + {{< tabs >}} + {{% tab "Cursor" %}} + + Paste the following Cursor deeplink into your browser. + + {{% site-region region="us" %}} + + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= + ``` + {{% /site-region %}} + + {{% site-region region="us3" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us3&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} + + {{% site-region region="us5" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us5&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} + + {{% site-region region="eu" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuZXUvYXBpL3Vuc3RhYmxlL21jcC1zZXJ2ZXIvbWNwP3Rvb2xzZXRzPW9uYm9hcmRpbmciLCJ0eXBlIjoib2F1dGgifQ== + ``` + {{% /site-region %}} + + {{% site-region region="ap1" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap1&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDEuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} + + {{% site-region region="ap2" %}} + ```shell + cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap2&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDIuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 + ``` + {{% /site-region %}} + + {{< site-region region="gov" >}} +
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    + {{< /site-region >}} + +{{% /tab %}} + +{{% tab "Claude Code" %}} + +Copy and execute the Claude Code command into your terminal: + + {{% site-region region="us" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us1 "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="us3" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us3 "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="us5" %}} + ```shell + claude mcp add --transport http datadog-onboarding-us5 "https://mcp.us5.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="eu" %}} + ```shell + claude mcp add --transport http datadog-onboarding-eu1 "https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp?toolsets=onboarding + ``` + {{% /site-region %}} + + {{% site-region region="ap1" %}} + ```shell + claude mcp add --transport http datadog-onboarding-ap1 "https://mcp.ap1.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{% site-region region="ap2" %}} + ```shell + claude mcp add --transport http datadog-onboarding-ap2 "https://mcp.ap2.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" + ``` + {{% /site-region %}} + + {{< site-region region="gov" >}} +
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    + {{< /site-region >}} + +{{% /tab %}} +{{< /tabs >}} + +2. In your AI agent client, click **Install** for the `datadog-onboarding-mcp` server. +3. If you see a **Needs login** link under the installed MCP server, click the link to complete the Oauth process. +4. When prompted to open an external website, click **Open**. +5. After you've granted access to your Datadog account, you are redirected to Cursor. Click **Open** to complete the authentication process. +5. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. + +## Set up your project + +Your AI coding agent can automatically configure Datadog Studio for your project. When you provide a setup prompt, your coding agent does the following: + +- Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog +- Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) +- Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) +- Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog + +1. To get started, copy and paste the following prompt into your coding agent (such as Cursor or Claude Code): + + **Prompt**: + ```console + Add Datadog Studio to my project + ``` + +2. After pasting the prompt, review and accept each action your AI agent proposes to move through the setup process. + +## Deploy your app to production + +Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. + +[1]: https://cursor.com/ +[2]: https://claude.ai/ +[3]: https://app.datadoghq.com/studio/signup +[4]: https://platform.openai.com/docs/guides/text +[5]: https://github.com/langchain-ai/langgraph +[6]: https://github.com/vercel/ai-chatbot \ No newline at end of file diff --git a/content/studio/getting_started/child_page.md b/content/studio/getting_started/child_page.md deleted file mode 100644 index 12a66865855..00000000000 --- a/content/studio/getting_started/child_page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Getting Started Child Page -type: studio ---- - -second test - From 27153eef83372561c2c9deec361b5dd3717b4d16 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Mon, 10 Nov 2025 13:11:34 -0800 Subject: [PATCH 17/22] complete sentence --- content/studio/getting_started/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index 350316f242a..03be8f7a360 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -33,7 +33,7 @@ Before getting started, make sure you have an account with Datadog Studio. To cr To get started using Datadog Studio, select your setup method: -- [**Agentic setup**](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). +- [**Agentic setup**](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. This setup method is only available for [specific platforms](#supported-platforms). - [**Manual setup**](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself. This method gives you full control over the integration. ## Agentic setup From 2b27d5d66c4808220ac6c923be7e8b8ceb816ea9 Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Tue, 11 Nov 2025 10:47:50 +0000 Subject: [PATCH 18/22] add homepage layout --- layouts/studio/index.html | 82 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100755 layouts/studio/index.html diff --git a/layouts/studio/index.html b/layouts/studio/index.html new file mode 100755 index 00000000000..905a7bb6e50 --- /dev/null +++ b/layouts/studio/index.html @@ -0,0 +1,82 @@ + + + + + {{ partialCached "header-scripts.html" . }} + + + {{ partial "prefetch.html" . }} + {{ partial "preload.html" . }} + {{ .Title }} + + {{ if .Params.external_redirect }} {{ partial "meta-http-equiv.html" . }} {{ end }} + {{- partial "canonical.html" . -}} + {{- partial "noindex.html" . -}} + {{- partial "hreflang.html" . -}} + + + + {{ partialCached "css.html" . }} + + {{- if and (ne $.Params.disable_opengraph_meta_tags true) .File -}} + {{- partial "meta.html" . -}} + {{- end -}} + + + +{{- $bodyClass := $.Scratch.Get "bodyClass" -}} +{{ $ctx := . }} + + + + +
    +
    +
    +
    +
    +
    +
    +
    + {{ partialCached "header/header.html" . }} + +
    +
    +
    + {{ partial "sidenav/main-sidenav.html" . }} +
    + +
    +
    + {{ block "main" . }}{{ end }} + {{ partial "page-edit.html" (dict "ctx" $ctx "type" "contribute") }} +
    +
    + + {{ if ne .Params.disable_sidebar true }} + + {{ end }} +
    +
    + + {{ partialCached "footer/footer.html" . }} + {{ partial "footer-scripts.html" . }} + {{ partial "footer-js-dd-docs-methods" . }} + {{ partial "preview_banner/preview_banner" . }} + + + From fe8e924979cdd2a4723fab129a9f2100f34b7cd7 Mon Sep 17 00:00:00 2001 From: "david.jones" Date: Thu, 13 Nov 2025 12:44:01 +0000 Subject: [PATCH 19/22] update --- config/_default/menus/main.studio.yaml | 2 +- content/studio/_index.md | 8 -- content/studio/getting_started/_index.md | 8 +- content/studio/index.md | 176 ++++++++++++++++++++++- layouts/studio/index.html | 15 +- 5 files changed, 191 insertions(+), 18 deletions(-) delete mode 100644 content/studio/_index.md diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 91ff18f46db..a0231d3414f 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -17,7 +17,7 @@ menu: # Menu items that appear under labels starts below here - name: Getting Started - url: /studio/getting_started/ + url: /studio/ parent: onboarding_heading identifier: getting_started weight: 1 diff --git a/content/studio/_index.md b/content/studio/_index.md deleted file mode 100644 index ea360791cc4..00000000000 --- a/content/studio/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: home -type: studio -cascade: - type: studio ---- - -Test diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index e687dde6524..c5661666c5c 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -37,14 +37,14 @@ Choose your setup method: ### Supported platforms Agentic setup is available for the following platforms: -**Frontend applications** +**Frontend applications** - Next.js - React - Svelte - Vanilla JavaScript (Angular is not supported) - Vue -**LLM and AI agent applications** +**LLM and AI agent applications** - Python or Node.js—from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12]. ### Install the Datadog Onboarding MCP server @@ -108,7 +108,7 @@ claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadogh Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. -**Prompt**: +**Prompt**: ```console Add Datadog Studio to my project ``` @@ -173,4 +173,4 @@ If you prefer manual setup, follow the in-app instructions for each product in y [22]: /studio/api/latest/logs/ [23]: /studio/metrics/custom_metrics/ [24]: /studio/metrics/open_telemetry/ -[25]: https://app.datadoghq.com/integrations \ No newline at end of file +[25]: https://app.datadoghq.com/integrations diff --git a/content/studio/index.md b/content/studio/index.md index ea360791cc4..c5661666c5c 100644 --- a/content/studio/index.md +++ b/content/studio/index.md @@ -1,8 +1,176 @@ --- -title: home +title: Getting Started +description: Set up pre-configured monitoring packages for your frontend, backend, or LLM application using agentic or manual setup. type: studio -cascade: - type: studio --- -Test +## Overview + +Datadog Studio gives small development teams a streamlined observability platform to monitor, debug, and optimize their applications. Get started with pre-configured packages tailored to what you're building without any complex setup required. + +## How it works + +Datadog Studio provides pre-configured monitoring packages tailored to your application type. Select a package based on what you're building (frontend, backend, or LLM/AI), then use either **agentic setup**, where AI assistants like Cursor or Claude automatically configure your codebase, or **manual setup** for full control. After successfully configuring your package, your application sends telemetry data to Datadog, giving you immediate access to error tracking, performance monitoring, and analytics. + +## What's included + +Choose your package based on what you're building: +| Application Type | Products Included | +|------------------------|--------------| +| Frontend applications | [Error Tracking][1], [Session Replay][2], [Product Analytics][3] | +| Backend services | [Error Tracking][1], [Logs][4], [Metrics][5] | +| LLMs / AI agents | [LLM Observability and AI Agent Monitoring][6] | + +## Sign up for Datadog Studio + +Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][7]. + +## Setup + +Choose your setup method: + +- [Agentic setup](#agentic-setup): Let AI assistants ([Cursor][8] or [Claude][9]) automatically install and configure Datadog SDKs in your codebase. Only available for [specific platforms](#supported-platforms). +- [Manual setup](#manual-setup): Follow step-by-step instructions to install and configure Datadog SDKs yourself. This method gives you full control over the integration. + +## Agentic setup + +### Supported platforms +Agentic setup is available for the following platforms: + +**Frontend applications** +- Next.js +- React +- Svelte +- Vanilla JavaScript (Angular is not supported) +- Vue + +**LLM and AI agent applications** +- Python or Node.js—from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12]. + +### Install the Datadog Onboarding MCP server + +To install the Datadog Onboarding Model Context Protocol (MCP) server: + +{{% collapse-content title="Cursor" level="h4" expanded=false id="cursor" %}} + +1. Copy the Cursor Deeplink into your browser based on your site region: + +{{< tabs >}} +{{% tab "US1" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= +``` +{{% /tab %}} + +{{% tab "US3" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 +``` +{{% /tab %}} + +{{% tab "US5" %}} +```sh +cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 +``` +{{% /tab %}} +{{< /tabs >}} + +2. In Cursor, install the MCP, then click **Connect**. +3. If prompted to open an external website, click **Open**. +3. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. + +{{% /collapse-content %}} + +{{% collapse-content title="Claude Code" level="h4" expanded=false id="claude-code" %}} + +1. Copy and execute the Claude Code command into your terminal: + +{{< tabs >}} +{{% tab "US1" %}} +```sh +claude mcp add --transport http datadog-onboarding-mcp "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp +``` +{{% /tab %}} + +{{% tab "US3" %}} +```sh +claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp +``` +{{% /tab %}} +{{< /tabs >}} + +2. Start a Claude Code session and execute the `/mcp` command inside the session. +3. Select the MCP server you added and press **Enter** to login. + +{{% /collapse-content %}} + +### Set up your project + +Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. + +**Prompt**: +```console +Add Datadog Studio to my project +``` + +When you give this prompt to your coding agent, it does the following: + +- Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog +- Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) +- Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) +- Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog + +### Deploying to production + +Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. + +## Manual setup + +If you prefer manual setup, follow the in-app instructions for each product in your selected package. You can either choose manual setup from the Getting Started page or by adding a New Application from the homepage. + +### Frontend monitoring +- [Frontend Error Tracking][13] +- [Session Replay][14] +- [Product Analytics][15] + +### Backend monitoring +- [Backend Error Tracking][17] +- Logs from: + - [Servers / VMs][18] + - [Containers][19] + - [Cloud / Integrations][20] + - [Applications][21] + - [APIs][22] +- Metrics: + - [Custom metrics][23] + - [OpenTelemetry][24] + - [Integrations][25] + +### LLM Observability +- [LLM Observability][16] + +[1]: /studio/error_tracking/ +[2]: /studio/session_replay/ +[3]: /studio/product_analytics/ +[4]: /studio/logs/ +[5]: /studio/metrics/ +[6]: /studio/llm_observability/ +[7]: https://app.datadoghq.com/studio/signup +[8]: https://cursor.com/ +[9]: https://claude.ai/ +[10]: https://platform.openai.com/docs/guides/text +[11]: https://github.com/langchain-ai/langgraph +[12]: https://github.com/vercel/ai-chatbot +[13]: /studio/error_tracking/frontend +[14]: /studio/real_user_monitoring/session_replay/ +[15]: /studio/product_analytics/#getting-started +[16]: /studio/llm_observability/quickstart/?tab=python#trace-an-llm-application +[17]: /studio/error_tracking/backend/getting_started/ +[18]: /studio/logs/log_collection/?tab=host +[19]: /studio/logs/log_collection/?tab=container +[20]: /studio/logs/log_collection/?tab=cloudintegration +[21]: /studio/logs/log_collection/?tab=application +[22]: /studio/api/latest/logs/ +[23]: /studio/metrics/custom_metrics/ +[24]: /studio/metrics/open_telemetry/ +[25]: https://app.datadoghq.com/integrations diff --git a/layouts/studio/index.html b/layouts/studio/index.html index 905a7bb6e50..83e7b73bd00 100755 --- a/layouts/studio/index.html +++ b/layouts/studio/index.html @@ -56,7 +56,20 @@
    - {{ block "main" . }}{{ end }} +
    +
    +

    {{ .Title }}

    +
    +
    + {{ if .File }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +
    +
    + {{ partial "translate_status_banner/translate_status_banner.html" . }} + {{ partial "site_support_banner/site_support_banner.html" . }} + {{ .Content }} + {{ partial "page-edit.html" (dict "ctx" $ctx "type" "contribute") }}
    From c024c8b2df9c700fa4b902c090f52b7e14af12e4 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Wed, 19 Nov 2025 07:44:49 -0800 Subject: [PATCH 20/22] fix page merge --- config/_default/menus/main.studio.yaml | 2 +- content/studio/getting_started/_index.md | 28 +----------------------- 2 files changed, 2 insertions(+), 28 deletions(-) diff --git a/config/_default/menus/main.studio.yaml b/config/_default/menus/main.studio.yaml index 0017a1c0140..ef97e2dd978 100644 --- a/config/_default/menus/main.studio.yaml +++ b/config/_default/menus/main.studio.yaml @@ -54,7 +54,7 @@ menu: - name: LLM Observability parent: essentials_heading params: - ref_id: llm_observability + ref_id: llm_obs - name: Metrics parent: essentials_heading params: diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index 6f855003899..06489186e50 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -12,8 +12,6 @@ type: studio Datadog Studio gives small development teams a streamlined observability platform to monitor, debug, and optimize their applications. Get started with pre-configured packages tailored to what you're building without any complex setup required. -## How it works - Datadog Studio provides pre-configured monitoring packages tailored to your application type. Select a package based on what you're building (frontend, backend, or LLM/AI), then use either **agentic setup**, where AI assistants like Cursor or Claude automatically configure your codebase, or **manual setup** for full control. After successfully configuring your package, your application sends telemetry data to Datadog, giving you immediate access to error tracking, performance monitoring, and analytics. ## What's included @@ -153,31 +151,7 @@ Copy and execute the Claude Code command into your terminal: 5. After you've granted access to your Datadog account, you are redirected to Cursor. Click **Open** to complete the authentication process. 5. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. -### 2. Set up your project - -Your AI coding agent can automatically configure Datadog Studio for your project. - -{{% collapse-content title="Claude Code" level="h4" expanded=false id="claude-code" %}} - -1. Copy and execute the Claude Code command into your terminal: - -{{< tabs >}} -{{% tab "US1" %}} -```sh -claude mcp add --transport http datadog-onboarding-mcp "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp -``` -{{% /tab %}} - -{{% tab "US3" %}} -```sh -claude mcp add --transport http datadog-onboarding-mcp "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" && claude /mcp -``` -{{% /tab %}} -{{< /tabs >}} - -{{% /collapse-content %}} - -### Set up your project +### 2. Set up your project with a prompt Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. From e374b3b6fde48f2b7932cbb7abfee246db7399b9 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Thu, 20 Nov 2025 14:25:36 -0800 Subject: [PATCH 21/22] updates --- content/studio/getting_started/_index.md | 101 +++++++++--- .../studio/getting_started/agentic_setup.md | 156 ------------------ 2 files changed, 74 insertions(+), 183 deletions(-) delete mode 100644 content/studio/getting_started/agentic_setup.md diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index 06489186e50..d8aee477012 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -10,14 +10,14 @@ type: studio ## Overview -Datadog Studio gives small development teams a streamlined observability platform to monitor, debug, and optimize their applications. Get started with pre-configured packages tailored to what you're building without any complex setup required. +Datadog Studio gives small development teams production-grade observability without the overhead. Instead of manually configuring individual products and piecing together monitoring tools, Studio provides pre-configured monitoring packages for frontend, backend, or LLM/AI applications that work out of the box. -Datadog Studio provides pre-configured monitoring packages tailored to your application type. Select a package based on what you're building (frontend, backend, or LLM/AI), then use either **agentic setup**, where AI assistants like Cursor or Claude automatically configure your codebase, or **manual setup** for full control. After successfully configuring your package, your application sends telemetry data to Datadog, giving you immediate access to error tracking, performance monitoring, and analytics. +Choose **agentic setup** to let AI assistants (Cursor or Claude) automatically detect your application type and configure the right features for your codebase, or use **manual setup** for full control. After configuration, your application immediately sends telemetry to Datadog for error tracking, performance insights, and user analytics—so you can focus on building features instead of debugging infrastructure. -## What's included +## Features by application type -Choose your package based on what you're building: -| Application Type | Products Included | +Studio automatically configures the following features based on your application type: +| Application Type | Features Included | |------------------------|--------------| | Frontend applications | [Error Tracking][1], [Session Replay][2], [Product Analytics][3] | | Backend services | [Error Tracking][1], [Logs][4], [Metrics][5] | @@ -25,7 +25,14 @@ Choose your package based on what you're building: ## Prerequisites -Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][7]. +Before you begin: + +- **Datadog Studio account**: [Sign up for free][7] if you don't have one +- **Development environment**: Access to your application's codebase +- **For agentic setup**: [Cursor][8] or [Claude Code][9] installed and configured +- **For manual setup**: Ability to install packages and modify configuration files in your project + +No API keys are required upfront—authentication is handled during the setup process. ## Setup @@ -36,6 +43,8 @@ To get started using Datadog Studio, select your setup method: ## Agentic setup +With agentic setup, your AI coding assistant analyzes your project, identifies the appropriate monitoring features, and automatically configures Datadog SDKs in your codebase. The AI agent installs dependencies, adds initialization code, and sets up environment variables—all with your approval at each step. Setup typically takes 5-10 minutes. + ### Supported platforms Agentic setup is available for the following platforms: @@ -44,9 +53,9 @@ Agentic setup is available for the following platforms: | Frontend applications | Next.js, React, Svelte, Vanilla JavaScript (Angular is not supported), Vue | | LLM and AI agent applications | Python or Node.js from scripts using [OpenAI's Responses API][10] to complex FastAPI applications powered by [LangGraph][11], or rich chatbot experiences built on [Vercel's AI SDK][12] | -### 1. Install the Datadog Onboarding MCP server +### 1. Install the Datadog onboarding MCP server -To install the Datadog Onboarding Model Context Protocol (MCP) server, follow the steps below. +The MCP server enables your AI agent to access Datadog's onboarding tools. This is a one-time setup per AI client. 1. Copy the deeplink or command for your AI agent client: @@ -122,7 +131,7 @@ Copy and execute the Claude Code command into your terminal: {{% site-region region="eu" %}} ```shell - claude mcp add --transport http datadog-onboarding-eu1 "https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp?toolsets=onboarding + claude mcp add --transport http datadog-onboarding-eu1 "https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp?toolsets=onboarding" ``` {{% /site-region %}} @@ -151,41 +160,70 @@ Copy and execute the Claude Code command into your terminal: 5. After you've granted access to your Datadog account, you are redirected to Cursor. Click **Open** to complete the authentication process. 5. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. -### 2. Set up your project with a prompt +### 2. Configure your project -Prompt your AI coding agent to enable all capabilities (Error Tracking, Session Replay, Product Analytics, and LLM Observability) in minutes by copying the below prompt into Cursor or Claude Code. +After installing the MCP server, use a prompt to start the configuration process. Your AI agent detects your application type, installs the appropriate SDKs, and configures monitoring features automatically. -**Prompt**: -```console -Add Datadog Studio to my project -``` +**What happens when you run the prompt:** +1. The agent analyzes your project structure, dependencies, and framework +2. It determines which monitoring features to enable (frontend, backend, or LLM) +3. It requests permission to install packages and modify configuration files +4. It adds initialization code and environment variables +5. It provides testing steps to verify the setup -When you give this prompt to your coding agent, it does the following: +**To configure your project:** -- Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog -- Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) -- Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) -- Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog +1. Open your AI coding assistant in your project directory -1. To get started, copy and paste the following prompt into your coding agent (such as Cursor or Claude Code): +2. Copy and paste this prompt: - **Prompt**: ```console Add Datadog Studio to my project ``` -2. After pasting the prompt, review and accept each action your AI agent proposes to move through the setup process. +3. Review each proposed change and accept the actions to complete setup (approximately 5-10 minutes) + +The agent does not commit any changes automatically—you maintain full control over what gets added to your codebase. + +### 3. Verify and deploy + +**Local verification:** +1. Start your application locally +2. Generate some activity (pageviews, errors, or API calls) +3. Check your terminal for confirmation that telemetry is being sent -### 3. Deploy your app to production +**Deploy to production:** +1. Commit the configuration changes to your repository +2. Add the environment variables provided during setup to your hosting platform (Vercel, Netlify, AWS, etc.) +3. Deploy your application -Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. +**View your data:** +After deploying, telemetry appears in Datadog Studio within 1-2 minutes: +- **Frontend apps**: View error tracking, session replays, and analytics in the [RUM Explorer][13] +- **Backend services**: Check logs and metrics in the [Logs][14] and [Metrics Explorer][15] +- **LLM apps**: Monitor traces and costs in [LLM Observability][16] + +If data doesn't appear after 5 minutes, check that environment variables are set correctly in your production environment. ## Manual setup -If you prefer manual setup, follow the in-app instructions for each product in your selected package. You can either choose manual setup from the Getting Started page or by adding a New Application from the homepage. +Manual setup gives you full control over the integration process. Install SDKs, configure initialization code, and set environment variables yourself by following step-by-step instructions. + +**Setup workflow:** +1. Navigate to the [Studio Getting Started page][17] or add a New Application from the homepage +2. Select your application type (frontend, backend, or LLM) +3. Follow the in-app instructions specific to your framework and language +4. Install the required packages using your package manager +5. Add initialization code to your application entry point +6. Configure environment variables with your API keys +7. Deploy and verify data appears in Studio + +Typical setup time: 15-30 minutes depending on your application complexity. ### Frontend monitoring +Set up browser-based monitoring for web applications. **Recommended order**: Error Tracking → Session Replay → Product Analytics. + {{< whatsnext desc="Follow the in-app setup instructions for each frontend product:" >}} {{< nextlink href="/studio/error_tracking/frontend" >}}Frontend Error Tracking{{< /nextlink >}} {{< nextlink href="/studio/real_user_monitoring/session_replay/" >}}Session Replay{{< /nextlink >}} @@ -194,6 +232,8 @@ If you prefer manual setup, follow the in-app instructions for each product in y ### Backend monitoring +Set up server-side monitoring for APIs and services. Start with your primary log source (host, container, or cloud), then add Error Tracking and custom metrics as needed. + {{< whatsnext desc="Follow the in-app instructions for each backend product:" >}} {{< nextlink href="/studio/error_tracking/backend/getting_started/" >}}Backend Error Tracking{{< /nextlink >}} {{< nextlink href="/studio/logs/log_collection/?tab=host" >}}Server / VM logs{{< /nextlink >}} @@ -206,7 +246,9 @@ If you prefer manual setup, follow the in-app instructions for each product in y {{< nextlink href="https://app.datadoghq.com/integrations" >}}Integrations metrics{{< /nextlink >}} {{< /whatsnext >}} -### LLM Observability +### Llm observability + +Monitor AI applications, agents, and LLM API calls. Works with OpenAI, Anthropic, LangChain, LangGraph, and more. {{< whatsnext desc="Follow the in-app instructions for LLM Observability:" >}} {{< nextlink href="/studio/llm_observability/quickstart/?tab=python#trace-an-llm-application" >}}LLM Observability{{< /nextlink >}} @@ -224,3 +266,8 @@ If you prefer manual setup, follow the in-app instructions for each product in y [10]: https://platform.openai.com/docs/guides/text [11]: https://github.com/langchain-ai/langgraph [12]: https://github.com/vercel/ai-chatbot +[13]: https://app.datadoghq.com/rum/explorer +[14]: https://app.datadoghq.com/logs +[15]: https://app.datadoghq.com/metric/explorer +[16]: https://app.datadoghq.com/llm/overview +[17]: https://app.datadoghq.com/studio/getting-started diff --git a/content/studio/getting_started/agentic_setup.md b/content/studio/getting_started/agentic_setup.md deleted file mode 100644 index f11290d6d59..00000000000 --- a/content/studio/getting_started/agentic_setup.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Agentic Setup -type: studio ---- - -## Overview - -Let AI assistants ([Cursor][1] or [Claude][2]) automatically install and configure Datadog SDKs in your codebase. Agentic setup for Datadog Studio is only available for [specific platforms](#supported-platforms). - -## Prerequisites - -Before getting started, make sure you have an account with Datadog Studio. To create an account, go to [https://app.datadoghq.com/studio/signup][3]. - -### Supported platforms -Agentic setup is available for the following platforms: - -| Application Type | Supported Platforms | -|-----------------|---------------------| -| Frontend applications | Next.js, React, Svelte, Vanilla JavaScript (Angular is not supported), Vue | -| LLM and AI agent applications | Python or Node.js from scripts using [OpenAI's Responses API][4] to complex FastAPI applications powered by [LangGraph][5], or rich chatbot experiences built on [Vercel's AI SDK][6] | - -## Install the Datadog Onboarding MCP server - -To install the Datadog Onboarding Model Context Protocol (MCP) server, follow the steps below. - -1. Copy the deeplink or command for your AI agent client: - - {{< tabs >}} - {{% tab "Cursor" %}} - - Paste the following Cursor deeplink into your browser. - - {{% site-region region="us" %}} - - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0= - ``` - {{% /site-region %}} - - {{% site-region region="us3" %}} - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us3&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 - ``` - {{% /site-region %}} - - {{% site-region region="us5" %}} - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us5&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 - ``` - {{% /site-region %}} - - {{% site-region region="eu" %}} - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuZXUvYXBpL3Vuc3RhYmxlL21jcC1zZXJ2ZXIvbWNwP3Rvb2xzZXRzPW9uYm9hcmRpbmciLCJ0eXBlIjoib2F1dGgifQ== - ``` - {{% /site-region %}} - - {{% site-region region="ap1" %}} - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap1&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDEuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 - ``` - {{% /site-region %}} - - {{% site-region region="ap2" %}} - ```shell - cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap2&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDIuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9 - ``` - {{% /site-region %}} - - {{< site-region region="gov" >}} -
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    - {{< /site-region >}} - -{{% /tab %}} - -{{% tab "Claude Code" %}} - -Copy and execute the Claude Code command into your terminal: - - {{% site-region region="us" %}} - ```shell - claude mcp add --transport http datadog-onboarding-us1 "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" - ``` - {{% /site-region %}} - - {{% site-region region="us3" %}} - ```shell - claude mcp add --transport http datadog-onboarding-us3 "https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" - ``` - {{% /site-region %}} - - {{% site-region region="us5" %}} - ```shell - claude mcp add --transport http datadog-onboarding-us5 "https://mcp.us5.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" - ``` - {{% /site-region %}} - - {{% site-region region="eu" %}} - ```shell - claude mcp add --transport http datadog-onboarding-eu1 "https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp?toolsets=onboarding - ``` - {{% /site-region %}} - - {{% site-region region="ap1" %}} - ```shell - claude mcp add --transport http datadog-onboarding-ap1 "https://mcp.ap1.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" - ``` - {{% /site-region %}} - - {{% site-region region="ap2" %}} - ```shell - claude mcp add --transport http datadog-onboarding-ap2 "https://mcp.ap2.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=onboarding" - ``` - {{% /site-region %}} - - {{< site-region region="gov" >}} -
    Datadog Studio is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
    - {{< /site-region >}} - -{{% /tab %}} -{{< /tabs >}} - -2. In your AI agent client, click **Install** for the `datadog-onboarding-mcp` server. -3. If you see a **Needs login** link under the installed MCP server, click the link to complete the Oauth process. -4. When prompted to open an external website, click **Open**. -5. After you've granted access to your Datadog account, you are redirected to Cursor. Click **Open** to complete the authentication process. -5. Confirm you see MCP tools listed for the `datadog-onboarding-mcp` server. - -## Set up your project - -Your AI coding agent can automatically configure Datadog Studio for your project. When you provide a setup prompt, your coding agent does the following: - -- Analyze your project and identify if the MCP server offers a tool that can be used to set it up with Datadog -- Call the tool (asking for your permission before doing so) with inferred parameters from your project (for example: your project's framework, language, and bundler) -- Follow the instructions the MCP tool provides as context to your coding agent, making code changes on your behalf (don't worry - Datadog does not commit them) -- Provide testing steps to confirm that your application is correctly configured to send telemetry to Datadog - -1. To get started, copy and paste the following prompt into your coding agent (such as Cursor or Claude Code): - - **Prompt**: - ```console - Add Datadog Studio to my project - ``` - -2. After pasting the prompt, review and accept each action your AI agent proposes to move through the setup process. - -## Deploy your app to production - -Depending on how your application is deployed, you need to commit the changes and set or upload provided environment variables to your production environment. - -[1]: https://cursor.com/ -[2]: https://claude.ai/ -[3]: https://app.datadoghq.com/studio/signup -[4]: https://platform.openai.com/docs/guides/text -[5]: https://github.com/langchain-ai/langgraph -[6]: https://github.com/vercel/ai-chatbot \ No newline at end of file From a086c4051e0318d997c6fc1f101367cee4ba2f50 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Fri, 21 Nov 2025 07:07:13 -0800 Subject: [PATCH 22/22] tiny changes --- content/studio/getting_started/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/studio/getting_started/_index.md b/content/studio/getting_started/_index.md index d8aee477012..43b0be871dd 100644 --- a/content/studio/getting_started/_index.md +++ b/content/studio/getting_started/_index.md @@ -32,7 +32,7 @@ Before you begin: - **For agentic setup**: [Cursor][8] or [Claude Code][9] installed and configured - **For manual setup**: Ability to install packages and modify configuration files in your project -No API keys are required upfront—authentication is handled during the setup process. +No API keys are required upfront, as authentication is handled during the setup process. ## Setup @@ -55,7 +55,7 @@ Agentic setup is available for the following platforms: ### 1. Install the Datadog onboarding MCP server -The MCP server enables your AI agent to access Datadog's onboarding tools. This is a one-time setup per AI client. +The Datadog Model Context Protocol (MCP) server enables your AI agent to access Datadog's onboarding tools. This is a one-time setup per AI client. 1. Copy the deeplink or command for your AI agent client: