Telemetri Toplama

Firebase telemetri eklentisi, metrikler, izler ve günlüklerin bir kombinasyonunu Google Cloud Observability'ye aktarır. Bu dokümanda, hangi metriklerin, izleme özelliklerinin ve günlüklerin toplanacağı ve gecikme, kotalar ve maliyet açısından ne bekleyebileceğiniz ayrıntılı olarak açıklanmaktadır.

Telemetri gecikmesi

Belirli bir çağrıdan gelen telemetrinin Firebase'de kullanılabilir hale gelmesi biraz zaman alabilir. Bu, dışa aktarma aralığınıza (varsayılan olarak 5 dakika) bağlıdır.

Kotalar ve sınırlar

Dikkate alınması gereken birkaç kota vardır:

Maliyet

Cloud Logging, Cloud Trace ve Cloud Monitoring'in cömert ücretsiz katmanları vardır. Fiyatlandırmayla ilgili ayrıntılı bilgi için aşağıdaki bağlantıları inceleyebilirsiniz:

Metrikler

Firebase telemetri eklentisi, aşağıdaki bölümlerde ayrıntılı olarak açıklanan çeşitli Genkit işlem türlerini desteklemek için çeşitli metrikler toplar.

Özellik metrikleri

Özellikler, Genkit kodunuzun üst düzey giriş noktasıdır. Çoğu durumda bu bir akış olacaktır. Aksi takdirde, bu bir izlemedeki en üst ara olacaktır.

Ad Tür Açıklama
genkit/feature/requests Sayaç İstek sayısı
genkit/feature/latency Histogram ms cinsinden yürütme gecikmesi

Her özellik metriği aşağıdaki boyutları içerir:

Ad Açıklama
ad Özelliğin adı. Çoğu durumda bu, üst düzey Genkit akışı olur.
durum Özellik isteğinin başarılı olup olmamasına bağlı olarak "success" veya "failure"
hata Yalnızca status=failure olduğunda ayarlanır. Başarısızlığa neden olan hata türünü içerir
source Genkit kaynak dili. Ör. 'ts'
sourceVersion Genkit çerçeve sürümü

İşlem metrikleri

İşlemler, Genkit'te genel bir yürütme adımını temsil eder. Bu adımların her biri için aşağıdaki metrikler izlenir:

Ad Tür Açıklama
genkit/action/requests Sayaç Bu işlemin gerçekleştirilme sayısı
genkit/action/latency Histogram ms cinsinden yürütme gecikmesi

Her işlem metriği aşağıdaki boyutları içerir:

Ad Açıklama
ad İşlemin adı
featureName Çalıştırılan üst özelliğin adı
yol Özellik kökünden bu işleme kadar olan yürütme yolu. Ör. '/myFeature/parentAction/thisAction'
durum İşlemin başarılı olup olmamasına bağlı olarak "success" veya "failure"
hata Yalnızca status=failure olduğunda ayarlanır. Başarısızlığa neden olan hata türünü içerir
source Genkit kaynak dili. Ör. 'ts'
sourceVersion Genkit çerçeve sürümü

Metrik oluşturma

Bunlar, bir modelle etkileşime geçen işlemlerle ilgili özel işlem metrikleridir. İsteklere ve gecikmeye ek olarak giriş ve çıkış da izlenir. Bu işlem, hata ayıklama ve yapılandırma ayarlarını kolaylaştıran modele özgü boyutlarla gerçekleştirilir.

Ad Tür Açıklama
genkit/ai/generate/requests Sayaç Bu modelin çağrılma sayısı
genkit/ai/generate/latency Histogram ms cinsinden yürütme gecikmesi
genkit/ai/generate/input/tokens Sayaç Giriş jetonları
genkit/ai/generate/output/tokens Sayaç Çıkış jetonları
genkit/ai/generate/input/characters Sayaç Karakter girme
genkit/ai/generate/output/characters Sayaç Çıkış karakterleri
genkit/ai/generate/input/images Sayaç Giriş resimleri
genkit/ai/generate/output/images Sayaç Çıkış resimleri
genkit/ai/generate/input/audio Sayaç Ses dosyası ekleme
genkit/ai/generate/output/audio Sayaç Ses dosyaları oluşturma

Her oluşturma metriği aşağıdaki boyutları içerir:

Ad Açıklama
modelName Modelin adı
featureName Çalıştırılan üst özelliğin adı
yol Özellik kökünden bu işleme kadar olan yürütme yolu. Ör. '/myFeature/parentAction/thisAction'
latencyMs Modelin yanıt verme süresi
durum Özellik isteğinin başarılı olup olmamasına bağlı olarak "success" veya "failure"
hata Yalnızca status=failure olduğunda ayarlanır. Başarısızlığa neden olan hata türünü içerir
source Genkit kaynak dili. Ör. 'ts'
sourceVersion Genkit çerçeve sürümü

