Расширенная конфигурация

В этом руководстве основное внимание уделяется расширенным параметрам конфигурации для развернутых функций с помощью плагина телеметрии 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 с нулевым кодом .

Полный список доступных инструментов можно найти в документации 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 Monitoring использует комбинацию ведения журнала, трассировки и метрик для получения целостного представления о ваших взаимодействиях с Genkit, однако при необходимости вы также можете отключить каждый из этих элементов независимо.

Отключить ведение журнала ввода и вывода

По умолчанию плагин телеметрии Firebase будет захватывать входные и выходные данные для каждой функции или шага Genkit.

Чтобы помочь вам контролировать хранение данных о клиентах, вы можете отключить регистрацию ввода и вывода, добавив в свою конфигурацию следующее:

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

enableFirebaseTelemetry({
  disableLoggingInputAndOutput: true
});

Если этот параметр установлен, входные и выходные атрибуты будут отредактированы в средстве просмотра трассировки Firebase Genkit Monitoring и будут отсутствовать в журналах Google Cloud.

Отключить метрики

Чтобы отключить сбор метрик, добавьте в свою конфигурацию следующее:

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

enableFirebaseTelemetry({
  disableMetrics: true
});

Если этот параметр установлен, вы больше не будете видеть показатели стабильности на панели мониторинга Firebase Genkit Monitoring и отсутствовать в Google Cloud Metrics.

Отключить трассировку

Чтобы отключить сбор трассировки, добавьте в свою конфигурацию следующее:

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

enableFirebaseTelemetry({
  disableTraces: true
});

Если этот параметр установлен, вы больше не будете видеть трассировки на странице функции мониторинга Firebase Genkit, иметь доступ к средству просмотра трассировки или видеть трассировки, присутствующие в Google Cloud Tracing.