개요

enablePrivacyForActionName 초기화 파라미터를 활성화하면 개인정보 보호를 위해 액션 이름이 마스킹됩니다. 최소화된 빌드에서는 번들러가 RUM이 액션 이름을 생성하는 데 사용하는 DOM 요소 텍스트와 속성을 난독화하기 때문에 액션 이름을 읽을 수 없게 될 수도 있습니다.

Action Name Deobfuscation 빌드 플러그인은 빌드 시 소스 코드를 계측하여 난독화된 값을 원래 텍스트로 다시 매핑하는 개인정보 보호 사전을 생성함으로써 두 가지 문제를 모두 해결합니다. RUM SDK는 이 사전을 사용하여 읽을 수 있는 액션 이름을 복원합니다.

전제 조건

  • RUM SDK가 trackUserInteractions: true와 enablePrivacyForActionName: true를 사용하여 초기화되었습니다. 모든 액션 이름 마스킹을 참조하세요.
  • Datadog 빌드 플러그인이 설치되고 번들러에 등록되었습니다. 설치 지침은 빌드 플러그인을 참조하세요.

구성

빌드 플러그인 옵션에서 rum.privacy 객체를 구성합니다.

파라미터유형필수기본값설명
rum.privacy.includeRegExp 또는 String 배열아니요JS/TS 파일(.js, .ts, .jsx, .tsx, .mjs, .cjs 및 변형)액션 이름 난독화 해제를 위해 처리할 파일 패턴입니다.
rum.privacy.excludeRegExp 또는 String 배열아니요node_modules, .preval. 파일건너뛸 파일 패턴입니다.

예시

기본 설정 사용 시(모든 JS/TS 파일을 처리하고 node_modules 제외):

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

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

사용자 지정 포함 및 제외 패턴 사용 시:

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

module.exports = {
  plugins: [
    datadogWebpackPlugin({
      rum: {
        privacy: {
          include: [/\.jsx?$/, /\.tsx?$/],
          exclude: [/\/node_modules\//, /\/test\//],
        },
      },
    }),
  ],
};
이 예시들은 webpack을 사용합니다. 구성 객체는 지원되는 모든 번들러에서 동일합니다. 설치 지침은 빌드 플러그인을 참조하세요.

추가 자료