고급 구성

이 가이드에서는 Firebase 원격 분석 플러그인을 사용하는 배포된 기능의 고급 구성 옵션에 중점을 둡니다. 각 구성 옵션에 관한 자세한 설명은 JS API 참조 문서를 참고하세요.

이 문서에서는 수집되는 원격 분석, 수집 빈도, 수집 환경을 미세 조정하는 방법을 설명합니다.

기본 구성

Firebase 원격 분석 플러그인은 기본 옵션을 즉시 제공하여 빠르게 설정하고 실행할 수 있도록 지원합니다. 제공된 기본값은 다음과 같습니다.

{
  autoInstrumentation: true,
  autoInstrumentationConfig: {
    '@opentelemetry/instrumentation-dns': { enabled: false },
  }
  disableMetrics: false,
  disableTraces: false,
  disableLoggingInputAndOutput: false,
  forceDevExport: false,
  // 5 minutes
  metricExportIntervalMillis: 300_000,
  // 5 minutes
  metricExportTimeoutMillis: 300_000,
  // See https://js.api.genkit.dev/interfaces/_genkit-ai_google-cloud.GcpTelemetryConfigOptions.html#sampler
  sampler: AlwaysOnSampler()
}

로컬 원격 분석 내보내기

로컬에서 실행할 때 원격 분석을 내보내려면 forceDevExport 옵션을 true로 설정합니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({forceDevExport: true});

개발 및 테스트 중에 내보내기 간격과 시간 제한을 조정하여 지연 시간을 줄일 수 있습니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  forceDevExport: true,
  metricExportIntervalMillis: 10_000, // 10 seconds
  metricExportTimeoutMillis: 10_000 // 10 seconds
});

자동 계측 조정

Firebase 원격 분석 플러그인은 OpenTelemetry 제로 코드 계측을 사용하여 인기 있는 프레임워크의 trace 및 측정항목을 자동으로 수집합니다.

사용 가능한 계측의 전체 목록은 auto-instrumentations-node 문서에서 확인할 수 있습니다.

자동 계측에 적합한 계측을 선택적으로 사용 중지하거나 사용 설정하려면 autoInstrumentationConfig 필드를 업데이트합니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  autoInstrumentationConfig: {
    '@opentelemetry/instrumentation-fs': { enabled: false },
    '@opentelemetry/instrumentation-dns': { enabled: false },
    '@opentelemetry/instrumentation-net': { enabled: false },
  }
});

원격 분석 사용 중지

Firebase Genkit 모니터링은 로깅, 추적, 측정항목을 조합하여 Genkit 상호작용의 전체적인 뷰를 캡처하지만, 필요한 경우 이러한 각 요소를 개별적으로 사용 중지할 수도 있습니다.

입력 및 출력 로깅 사용 중지

기본적으로 Firebase 원격 분석 플러그인은 각 Genkit 기능 또는 단계의 입력과 출력을 캡처합니다.

고객 데이터 저장 방식을 제어하려면 구성에 다음을 추가하여 입력 및 출력 로깅을 사용 중지할 수 있습니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

이 옵션을 설정하면 입력 및 출력 속성이 Firebase Genkit 모니터링 트레이스 뷰어에서 수정되고 Google Cloud 로깅에서 누락됩니다.

측정항목 사용 중지

측정항목 수집을 사용 중지하려면 구성에 다음을 추가합니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableMetrics: true
});

이 옵션을 설정하면 Firebase Genkit 모니터링 대시보드에 안정성 측정항목이 더 이상 표시되지 않으며 Google Cloud 측정항목에서 누락됩니다.

트레이스 사용 중지

트레이스 수집을 사용 중지하려면 구성에 다음을 추가합니다.

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry({
  disableTraces: true
});

이 옵션을 설정하면 더 이상 Firebase Genkit 모니터링 기능 페이지에 트레이스가 표시되지 않으며, 트레이스 뷰어에 액세스하거나 Google Cloud Tracing에 있는 트레이스를 볼 수 없습니다.