İzler

Tüm Genkit işlemleri, yapay zeka özellikleriniz için ayrıntılı izlemeler sağlamak üzere otomatik olarak enstrümante edilir. Yerel olarak izler, Geliştirici kullanıcı arayüzünde görünür. Yayınlanan uygulamalarda aynı düzeyde görünürlük elde etmek için Firebase Genkit İzleme'yi etkinleştirin.

Aşağıdaki bölümlerde, izlemedeki belirli bir ara için Genkit işlem türüne göre hangi izleme özelliklerini bekleyebileceğiniz açıklanmaktadır.

Kök aralıkları

Kök aralıklara, tek bir aralığa kıyasla tüm izlemenin durum özelliklerinin anlamını netleştirmeye yardımcı olan özel özellikler eklenir.

Özellik adı Açıklama
genkit/feature Çalıştırılan üst özelliğin adı
genkit/isRoot Bu aralığın kök aralığı olması durumunda doğru olarak işaretlenir
genkit/rootState Genel yürütmenin durumu (success veya error). Bu, özellikle bu adımın başarısız olduğunu göstermez.

Akış

Özellik adı Açıklama
genkit/input Akışa giren giriş. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/metadata/subtype Genkit işleminin türü. Akışlar için bu alan flow olacaktır.
genkit/name Bu Genkit işleminin adı. Bu durumda, akışın adı
genkit/output Akışta oluşturulan çıkış. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/yol Tür bilgileri dahil olmak üzere, izlemede bu adıma giden tam nitelikli yürütme yolu.
genkit/state Bu aralığın yürütülmesinin durumu (success veya error).
genkit/type Bu aralığa karşılık gelen Genkit ilkel türünü belirtir. Akışlar için bu alan action olacaktır.

Util

Özellik adı Açıklama
genkit/input Util'e verilen giriş. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/name Bu Genkit işleminin adı. Bu durumda, akışın adı
genkit/output util'de oluşturulan çıkış. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/yol Tür bilgileri dahil olmak üzere, izlemede bu adıma giden tam nitelikli yürütme yolu.
genkit/state Bu aralığın yürütülmesinin durumu (success veya error).
genkit/type Bu aralığa karşılık gelen Genkit ilkel türünü belirtir. Akışlar için bu alan util olacaktır.

Model

Özellik adı Açıklama
genkit/input Modele verilen giriş. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/metadata/subtype Genkit işleminin türü. Modeller için bu alan model olacaktır.
genkit/model Modelin adı.
genkit/name Bu Genkit işleminin adı. Bu durumda modelin adı.
genkit/output Model tarafından üretilen çıkış. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/yol Tür bilgileri dahil olmak üzere, izlemede bu adıma giden tam nitelikli yürütme yolu.
genkit/state Bu aralığın yürütülmesinin durumu (success veya error).
genkit/type Bu aralığa karşılık gelen Genkit ilkel türünü belirtir. Akışlar için bu alan action olacaktır.

Araç

Özellik adı Açıklama
genkit/input Modele verilen giriş. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/metadata/subtype Genkit işleminin türü. Araçlar için tool olur.
genkit/name Bu Genkit işleminin adı. Bu durumda modelin adı.
genkit/output Model tarafından üretilen çıkış. Bu değer, izleme özelliği boyut sınırlamaları nedeniyle her zaman <redacted> olur.
genkit/yol Tür bilgileri dahil olmak üzere, izlemede bu adıma giden tam nitelikli yürütme yolu.
genkit/state Bu aralığın yürütülmesinin durumu (success veya error).
genkit/type Bu aralığa karşılık gelen Genkit ilkel türünü belirtir. Akışlar için bu alan action olacaktır.

Günlükler

Firebase Genkit İzleme ile dağıtılan uygulamalarda günlükler, yapay zeka özelliğinizin her adımı hakkında zengin ayrıntılar sağlayan giriş, çıkış ve yapılandırma meta verilerini yakalamak için kullanılır.

Tüm günlükler aşağıdaki paylaşılan meta veri alanlarını içerir:

Alan adı Açıklama
insertId Günlük girişinin benzersiz kimliği
jsonPayload Her günlük türüne özgü değişken bilgilerin kapsayıcısı
etiketler {module: genkit}
logName projects/weather-gen-test-next/logs/genkit_log
receivedTimestamp Günlüğün Cloud tarafından alındığı zaman
kaynak Dağıtım bilgileri bölgesi ve projectId dahil olmak üzere günlük kaynağıyla ilgili bilgiler
önem derecesi Yazılan günlük kaydı düzeyi. Cloud'un LogSeverity özelliğine bakın.
spanId Bu günlüğü oluşturan aralığın tanımlayıcısıdır.
zaman damgası İstemcinin mesaj kaydettiği zaman
iz projects/<project-id>/traces/<trace-id> biçiminin izlemesi için tanımlayıcı
traceSampled İzin örneklenip örneklenmediğini temsil eden boole değeri. Günlükler örneklenmez.

