diff --git a/gatsby-config.js b/gatsby-config.js
index 68c3e9519a8..df584a9d64b 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -371,7 +371,7 @@ module.exports = {
},
i18n: {
translationsPath: `${__dirname}/src/i18n/translations`,
- additionalLocales: LOCALES,
+ additionalLocales: ['jp', 'kr', 'pt', 'es'],
},
prism: {
languages: [
diff --git a/scripts/actions/__tests__/add-files-to-translation-queue.test.js b/scripts/actions/__tests__/add-files-to-translation-queue.test.js
index 16b01bfc351..b44f5ee1eb5 100644
--- a/scripts/actions/__tests__/add-files-to-translation-queue.test.js
+++ b/scripts/actions/__tests__/add-files-to-translation-queue.test.js
@@ -10,6 +10,7 @@ const MOCK_CONSTANTS = {
kr: 'ko-KR',
es: 'es-LA',
pt: 'pt-BR',
+ fr: 'fr-FR',
},
};
@@ -46,12 +47,14 @@ describe('add-files-to-translation-queue tests', () => {
'ko-KR': ['excluded/path'],
'es-LA': ['excluded/path'],
'pt-BR': ['excluded/path'],
+ 'fr-FR': ['excluded/path'],
},
excludeType: {
'ja-JP': ['excludedType'],
'ko-KR': ['excludedType'],
'es-LA': ['excludedType'],
'pt-BR': ['excludedType'],
+ 'fr-FR': ['excludedType'],
},
};
const originalAdd = jest.requireActual('../utils/constants.js');
@@ -77,6 +80,7 @@ describe('add-files-to-translation-queue tests', () => {
{ filename: '/content/bar.mdx', locale: 'ko-KR', project_id: 'MT_ID' },
{ filename: '/content/bar.mdx', locale: 'es-LA', project_id: 'MT_ID' },
{ filename: '/content/bar.mdx', locale: 'pt-BR', project_id: 'MT_ID' },
+ { filename: '/content/bar.mdx', locale: 'fr-FR', project_id: 'MT_ID' },
]);
});
@@ -91,6 +95,7 @@ describe('add-files-to-translation-queue tests', () => {
{ filename: '/content/bar.mdx', locale: 'ko-KR', project_id: 'MT_ID' },
{ filename: '/content/bar.mdx', locale: 'es-LA', project_id: 'MT_ID' },
{ filename: '/content/bar.mdx', locale: 'pt-BR', project_id: 'MT_ID' },
+ { filename: '/content/bar.mdx', locale: 'fr-FR', project_id: 'MT_ID' },
]);
});
@@ -137,6 +142,11 @@ describe('add-files-to-translation-queue tests', () => {
locale: 'pt-BR',
project_id: 'MT_ID',
},
+ {
+ filename: '/content/bar.mdx',
+ locale: 'fr-FR',
+ project_id: 'MT_ID',
+ },
]);
});
@@ -146,6 +156,7 @@ describe('add-files-to-translation-queue tests', () => {
{ filename: 'included/path/content/foo.mdx', locale: 'ko-KR' },
{ filename: 'included/path/content/bar.mdx', locale: 'es-LA' },
{ filename: 'included/path/content/foo.mdx', locale: 'pt-BR' },
+ { filename: 'included/path/content/foo.mdx', locale: 'fr-FR' },
];
setup();
const { excludeFiles } = require('../add-files-to-translation-queue');
@@ -157,6 +168,7 @@ describe('add-files-to-translation-queue tests', () => {
{ filename: 'included/path/content/foo.mdx', locale: 'ko-KR' },
{ filename: 'included/path/content/bar.mdx', locale: 'es-LA' },
{ filename: 'included/path/content/foo.mdx', locale: 'pt-BR' },
+ { filename: 'included/path/content/foo.mdx', locale: 'fr-FR' },
]);
});
@@ -236,6 +248,11 @@ describe('add-files-to-translation-queue tests', () => {
contentType: 'doc',
locale: 'ja-JP',
},
+ {
+ filename: 'excluded/path/content/bar.mdx',
+ contentType: 'doc',
+ locale: 'fr-FR',
+ },
];
setup();
diff --git a/scripts/actions/utils/constants.js b/scripts/actions/utils/constants.js
index 8b44888f502..7fc10c6fb70 100644
--- a/scripts/actions/utils/constants.js
+++ b/scripts/actions/utils/constants.js
@@ -4,6 +4,7 @@ const LOCALE_IDS = {
kr: 'ko-KR',
es: 'es-LA',
pt: 'pt-BR',
+ fr: 'fr-FR',
};
const LOCALES = Object.keys(LOCALE_IDS);
diff --git a/scripts/actions/utils/docs-content-tools/i18n-exclusions.yml b/scripts/actions/utils/docs-content-tools/i18n-exclusions.yml
index 24d17874ea0..2656a54d1a7 100644
--- a/scripts/actions/utils/docs-content-tools/i18n-exclusions.yml
+++ b/scripts/actions/utils/docs-content-tools/i18n-exclusions.yml
@@ -99,8 +99,34 @@ excludePath:
- src/content/docs/apm/agents/net-agent/getting-started/net-agent-eol-policy.mdx
- src/content/docs/new-relic-solutions/build-nr-ui/sdk-component
+ fr-FR:
+ - src/announcements
+ - src/content/eol
+ - src/content/whats-new
+ - src/content/docs/release-notes
+ - src/content/docs/licenses
+ - src/content/docs/style-guide
+ - src/content/docs/agile-handbook
+ - src/data-dictionary
+ - src/i18n
+ - src/content/docs/security/security-privacy/data-privacy
+ - src/content/docs/security/security-privacy/compliance
+ - scripts/actions/__tests__/kitchen-sink.mdx
+ - src/install
+ - src/content/docs/mdx-test-page
+ - src/content/docs/apm/agents/go-agent/get-started/go-agent-eol-policy.mdx
+ - src/content/docs/apm/agents/java-agent/getting-started/java-agent-eol-policy.mdx
+ - src/content/docs/infrastructure/infrastructure-monitoring/get-started/infrastructure-agent-eol-policy.mdx
+ - src/content/docs/apm/agents/ruby-agent/getting-started/ruby-agent-eol-policy.mdx
+ - src/content/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy.mdx
+ - src/content/docs/browser/browser-monitoring/getting-started/browser-agent-eol-policy.mdx
+ - src/content/docs/apm/agents/php-agent/getting-started/php-agent-eol-policy.mdx
+ - src/content/docs/apm/agents/net-agent/getting-started/net-agent-eol-policy.mdx
+ - src/content/docs/new-relic-solutions/build-nr-ui/sdk-component
+
excludeType:
ja-JP:
ko-KR:
es-LA:
pt-BR:
+ fr-FR:
diff --git a/scripts/i18n_utility/__tests__/actions.test.ts b/scripts/i18n_utility/__tests__/actions.test.ts
index dde126826f0..18ea7e3986b 100644
--- a/scripts/i18n_utility/__tests__/actions.test.ts
+++ b/scripts/i18n_utility/__tests__/actions.test.ts
@@ -171,18 +171,18 @@ describe('actions tests', () => {
* Every 4 Booleans represents mocking if the file exists and therefore should be renamed or skipped for those locale paths
*/
[
- // doc[0]: jp renamed, kr renamed, es renamed, pt renamed
- true, true, true, true,
- // doc[1]: jp renamed, kr skipped, es skipped, pt skipped
- true, false, false, false,
- // doc[2]: jp skipped, kr renamed, es skipped, pt skipped
- false, true, false, false,
- // doc[3]: jp skipped, kr skipped, es renamed, pt skipped
- false, false, true, false,
- // doc[4]: jp skipped, kr skipped, es skipped, pt renamed
- false, false, false, true,
- // doc[5]: jp skipped, kr skipped, es skipped, pt skipped
- false, false, false, false,
+ // doc[0]: jp renamed, kr renamed, es renamed, pt renamed, fr renamed
+ true, true, true, true, true,
+ // doc[1]: jp renamed, kr skipped, es skipped, pt skipped, fr skipped
+ true, false, false, false, false,
+ // doc[2]: jp skipped, kr renamed, es skipped, pt skipped, fr skipped
+ false, true, false, false, false,
+ // doc[3]: jp skipped, kr skipped, es renamed, pt skipped, fr skipped
+ false, false, true, false, false,
+ // doc[4]: jp skipped, kr skipped, es skipped, pt renamed, fr skipped
+ false, false, false, true, false,
+ // doc[5]: jp skipped, kr skipped, es skipped, pt skipped, fr renamed
+ false, false, false, false, true,
].forEach(
(returnValue) => {
mockFs.existsSync.mockReturnValueOnce(returnValue);
@@ -191,7 +191,7 @@ describe('actions tests', () => {
const result = Actions.getRenameChanges(input);
- expect(result.length).toBe(8);
+ expect(result.length).toBe(10);
expect(result).toStrictEqual([
{
from:
@@ -213,6 +213,11 @@ describe('actions tests', () => {
'src/i18n/content/pt/docs/accounts/accounts-billing/account-setup/choose-your-data-center.mdx',
to: 'src/i18n/content/pt/docs/choose-your-data-center.mdx',
},
+ {
+ from:
+ 'src/i18n/content/fr/docs/accounts/accounts-billing/account-setup/choose-your-data-center.mdx',
+ to: 'src/i18n/content/fr/docs/choose-your-data-center.mdx',
+ },
{
from:
'src/i18n/content/jp/docs/apm/agents/c-sdk/get-started/images/c-apm-summary.png',
@@ -235,6 +240,10 @@ describe('actions tests', () => {
from: 'src/i18n/content/pt/docs/apm/auspicious-petite-moth.mdx',
to: 'src/i18n/content/pt/docs/apm/aesthetic-purple-moon.mdx',
},
+ {
+ from: 'src/i18n/content/fr/docs/apm/errors-inbox/errors-inbox-ui.mdx',
+ to: 'src/i18n/content/fr/docs/apm/errors-inbox-ui.mdx',
+ },
]);
});
diff --git a/src/components/EolPage.js b/src/components/EolPage.js
index 1da63324d8b..c848af66bda 100644
--- a/src/components/EolPage.js
+++ b/src/components/EolPage.js
@@ -1,6 +1,6 @@
import React from 'react';
import { format, isAfter, isSameDay, parseISO } from 'date-fns';
-import { ja, ko, es, ptBR } from 'date-fns/locale';
+import { ja, ko, es, ptBR, fr } from 'date-fns/locale';
import { useStaticQuery, graphql } from 'gatsby';
import { compareVersions } from 'compare-versions';
import getAgentName from '../utils/getAgentName.js';
@@ -65,6 +65,9 @@ const EolPage = ({ agent, locale = 'en' }) => {
if (locale === 'pt') {
return format(date, 'PPP', { locale: ptBR });
}
+ if (locale === 'fr') {
+ return format(date, 'PPP', { locale: fr });
+ }
return format(date, 'PP');
};
diff --git a/src/components/FrNav.js b/src/components/FrNav.js
new file mode 100644
index 00000000000..70e4dc06107
--- /dev/null
+++ b/src/components/FrNav.js
@@ -0,0 +1,46 @@
+import React from 'react';
+import Navigation from './Navigation';
+import { useStaticQuery, graphql } from 'gatsby';
+
+const FrNav = ({ className }) => {
+ const { nav } = useStaticQuery(frQuery);
+ return ;
+};
+
+const frQuery = graphql`
+ query {
+ nav(slug: "/") {
+ id
+ title(locale: "fr")
+ url
+ filterable
+ pages {
+ ...MainLayout_navPagesfr
+ pages {
+ ...MainLayout_navPagesfr
+ pages {
+ ...MainLayout_navPagesfr
+ pages {
+ ...MainLayout_navPagesfr
+ pages {
+ ...MainLayout_navPagesfr
+ pages {
+ ...MainLayout_navPagesfr
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ fragment MainLayout_navPagesfr on NavItem {
+ title(locale: "fr")
+ url
+ icon
+ label
+ }
+`;
+
+export default FrNav;
diff --git a/src/components/InlinePopover/InlinePopover.js b/src/components/InlinePopover/InlinePopover.js
index 9b8834a9937..c86a3c3cf26 100644
--- a/src/components/InlinePopover/InlinePopover.js
+++ b/src/components/InlinePopover/InlinePopover.js
@@ -8,6 +8,7 @@ import jpJson from '../../data/popovers_jp.json';
import krJson from '../../data/popovers_kr.json';
import esJson from '../../data/popovers_es.json';
import ptJson from '../../data/popovers_pt.json';
+import frJson from '../../data/popovers_fr.json';
import { TwoButton } from './layouts';
@@ -26,6 +27,7 @@ const InlinePopover = ({ type }) => {
if (locale === 'jp') return jpJson;
if (locale === 'es') return esJson;
if (locale === 'pt') return ptJson;
+ if (locale === 'fr') return frJson;
return enJson;
})();
diff --git a/src/components/RootNavigation.js b/src/components/RootNavigation.js
index 4ac387e4a25..fd283ddb7b5 100644
--- a/src/components/RootNavigation.js
+++ b/src/components/RootNavigation.js
@@ -4,6 +4,7 @@ import JpNav from './JpNav';
import EsNav from './EsNav';
import PtNav from './PtNav';
import EnNav from './EnNav';
+import FrNav from './FrNav';
import StyleGuideNav from './StyleGuideNav';
const RootNavigation = ({ locale, className, isStyleGuide }) => {
@@ -13,6 +14,7 @@ const RootNavigation = ({ locale, className, isStyleGuide }) => {
en: ,
es: ,
pt: ,
+ fr: ,
};
if (isStyleGuide) {
return ;
diff --git a/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx b/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx
index b6208121b3d..1a1794dcc86 100644
--- a/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx
+++ b/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx
@@ -1425,10 +1425,11 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
name="fe-check"
/>
+
Use the built-in `System.Data.ODBC` namespace from the .NET Framework.
* Available in all currently supported .NET Framework agent versions.
* All versions of the .NET Framework currently supported by Microsoft are verified to be compatible.
- | |
+
@@ -1557,9 +1558,10 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
name="fe-check"
/>
+
* Latest verified compatible version: 4.0.40
* Known incompatible versions: 4.0.44 or higher
- | |
+
diff --git a/src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/nrai-summary.mdx b/src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/nrai-summary.mdx
new file mode 100644
index 00000000000..42708cec373
--- /dev/null
+++ b/src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/nrai-summary.mdx
@@ -0,0 +1,51 @@
+---
+title: "New Relic AI summary for Session Replay"
+metaDescription: "Manage session replay & modify capabilities depending on the role"
+freshnessValidatedDate: 2024-12-19
+---
+
+
+ We're still working on this feature, but we'd love for you to try it out!
+
+ This feature is currently provided as part of a preview program pursuant to our [pre-release policies](docs/new-relic-solutions/new-relic-one/core-concepts/new-relic-ai).
+
+
+You can use New Relic AI (NRAI) to help you summarise and map session replay event trail data so that you can better understand errors and successes of your user's browser journey.
+
+To use NRAI to summarize your session replay event trail data, you must have [NRAI enabled](/docs/agentic-ai/new-relic-ai/#enable) for your account. Once NRAI is enabled on your account, perform the following to surface your summary:
+
+
+
+
+ Go to **[one.newrelic.com > All Capabilities](https://one.newrelic.com/all-capabilities) > Browser**.
+
+
+
+ Select your browser app.
+
+
+
+ In the left-hand menu, scroll down and click **Session replay**.
+
+
+
+ Click the replay to view session details for the session you would like summarized.
+
+
+
+
+
+ Click **Summarize**. A summary of the session is generated on the focus panel.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/data/popovers_fr.json b/src/data/popovers_fr.json
new file mode 100644
index 00000000000..71f4f843be6
--- /dev/null
+++ b/src/data/popovers_fr.json
@@ -0,0 +1,143 @@
+{
+ "apm": {
+ "inlineText": "APM",
+ "popover": {
+ "header": "Application monitoring",
+ "text": "Monitor application performance across your entire tech stack.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/introduction-apm/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/nr1-core?filters=%28domain%20IN%20%28%27APM%27%2C%20%27EXT%27%29%20AND%20type%20IN%20%28%27APPLICATION%27%2C%20%27SERVICE%27%29%29&state=62bc4f1a-cea5-dbdd-6c12-ab2653bdba94"
+ }
+ },
+ "browser": {
+ "inlineText": "browser monitoring",
+ "popover": {
+ "header": "Browser monitoring",
+ "text": "Track your web app’s page load time, measure user engagement by location and device, and learn more about how your users interact with your app.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/browser/browser-monitoring/getting-started/introduction-browser-monitoring/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/nr1-core?filters=%28domain%3D%27BROWSER%27%20AND%20type%3D%27APPLICATION%27%29&state=1f7bae2d-dd3a-0027-3079-b60bcd19ded9"
+ }
+ },
+ "infrastructure": {
+ "inlineText": "infrastructure monitoring",
+ "popover": {
+ "header": "Open in New Relic",
+ "text": "Monitor the health and performance of your hosts and databases.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/identify-root-causes-guide/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/infra?"
+ }
+ },
+ "licenseKey": {
+ "inlineText": "license key",
+ "popover": {
+ "header": "License key",
+ "text": "Your license key is used to associate your incoming data with your account.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys",
+ "primaryButton": "Get your key",
+ "primaryButtonUrl": "https://one.newrelic.com/api-keys"
+ }
+ },
+ "logs": {
+ "inlineText": "log management",
+ "popover": {
+ "header": "Log management",
+ "text": "Manage, search, and query all your logs in one place.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/logs/get-started/get-started-log-management/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/logger"
+ }
+ },
+ "mobile": {
+ "inlineText": "mobile monitoring",
+ "popover": {
+ "header": "Mobile monitoring",
+ "text": "Monitor the full-stack of your mobile applications.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/nr1-core?filters=%28domain%3D%27MOBILE%27%20AND%20type%3D%27APPLICATION%27%29"
+ }
+ },
+ "networkMonitoring": {
+ "inlineText": "network performance monitoring",
+ "popover": {
+ "header": "Network monitoring",
+ "text": "Analyze your network performance data and correlate it to overall system performance.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/network-performance-monitoring"
+ }
+ },
+ "alerts": {
+ "inlineText": "alerts",
+ "popover": {
+ "header": "Alerts",
+ "text": "Set up actionable alerts and catch problems before they turn critical.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/get-started/your-first-nrql-condition/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/alerts-ai"
+ }
+ },
+ "dashboards": {
+ "inlineText": "dashboards",
+ "popover": {
+ "header": "Dashboards",
+ "text": "Aggregate your data into charts and graphs to see the story behind your data.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/dashboards"
+ }
+ },
+ "vulnerabilityManagement": {
+ "inlineText": "Vulnerability Management",
+ "popover": {
+ "header": "Vulnerability Management",
+ "text": "Automatically identify vulnerabilities in your applications and solve them with explicit remediation steps.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/vulnerability-management/overview/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/vulnerability-management"
+ }
+ },
+ "userKey": {
+ "inlineText": "user key",
+ "popover": {
+ "header": "User key",
+ "text": "Your user key allows you to make queries using Nerdgraph or our REST API for any accounts you have access to.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/apis/intro-apis/new-relic-keys/#user-key",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/api-keys"
+ }
+ },
+ "synthetics": {
+ "inlineText": "synthetics",
+ "popover": {
+ "header": "Synthetic monitoring",
+ "text": "Proactively identify and resolve issues before they become problems.",
+ "learnMore": "Learn more",
+ "learnMoreUrl": "https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/",
+ "primaryButton": "Open in New Relic",
+ "primaryButtonUrl": "https://one.newrelic.com/synthetics-nerdlets"
+ }
+ },
+ "alertsTutorial": {
+ "inlineText": "alerts",
+ "popover": {
+ "header": "Create and manage alerts tutorial",
+ "text": "Don't have alerts yet? Learn to create your first alert and manage the quality of your existing alerts.",
+ "primaryButton": "Read the tutorial",
+ "primaryButtonUrl": "https://docs.newrelic.com/docs/tutorial-create-alerts/create-new-relic-alerts/"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx b/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx
index 29fd4ae3df4..1d680f357e6 100644
--- a/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx
+++ b/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx
@@ -137,6 +137,20 @@ Si sus servicios emplean instrumentación OpenTelemetry para ActiveMQ debe tener
* `server.address`: Este atributo debe coincidir con la etiqueta de extremo correspondiente de la entidad Amazon MQ.
* `span.kind`:Esta relación se genera a partir de datos de intervalo donde `span.kind` es `producer` o `consumer`.
+#### Amazon Managed Kafka (MSK)
+
+The Amazon CloudWatch Metric Streams integration for [MSK](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration) generates MSK entities in New Relic. These entities will have the following entity tag:
+
+* `aws.clusterName` o `aws.kafka.ClusterName`
+* `aws.awsRegion` o `aws.region`
+* `aws.topic` o `aws.kafka.Topic`
+
+If your services use OpenTelemetry instrumentation for MSK it must have the following attributes for a relationship to be generated:
+
+* `messaging.destination.name`: The MSK topic to which the service is either producing messages or consuming messages.
+* `server.address`: This attribute must match the corresponding endpoint tag of the MSK entity.
+* `span.kind`:Esta relación se genera a partir de datos de intervalo donde `span.kind` es `producer` o `consumer`.
+
## Agregar una etiqueta personalizada a una entidad [#tags]
Puedes usar etiqueta para organizar y filtrar tu entidad en la UI. [etiqueta](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/) son pares de valores principales, por ejemplo `team: operations`, agregados a varios conjuntos de datos, como aplicaciones de monitoreo y hosts. Ciertos atributos importantes están disponibles automáticamente como etiqueta, como el ID de cuenta; También puedes agregar tu propia etiqueta personalizada [directamente en la UI](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-tags) o con uno de los métodos siguientes.
diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx
index 73bb22f7e5f..b31154f0337 100644
--- a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx
+++ b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx
@@ -3,7 +3,7 @@ title: Variables de entorno para la monitorización Azure Functions
metaDescription: Configure environment variables to monitor your Azure functions with New Relic
freshnessValidatedDate: never
tags:
- - AWS Lambda
+ - Azure Functions
- Environment Variables
- Configuration
- Secrets Management
@@ -80,7 +80,7 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f
- `CORECLR_NEWRELIC_HOME`
+ `CORECLR_NEW_RELIC_HOME`
|
|
@@ -110,49 +110,13 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f
-
-
- `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`
- |
-
-
- `true`
- |
-
-
- `true`
-
- ,
-
- `false`
- |
-
-
- Generar traza habilitando rastreo distribución.
- |
-
-
-
-
- `NEW_RELIC_APP_NAME`
- |
-
- |
-
- |
-
-
- Establece el nombre de la aplicación, aunque no se emplee en la UI de New Relic.
- |
-
-
`NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED`
|
- `1`
+ `0`
|
@@ -164,9 +128,9 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f
|
- Deshabilite el modo Azure Functions estableciendo el valor en
+ Enable Azure Functions mode by setting the value to
- `0`
+ `1`
.
|
diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx
index cfa244139ce..669749d4fd5 100644
--- a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx
+++ b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx
@@ -37,12 +37,16 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib
- Vaya a la página de servicio de Kudu y haga lo siguiente:
+ The New Relic Azure Websites Extension (v1.6.0 and later) automatically configures instrumentation for your Windows Azure Function.
+
+ To install the New Relic Azure Websites Extension, follow these steps:
1. En el portal de Azure, navegue hasta su aplicación de función.
- 2. Haga clic en la sección **Development tools** y seleccione **Advanced Tools > Go**.
- 3. Para ver las extensiones de sitio disponibles, haga clic en la pestaña **Site extensions** .
- 4. Para instalar la extensión, busque `New Relic .NET Agent` y haga clic en **+**.
+ 2. Haga clic en la sección **Development tools** y seleccione **Extensions**.
+ 3. Haga clic en **+ Add**.
+ 4. Select **Search for an extension to install** and enter `New Relic .NET Agent` in the **Filter items** box.
+ 5. Select the **New Relic .NET Agent(vx.x.x) - New Relic** extension and click **Add**.
+ 6. When installation is complete, the extension will appear in the list of installed extensions. To verify correct installation, click the link under the "Browse" column to view the installation log.
@@ -90,7 +94,7 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib
"slotSetting": false
},
{
- "name": "CORECLR_NEWRELIC_HOME",
+ "name": "CORECLR_NEW_RELIC_HOME",
"value": "/home/site/wwwroot/newrelic",
"slotSetting": false
},
@@ -110,70 +114,35 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib
"slotSetting": false
},
{
- "name": "NEW_RELIC_LICENSE_KEY",
- "value": "YOUR_NEW_RELIC_LICENSE_KEY",
- "slotSetting": false
- },
- {
- "name": "NEWRELIC_LOG_DIRECTORY",
+ "name": "NEW_RELIC_LOG_DIRECTORY",
"value": "/home/LogFiles/NewRelic",
"slotSetting": false
},
{
- "name": "NEWRELIC_LOG_LEVEL",
- "value": "info",
+ "name": "NEW_RELIC_LICENSE_KEY",
+ "value": "",
"slotSetting": false
- },
+ }
```
```json
- {
- "name": "CORECLR_PROFILER_PATH",
- "value": "C:\\home\\NewRelicAgent\\Core\\NewRelic.Profiler.dll",
- "slotSetting": false
- },
- {
- "name": "CORECLR_NEWRELIC_HOME",
- "value": "C:\\home\\NewRelicAgent\\Core",
- "slotSetting": false
- },
- {
- "name": "NEWRELIC_LOG_DIRECTORY",
- "value": "C:\\home\\LogFiles\\NewRelic",
- "slotSetting": false
- },
- {
- "name": "NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED",
- "value": "1",
- "slotSetting": false
- },
- {
- "name": "CORECLR_ENABLE_PROFILING",
- "value": "1",
- "slotSetting": false
- },
- {
- "name": "CORECLR_PROFILER",
- "value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}",
- "slotSetting": false
- },
{
"name": "NEW_RELIC_LICENSE_KEY",
"value": "YOUR_NEW_RELIC_LICENSE_KEY",
"slotSetting": false
- },
- {
- "name": "NEWRELIC_LOG_LEVEL",
- "value": "info",
- "slotSetting": false
- },
+ }
+ ```
+
+ Optionally, you can specify the version of the .NET agent you want to install by adding the following environment variable:
+
+ ```json
{
- "name": "NEW_RELIC_APP_NAME",
- "value": "YOUR_APP_NAME",
+ "name": "NEW_RELIC_AGENT_VERSION_OVERRIDE",
+ "value": "10.35.0",
"slotSetting": false
- },
+ }
```
@@ -185,7 +154,7 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib
"slotSetting": false
},
{
- "name": "CORECLR_NEWRELIC_HOME",
+ "name": "CORECLR_NEW_RELIC_HOME",
"value": "/usr/local/newrelic-dotnet-agent",
"slotSetting": false
},
@@ -205,20 +174,15 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib
"slotSetting": false
},
{
- "name": "NEW_RELIC_LICENSE_KEY",
- "value": "YOUR_NEW_RELIC_LICENSE_KEY",
- "slotSetting": false
- },
- {
- "name": "NEWRELIC_LOG_DIRECTORY",
+ "name": "NEW_RELIC_LOG_DIRECTORY",
"value": "/home/LogFiles/NewRelic",
"slotSetting": false
},
{
- "name": "NEWRELIC_LOG_LEVEL",
- "value": "info",
+ "name": "NEW_RELIC_LICENSE_KEY",
+ "value": "",
"slotSetting": false
- },
+ }
```
diff --git a/src/i18n/content/es/docs/service-level-management/create-slm.mdx b/src/i18n/content/es/docs/service-level-management/create-slm.mdx
index e4c0d08c4d0..cb0e029dafa 100644
--- a/src/i18n/content/es/docs/service-level-management/create-slm.mdx
+++ b/src/i18n/content/es/docs/service-level-management/create-slm.mdx
@@ -588,6 +588,10 @@ Para crear un nivel de servicio, siga estos pasos:
```
+
+
+ When writing your SLI queries, you can add [comments](https://docs.newrelic.com/docs/nrql/nrql-syntax-clauses-functions/#comments) to help your team members better understand the query.
+
diff --git a/src/i18n/content/kr/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx b/src/i18n/content/kr/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx
index ed15895c70d..9071024690a 100644
--- a/src/i18n/content/kr/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx
+++ b/src/i18n/content/kr/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx
@@ -203,7 +203,7 @@ translationType: human
## API 사용 [#api]
-API를 통해 사용자 및 그룹을 관리하는 방법은 [NerdGraph 문서](/docs/apis/nerdgraph/examples/nerdgraph-manage-users)를 참조하십시오.
+API를 통해 사용자, 그룹 및 역할을 관리하는 방법은 [NerdGraph 문서를](/docs/apis/nerdgraph/examples/nerdgraph-manage-users) 참조하세요.
## 사용자 관리 용어 및 정의 [#definitions]
diff --git a/src/nav/browser.yml b/src/nav/browser.yml
index 4a0390a5a2a..ea045c08f58 100644
--- a/src/nav/browser.yml
+++ b/src/nav/browser.yml
@@ -76,6 +76,8 @@ pages:
path: /docs/browser/browser-monitoring/browser-pro-features/session-replay/view-session-replays
- title: Manage session replay & modify capabilities
path: /docs/browser/browser-monitoring/browser-pro-features/session-replay/manage-session-replay-modify-capabilities
+ - title: NRAI Summary for Session Replay
+ path: /docs/browser/browser-monitoring/browser-pro-features/session-replay/nrai-summary
- title: Troubleshooting session replay
path: /docs/browser/browser-monitoring/browser-pro-features/session-replay/troubleshooting-session-replay
- title: Advanced features
diff --git a/static/images/browser-session-replay.webp b/static/images/browser-session-replay.webp
new file mode 100644
index 00000000000..209723409a2
Binary files /dev/null and b/static/images/browser-session-replay.webp differ
diff --git a/static/images/finalcut.gif b/static/images/finalcut.gif
new file mode 100644
index 00000000000..9815e36bb3a
Binary files /dev/null and b/static/images/finalcut.gif differ
diff --git a/static/images/logs-in-error-inbox.webp b/static/images/logs-in-error-inbox.webp
new file mode 100644
index 00000000000..13fffbb14be
Binary files /dev/null and b/static/images/logs-in-error-inbox.webp differ