Descripción general

Cuando habilita el parámetro de inicialización enablePrivacyForActionName, los nombres de las acciones se enmascaran por privacidad. En compilaciones minificadas, los nombres de las acciones también pueden volverse ilegibles porque los empaquetadores ofuscan el texto y los atributos del elemento DOM que RUM utiliza para generar nombres de acciones.

El plugin de compilación de Desofuscación de nombres de acciones aborda ambos problemas instrumentando su código fuente en tiempo de compilación para generar un diccionario de privacidad que asigna valores ofuscados de nuevo a su texto original. El SDK de RUM utiliza este diccionario para resolver nombres de acciones legibles.

Requisitos previos

Configuración

Configure el objeto rum.privacy en las opciones de su plugin de compilación:

ParámetroTipoRequeridoPredeterminadoDescripción
rum.privacy.includeMatriz de RegExp o StringNoArchivos JS/TS (.js, .ts, .jsx, .tsx, .mjs, .cjs y variantes)Patrones de archivo para procesar para la desofuscación de nombres de acciones.
rum.privacy.excludeMatriz de RegExp o StringNonode_modules, .preval. archivosPatrones de archivo para omitir.

Ejemplo

Con la configuración predeterminada (procesa todos los archivos JS/TS, excluye node_modules):

const { datadogWebpackPlugin } = require('@datadog/webpack-plugin');

module.exports = {
  plugins: [
    datadogWebpackPlugin({
      rum: {
        privacy: {},
      },
    }),
  ],
};

Con patrones personalizados de inclusión y exclusión:

const { datadogWebpackPlugin } = require('@datadog/webpack-plugin');

module.exports = {
  plugins: [
    datadogWebpackPlugin({
      rum: {
        privacy: {
          include: [/\.jsx?$/, /\.tsx?$/],
          exclude: [/\/node_modules\//, /\/test\//],
        },
      },
    }),
  ],
};
Estos ejemplos utilizan webpack. El objeto de configuración es idéntico en todos los empaquetadores compatibles. Consulte Plugins de compilación para obtener instrucciones de instalación.

Lecturas adicionales