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. |