Her günlük türünün her bölümde açıklanan farklı bir JSON yükü vardır.

Giriş

JSON yükü:

Alan adı Açıklama
mesaj Çok parçalı mesajlar için (message X of N) dahil [genkit] Input[<path>, <featureName>]
meta veri İşleme gönderilen giriş mesajı da dahil olmak üzere ek bağlam

Meta veri:

Alan adı Açıklama
içerik Bu Genkit işlemine gönderilen giriş mesajı içeriği
featureName Genkit akışı, işlemi, aracı, yardımcı programı veya yardımcısının adı.
messageIndex * Birden fazla ileti içeren girişler için iletilerin sırasını gösteren dizin. Tek mesajlar için bu değer her zaman 0 olur.
model * Model adı.
yol Bu günlüğü oluşturan yürütme yolu (step1 > step2 > step3 biçiminde)
partIndex * Çok parçalı iletilerde, iletideki parçaların sırasını gösteren dizin. Bu durum, metin ve resimler tek bir girişte birleştirildiğinde sıklıkla görülür.
qualifiedPath Bu günlüğü oluşturan yürütme yolu (biçimin tür bilgileri dahil): /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalMessages * Bu giriş için toplam mesaj sayısı. Tek mesajlar için bu değer her zaman 1 olur.
totalParts * Bu iletideki toplam bölüm sayısı. Tek bölümlü iletilerde bu değer her zaman 1 olur.

(*) Yıldızlı öğeler yalnızca model etkileşimleri için giriş günlüklerinde bulunur.

Çıkış

JSON yükü:

Alan adı Açıklama
mesaj Çok parçalı mesajlar için (message X of N) dahil [genkit] Output[<path>, <featureName>]
meta veri İşleme gönderilen giriş mesajı da dahil olmak üzere ek bağlam

Meta veri:

Alan adı Açıklama
candidateIndex * (desteği sonlandırıldı) Birden fazla aday içeren çıkışlar için adayların sırasını gösteren dizin. Tek aday içeren günlüklerde bu değer her zaman 0 olur.
içerik Genkit işlemi tarafından oluşturulan çıkış mesajı
featureName Genkit akışı, işlemi, aracı, yardımcı programı veya yardımcısının adı.
messageIndex * Birden fazla ileti içeren girişler için iletilerin sırasını gösteren dizin. Tek mesajlar için bu değer her zaman 0 olur.
model * Model adı.
yol Bu günlüğü oluşturan yürütme yolu ("adım1 > adım2 > adım3" biçiminde)
partIndex * Çok parçalı iletilerde, iletideki parçaların sırasını gösteren dizin. Bu durum, metin ve resimler tek bir çıkışta birleştirildiğinde sıklıkla görülür.
qualifiedPath Bu günlüğü oluşturan yürütme yolu (biçimin tür bilgileri dahil): /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalCandidates * (desteği sonlandırıldı) Çıkış olarak oluşturulan toplam aday sayısı. Tek aday mesajları için bu değer her zaman 1 olur.
totalParts * Bu iletideki toplam bölüm sayısı. Tek bölümlü iletilerde bu değer her zaman 1 olur.

(*) Yıldızlı öğeler yalnızca model etkileşimlerinin çıkış günlüklerinde bulunur.

Yapılandırma

JSON yükü:

Alan adı Açıklama
mesaj [genkit] Config[<path>, <featureName>]
meta veri İşleme gönderilen giriş mesajı da dahil olmak üzere ek bağlam

Meta veri:

Alan adı Açıklama
featureName Genkit akışı, işlemi, aracı, yardımcı programı veya yardımcısının adı.
model Model adı.
yol Bu günlüğü oluşturan yürütme yolu ("adım1 > adım2 > adım3" biçiminde)
qualifiedPath Bu günlüğü oluşturan yürütme yolu (biçimin tür bilgileri dahil): /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
source Kullanılan Genkit kitaplığı dili. Yalnızca desteklenen dil olduğu için bu değer her zaman "ts" olarak ayarlanır.
sourceVersion Genkit kitaplığı sürümü.
sıcaklık Kullanılan model sıcaklığı.

Yollar

JSON yükü:

Alan adı Açıklama
mesaj [genkit] Paths[<path>, <featureName>]
meta veri İşleme gönderilen giriş mesajı da dahil olmak üzere ek bağlam

Meta veri:

Alan adı Açıklama
flowName Genkit akışı, işlemi, aracı, yardımcısı veya yardımcısının adı.
yollar Toplanan aralıklar için tüm yürütme yollarını içeren bir dizi.