ऐडवांस कॉन्फ़िगरेशन

इस गाइड में, 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 मॉनिटरिंग, आपके 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 में मौजूद ट्रैक नहीं दिखेंगे.