Bu kılavuzda, Firebase telemetri eklentisi kullanılarak dağıtılan özellikler için gelişmiş yapılandırma seçenekleri ele alınmaktadır. Her yapılandırma seçeneğinin ayrıntılı açıklamalarını JS API referans belgelerinde bulabilirsiniz.
Bu dokümanda, hangi telemetrinin ne sıklıkta ve hangi ortamlardan toplanacağıyla ilgili ayrıntılı ayarların nasıl yapılacağı açıklanmaktadır.
Varsayılan Yapılandırma
Firebase telemetri eklentisi, hızlıca çalışmaya başlamanız için hazır varsayılan seçenekler sunar. Varsayılan değerler şunlardır:
{
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()
}
Yerel telemetriyi dışa aktarma
Yerel olarak çalıştırırken telemetriyi dışa aktarmak için forceDevExport
seçeneğini true
olarak ayarlayın.
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({forceDevExport: true});
Geliştirme ve test sırasında dışa aktarma aralığını ve zaman aşım süresini ayarlayarak gecikmeyi azaltabilirsiniz.
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
forceDevExport: true,
metricExportIntervalMillis: 10_000, // 10 seconds
metricExportTimeoutMillis: 10_000 // 10 seconds
});
Otomatik enstrümantasyonu ayarlama
Firebase telemetri eklentisi, OpenTelemetry sıfır kodlu enstrümantasyonu kullanarak popüler çerçeveler için otomatik olarak iz ve metrikler toplar.
Mevcut enstrümanların tam listesini auto-instrumentations-node dokümanlarında bulabilirsiniz.
Otomatik enstrümantasyon için uygun olan enstrümantasyonları seçerek devre dışı bırakmak veya etkinleştirmek için autoInstrumentationConfig
alanını güncelleyin:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
autoInstrumentationConfig: {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-net': { enabled: false },
}
});
Telemetriyi devre dışı bırakma
Firebase Genkit İzleme, Genkit etkileşimlerinizin bütünsel bir görünümünü yakalamak için günlük kaydı, izleme ve metriklerin bir kombinasyonundan yararlanır. Ancak gerekirse bu öğelerin her birini bağımsız olarak da devre dışı bırakabilirsiniz.
Giriş ve çıkış günlük kaydını devre dışı bırakma
Firebase telemetri eklentisi varsayılan olarak her Genkit özelliği veya adımı için girişleri ve çıkışları yakalar.
Müşteri verilerinin nasıl depolandığını kontrol etmenize yardımcı olması için yapılandırmanıza aşağıdakileri ekleyerek giriş ve çıkış günlük kaydını devre dışı bırakabilirsiniz:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableLoggingInputAndOutput: true
});
Bu seçenek belirlendiğinde giriş ve çıkış özellikleri Firebase Genkit İzleme izleme görüntüleyicisinde çıkartılır ve Google Cloud günlük kaydında bulunmaz.
Metrikleri devre dışı bırakma
Metrik toplamayı devre dışı bırakmak için yapılandırmanıza aşağıdakileri ekleyin:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableMetrics: true
});
Bu seçenek belirlendiğinde, Firebase Genkit İzleme kontrol panelinde artık kararlılık metriklerini görmezsiniz ve Google Cloud Metrikler'de bu metrikler eksik olur.
İzleri devre dışı bırakma
İzin toplamayı devre dışı bırakmak için yapılandırmanıza aşağıdakileri ekleyin:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
disableTraces: true
});
Bu seçenek belirlendiğinde artık Firebase Genkit İzleme özelliği sayfasında izlemeleri görmez, izleme görüntüleyiciye erişemez veya Google Cloud İzleme'deki izlemeleri görmezsiniz.