Plugin telemetri Firebase mengekspor kombinasi metrik, trace, dan log ke Google Cloud Observability. Dokumen ini menjelaskan metrik, atribut trace, dan log yang akan dikumpulkan serta hal yang dapat Anda harapkan dalam hal latensi, kuota, dan biaya.
Penundaan telemetri
Mungkin ada sedikit keterlambatan sebelum telemetri dari pemanggilan tertentu tersedia di Firebase. Hal ini bergantung pada interval ekspor Anda (5 menit secara default).
Kuota dan batas
Ada beberapa kuota yang penting untuk diingat:
Biaya
Cloud Logging, Cloud Trace, dan Cloud Monitoring memiliki paket gratis yang melimpah. Harga khusus dapat ditemukan di link berikut:
Metrik
Plugin Firebase telemetry mengumpulkan sejumlah metrik yang berbeda untuk mendukung berbagai jenis tindakan Genkit yang dijelaskan di bagian berikut.
Metrik fitur
Fitur adalah titik entri tingkat atas ke kode Genkit Anda. Dalam sebagian besar kasus, ini akan berupa alur. Jika tidak, ini akan menjadi span teratas dalam rekaman aktivitas.
Nama | Jenis | Deskripsi |
---|---|---|
genkit/feature/requests | Penghitung | Jumlah permintaan |
genkit/feature/latency | Histogram | Latensi eksekusi dalam md |
Setiap metrik fitur berisi dimensi berikut:
Nama | Deskripsi |
---|---|
name | Nama fitur. Pada umumnya, ini adalah alur Genkit tingkat teratas |
status | 'success' atau 'failure' bergantung pada apakah permintaan fitur berhasil atau tidak |
error | Hanya ditetapkan saat status=failure . Berisi jenis error yang menyebabkan kegagalan |
source | Bahasa sumber Genkit. Misalnya, 'ts' |
sourceVersion | Versi framework Genkit |
Metrik tindakan
Tindakan mewakili langkah eksekusi umum dalam Genkit. Setiap langkah ini akan melacak metrik berikut:
Nama | Jenis | Deskripsi |
---|---|---|
genkit/action/requests | Penghitung | Frekuensi tindakan ini telah dieksekusi |
genkit/action/latency | Histogram | Latensi eksekusi dalam md |
Setiap metrik tindakan berisi dimensi berikut:
Nama | Deskripsi |
---|---|
name | Nama tindakan |
featureName | Nama fitur induk yang sedang dieksekusi |
jalur | Jalur eksekusi dari root fitur ke tindakan ini. misalnya. '/myFeature/parentAction/thisAction' |
status | 'success' atau 'failure', bergantung pada apakah tindakan berhasil atau tidak |
error | Hanya ditetapkan saat status=failure . Berisi jenis error yang menyebabkan kegagalan |
source | Bahasa sumber Genkit. Misalnya, 'ts' |
sourceVersion | Versi framework Genkit |
Membuat metrik
Ini adalah metrik tindakan khusus yang berkaitan dengan tindakan yang berinteraksi dengan model. Selain permintaan dan latensi, input dan output juga dilacak, dengan dimensi khusus model yang mempermudah proses debug dan penyesuaian konfigurasi.
Nama | Jenis | Deskripsi |
---|---|---|
genkit/ai/generate/requests | Penghitung | Frekuensi model ini dipanggil |
genkit/ai/generate/latency | Histogram | Latensi eksekusi dalam md |
genkit/ai/generate/input/tokens | Penghitung | Token input |
genkit/ai/generate/output/tokens | Penghitung | Token output |
genkit/ai/generate/input/characters | Penghitung | Memasukkan karakter |
genkit/ai/generate/output/characters | Penghitung | Karakter output |
genkit/ai/generate/input/images | Penghitung | Gambar input |
genkit/ai/generate/output/images | Penghitung | Gambar output |
genkit/ai/generate/input/audio | Penghitung | File audio input |
genkit/ai/generate/output/audio | Penghitung | File audio output |
Setiap metrik yang dihasilkan berisi dimensi berikut:
Nama | Deskripsi |
---|---|
modelName | Nama model |
featureName | Nama fitur induk yang sedang dieksekusi |
jalur | Jalur eksekusi dari root fitur ke tindakan ini. misalnya. '/myFeature/parentAction/thisAction' |
latencyMs | Waktu respons yang diperlukan model |
status | 'success' atau 'failure' bergantung pada apakah permintaan fitur berhasil atau tidak |
error | Hanya ditetapkan saat status=failure . Berisi jenis error yang menyebabkan kegagalan |
source | Bahasa sumber Genkit. Misalnya, 'ts' |
sourceVersion | Versi framework Genkit |
Trace
Semua tindakan Genkit secara otomatis dilengkapi dengan instrumen untuk memberikan rekaman aktivitas mendetail untuk fitur AI Anda. Secara lokal, trace dapat dilihat di UI Developer. Untuk aplikasi yang di-deploy, aktifkan Firebase Genkit Monitoring untuk mendapatkan tingkat visibilitas yang sama.
Bagian berikut menjelaskan atribut rekaman aktivitas yang dapat Anda harapkan berdasarkan jenis tindakan Genkit untuk span tertentu dalam rekaman aktivitas.
Root Span
Span root memiliki atribut khusus untuk membantu membedakan atribut status untuk seluruh rekaman aktivitas dibandingkan dengan setiap span.
Nama atribut | Deskripsi |
---|---|
genkit/feature | Nama fitur induk yang sedang dieksekusi |
genkit/isRoot | Ditandai benar jika span ini adalah span root |
genkit/rootState | Status eksekusi secara keseluruhan sebagai success atau error . Hal ini tidak menunjukkan bahwa langkah ini gagal secara khusus. |
Flow
Nama atribut | Deskripsi |
---|---|
genkit/input | Input ke alur. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/metadata/subtype | Jenis tindakan Genkit. Untuk alur, nilainya adalah flow . |
genkit/name | Nama tindakan Genkit ini. Dalam hal ini, nama alur |
genkit/output | Output yang dihasilkan dalam alur. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/path | Jalur eksekusi yang sepenuhnya memenuhi syarat yang mengarah ke langkah ini dalam rekaman aktivitas, termasuk informasi jenis. |
genkit/state | Status eksekusi span ini sebagai success atau error . |
genkit/type | Jenis primitif Genkit yang sesuai dengan span ini. Untuk alur, ini akan berupa action . |
Util
Nama atribut | Deskripsi |
---|---|
genkit/input | Input ke utilitas. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/name | Nama tindakan Genkit ini. Dalam hal ini, nama alur |
genkit/output | Output yang dihasilkan di util. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/path | Jalur eksekusi yang sepenuhnya memenuhi syarat yang mengarah ke langkah ini dalam rekaman aktivitas, termasuk informasi jenis. |
genkit/state | Status eksekusi span ini sebagai success atau error . |
genkit/type | Jenis primitif Genkit yang sesuai dengan span ini. Untuk alur, ini akan berupa util . |
Model
Nama atribut | Deskripsi |
---|---|
genkit/input | Input ke model. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/metadata/subtype | Jenis tindakan Genkit. Untuk model, ID-nya adalah model . |
genkit/model | Nama model. |
genkit/name | Nama tindakan Genkit ini. Dalam hal ini, nama model. |
genkit/output | Output yang dihasilkan oleh model. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/path | Jalur eksekusi yang sepenuhnya memenuhi syarat yang mengarah ke langkah ini dalam rekaman aktivitas, termasuk informasi jenis. |
genkit/state | Status eksekusi span ini sebagai success atau error . |
genkit/type | Jenis primitif Genkit yang sesuai dengan span ini. Untuk alur, ini akan berupa action . |
Alat
Nama atribut | Deskripsi |
---|---|
genkit/input | Input ke model. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/metadata/subtype | Jenis tindakan Genkit. Untuk alat, ID-nya adalah tool . |
genkit/name | Nama tindakan Genkit ini. Dalam hal ini, nama model. |
genkit/output | Output yang dihasilkan oleh model. Nilai ini akan selalu <redacted> karena batas ukuran atribut rekaman aktivitas. |
genkit/path | Jalur eksekusi yang sepenuhnya memenuhi syarat yang mengarah ke langkah ini dalam rekaman aktivitas, termasuk informasi jenis. |
genkit/state | Status eksekusi span ini sebagai success atau error . |
genkit/type | Jenis primitif Genkit yang sesuai dengan span ini. Untuk alur, ini akan berupa action . |
Log
Untuk aplikasi yang di-deploy dengan Firebase Genkit Monitoring, log digunakan untuk merekam metadata input, output, dan konfigurasi yang memberikan detail lengkap tentang setiap langkah dalam fitur AI Anda.
Semua log akan menyertakan kolom metadata bersama berikut:
Nama kolom | Deskripsi |
---|---|
insertId | ID unik untuk entri log |
jsonPayload | Penampung untuk informasi variabel yang unik untuk setiap jenis log |
label | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | Waktu log diterima oleh Cloud |
referensi | Informasi tentang sumber log, termasuk region informasi deployment, dan projectId |
tingkat keseriusan, | Level log yang ditulis. Lihat LogSeverity Cloud |
spanId | ID untuk span yang membuat log ini |
timestamp | Waktu klien mencatat pesan |
pelacakan | ID untuk rekaman aktivitas format projects/<project-id>/traces/<trace-id> |
traceSampled | Boolean yang menunjukkan apakah rekaman aktivitas diambil sampelnya. Log tidak diambil sampelnya. |
Setiap jenis log akan memiliki payload json yang berbeda yang dijelaskan di setiap bagian.
Input
Payload JSON:
Nama kolom | Deskripsi |
---|---|
message | [genkit] Input[<path>, <featureName>] termasuk (message X of N) untuk pesan multi-bagian |
metadata | Konteks tambahan termasuk pesan input yang dikirim ke tindakan |
Metadata:
Nama kolom | Deskripsi |
---|---|
konten | Konten pesan input yang dikirim ke tindakan Genkit ini |
featureName | Nama flow, tindakan, alat, utilitas, atau helper Genkit. |
messageIndex * | Indeks yang menunjukkan urutan pesan untuk input yang berisi beberapa pesan. Untuk pesan tunggal, nilai ini akan selalu 0. |
model * | Nama model. |
jalur | Jalur eksekusi yang menghasilkan log ini dalam format step1 > step2 > step3 |
partIndex * | Indeks yang menunjukkan urutan bagian dalam pesan untuk pesan multi-bagian. Hal ini biasanya terjadi saat menggabungkan teks dan gambar dalam satu input. |
qualifiedPath | Jalur eksekusi yang menghasilkan log ini, termasuk informasi jenis format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | Jumlah total pesan untuk input ini. Untuk pesan tunggal, nilai ini akan selalu 1. |
totalParts * | Jumlah total bagian untuk pesan ini. Untuk pesan satu bagian, nilai ini akan selalu 1. |
(*) Item berbintang hanya ada di Log input untuk interaksi model.
Output
Payload JSON:
Nama kolom | Deskripsi |
---|---|
message | [genkit] Output[<path>, <featureName>] termasuk (message X of N) untuk pesan multi-bagian |
metadata | Konteks tambahan termasuk pesan input yang dikirim ke tindakan |
Metadata:
Nama kolom | Deskripsi |
---|---|
candidateIndex * (tidak digunakan lagi) | Indeks yang menunjukkan urutan kandidat untuk output yang berisi beberapa kandidat. Untuk log dengan satu kandidat, nilai ini akan selalu 0. |
konten | Pesan output yang dihasilkan oleh tindakan Genkit |
featureName | Nama flow, tindakan, alat, utilitas, atau helper Genkit. |
messageIndex * | Indeks yang menunjukkan urutan pesan untuk input yang berisi beberapa pesan. Untuk pesan tunggal, nilai ini akan selalu 0. |
model * | Nama model. |
jalur | Jalur eksekusi yang menghasilkan log ini dengan format `step1 > step2 > step3 |
partIndex * | Indeks yang menunjukkan urutan bagian dalam pesan untuk pesan multi-bagian. Hal ini biasanya terjadi saat menggabungkan teks dan gambar dalam satu output. |
qualifiedPath | Jalur eksekusi yang menghasilkan log ini, termasuk informasi jenis format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (tidak digunakan lagi) | Jumlah total kandidat yang dihasilkan sebagai output. Untuk pesan kandidat tunggal, nilai ini akan selalu 1. |
totalParts * | Jumlah total bagian untuk pesan ini. Untuk pesan satu bagian, nilai ini akan selalu 1. |
(*) Item berbintang hanya ada di Log output untuk interaksi model.
Konfigurasi
Payload JSON:
Nama kolom | Deskripsi |
---|---|
message | [genkit] Config[<path>, <featureName>] |
metadata | Konteks tambahan termasuk pesan input yang dikirim ke tindakan |
Metadata:
Nama kolom | Deskripsi |
---|---|
featureName | Nama flow, tindakan, alat, utilitas, atau helper Genkit. |
penggunaan | Nama model. |
jalur | Jalur eksekusi yang menghasilkan log ini dengan format `step1 > step2 > step3 |
qualifiedPath | Jalur eksekusi yang menghasilkan log ini, termasuk informasi jenis format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
source | Bahasa library Genkit yang digunakan. Ini akan selalu disetel ke 'ts' karena merupakan satu-satunya bahasa yang didukung. |
sourceVersion | Versi library Genkit. |
suhu | Suhu model yang digunakan. |
Jalur
Payload JSON:
Nama kolom | Deskripsi |
---|---|
message | [genkit] Paths[<path>, <featureName>] |
metadata | Konteks tambahan termasuk pesan input yang dikirim ke tindakan |
Metadata:
Nama kolom | Deskripsi |
---|---|
flowName | Nama flow, tindakan, alat, utilitas, atau helper Genkit. |
jalur | Array yang berisi semua jalur eksekusi untuk span yang dikumpulkan. |