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