Wtyczka telemetrii Firebase eksportuje kombinację danych, śladów i dzienników do Google Cloud Observability. W tym dokumencie znajdziesz szczegółowe informacje o tym, które dane, atrybuty śledzenia i logi będą zbierane, a także o tym, czego możesz się spodziewać w zakresie opóźnień, limitów i kosztów.
Opóźnienie danych telemetrycznych
Może minąć trochę czasu, zanim telemetria z danego wywołania będzie dostępna w Firebase. To zależy od interwału eksportu (domyślnie 5 minut).
Limity
Należy pamiętać o kilku ważnych limitach:
Koszt
Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają obszerne bezpłatne poziomy. Szczegółowe ceny znajdziesz pod tymi linkami:
Dane
Wtyczka telemetryi Firebase zbiera różne dane, aby obsługiwać różne typy działań Genkit wymienione w następnych sekcjach.
Dane o cechach
Funkcje to najwyższy poziom dostępu do kodu Genkit. W większości przypadków będzie to przepływ. W przeciwnym razie będzie to najwyższy przedział w śladzie.
Nazwa | Typ | Opis |
---|---|---|
genkit/feature/requests | Licznik | Liczba żądań |
genkit/feature/latency | Histogram | Czas oczekiwania w ms |
Każdy rodzaj danych zawiera te wymiary:
Nazwa | Opis |
---|---|
nazwa | Nazwa funkcji. W większości przypadków jest to najwyższy poziom Genkit |
status | „success” (udało się) lub „failure” (nie udało się) w zależności od tego, czy udało się dodać funkcję. |
błąd | Ustawiany tylko wtedy, gdy status=failure . Zawiera typ błędu, który spowodował błąd. |
źródło | Język źródłowy Genkit. 'ts' |
sourceVersion | Wersja platformy Genkit |
Dane o działaniach
Działania to ogólny krok wykonania w Genkit. Każdy z tych kroków będzie śledzony pod kątem tych danych:
Nazwa | Typ | Opis |
---|---|---|
genkit/action/requests | Licznik | Liczba przypadków wykonania tej czynności |
genkit/action/latency | Histogram | Czas oczekiwania w ms |
Każdy rodzaj danych o działaniach zawiera te wymiary:
Nazwa | Opis |
---|---|
nazwa | Nazwa działania |
featureName | Nazwa nadrzędnej funkcji, która jest wykonywana |
ścieżka | Ścieżka wykonania od katalogu głównego funkcji do tego działania, np. '/myFeature/parentAction/thisAction' |
status | „success” (skuteczne) lub „failure” (nieskuteczne) w zależności od tego, czy działanie zostało wykonane. |
błąd | Ustawiany tylko wtedy, gdy status=failure . Zawiera typ błędu, który spowodował błąd. |
źródło | Język źródłowy Genkit. 'ts' |
sourceVersion | Wersja platformy Genkit |
Generowanie danych
Są to specjalne dane o działaniach związanych z działaniami, które wchodzą w interakcję z modelem. Oprócz żądań i opóźnień śledzone są też dane wejściowe i wyjściowe, a także wymiary specyficzne dla modelu, które ułatwiają debugowanie i dostrajanie konfiguracji.
Nazwa | Typ | Opis |
---|---|---|
genkit/ai/generate/requests | Licznik | Liczba wywołań tego modelu |
genkit/ai/generate/latency | Histogram | Czas oczekiwania w ms |
genkit/ai/generate/input/tokens | Licznik | Tokeny wejściowe |
genkit/ai/generate/output/tokens | Licznik | Tokeny wyjściowe |
genkit/ai/generate/input/characters | Licznik | Wprowadzanie znaków |
genkit/ai/generate/output/characters | Licznik | Znaki wyjściowe |
genkit/ai/generate/input/images | Licznik | Obrazy wejściowe |
genkit/ai/generate/output/images | Licznik | Obrazy wyjściowe |
genkit/ai/generate/input/audio | Licznik | Wprowadzanie plików audio |
genkit/ai/generate/output/audio | Licznik | Pliki wyjściowe |
Każdy rodzaj danych zawiera te wymiary:
Nazwa | Opis |
---|---|
modelName | Nazwa modelu |
featureName | Nazwa nadrzędnej funkcji, która jest wykonywana |
ścieżka | Ścieżka wykonania od katalogu głównego funkcji do tego działania, np. '/myFeature/parentAction/thisAction' |
latencyMs | Czas odpowiedzi modelu |
status | „success” (udało się) lub „failure” (nie udało się) w zależności od tego, czy udało się dodać funkcję. |
błąd | Ustawiany tylko wtedy, gdy status=failure . Zawiera typ błędu, który spowodował błąd. |
źródło | Język źródłowy Genkit. 'ts' |
sourceVersion | Wersja platformy Genkit |
Logi czasu
Wszystkie działania Genkit są automatycznie instrumentowane, aby zapewnić szczegółowe śledzenie funkcji AI. Ścieżki są widoczne lokalnie w interfejsie dla deweloperów. W przypadku wdrożenia aplikacji włącz Monitorowanie Genkit Firebase, aby uzyskać ten sam poziom widoczności.
W sekcjach poniżej opisujemy atrybuty śledzenia, których możesz się spodziewać w zależności od typu działania Genkit w konkretnym fragmencie ścieżki.
Spany główne
Przedziały główne mają specjalne atrybuty, które pomagają rozróżnić atrybuty stanu dotyczące całego prześledzenia od atrybutów stanu dotyczących pojedynczego przedziału.
Nazwa atrybutu | Opis |
---|---|
genkit/feature | Nazwa nadrzędnej funkcji, która jest wykonywana |
genkit/isRoot | Oznaczone jako true, jeśli ten element jest elementem głównym. |
genkit/rootState | Stan ogólnego wykonania jako success lub error . Nie oznacza to, że ten krok nie powiódł. |
Płynięcie
Nazwa atrybutu | Opis |
---|---|
genkit/input | Dane wejściowe przepływu. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/metadata/subtype | Typ działania Genkit. W przypadku przepływów będzie to flow . |
genkit/name | Nazwa tej akcji Genkit. W tym przypadku nazwa przepływu |
genkit/output | Dane wyjściowe wygenerowane w przepływie. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/ścieżka | Pełna ścieżka wykonania, która prowadzi do tego kroku w śladzie, w tym informacje o typie. |
genkit/state | Stan wykonania tego elementu: success lub error . |
genkit/type | Typ prymitywu Genkit odpowiadający temu zakresowi. W przypadku przepływów jest to action . |
Util
Nazwa atrybutu | Opis |
---|---|
genkit/input | Dane wejściowe dla funkcji. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/name | Nazwa tej akcji Genkit. W tym przypadku nazwa przepływu |
genkit/output | Dane wyjściowe wygenerowane w util. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/ścieżka | Pełna ścieżka wykonania, która prowadzi do tego kroku w śladzie, w tym informacje o typie. |
genkit/state | Stan wykonania tego elementu: success lub error . |
genkit/type | Typ prymitywu Genkit odpowiadający temu zakresowi. W przypadku przepływów jest to util . |
Model
Nazwa atrybutu | Opis |
---|---|
genkit/input | Dane wejściowe modelu. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/metadata/subtype | Typ działania Genkit. W przypadku modeli będzie to model . |
genkit/model | Nazwa modelu. |
genkit/name | Nazwa tej akcji Genkit. W tym przypadku nazwa modelu. |
genkit/output | Dane wyjściowe wygenerowane przez model. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/ścieżka | Pełna ścieżka wykonania, która prowadzi do tego kroku w śladzie, w tym informacje o typie. |
genkit/state | Stan wykonania tego elementu: success lub error . |
genkit/type | Typ prymitywu Genkit odpowiadający temu zakresowi. W przypadku przepływów jest to action . |
Narzędzie
Nazwa atrybutu | Opis |
---|---|
genkit/input | Dane wejściowe modelu. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/metadata/subtype | Typ działania Genkit. W przypadku narzędzi jest to tool . |
genkit/name | Nazwa tej akcji Genkit. W tym przypadku nazwa modelu. |
genkit/output | Dane wyjściowe wygenerowane przez model. Zawsze będzie to <redacted> z powodu limitów rozmiaru atrybutów ścieżki. |
genkit/ścieżka | Pełna ścieżka wykonania, która prowadzi do tego kroku w śladzie, w tym informacje o typie. |
genkit/state | Stan wykonania tego elementu: success lub error . |
genkit/type | Typ prymitywu Genkit odpowiadający temu zakresowi. W przypadku przepływów jest to action . |
Logi
W przypadku wdrożenia aplikacji z wykorzystaniem Firebase Genkit Monitoring stosowane są dzienniki, które służą do rejestrowania metadanych dotyczących danych wejściowych, danych wyjściowych i konfiguracji. Zapewniają one szczegółowe informacje o każdym kroku funkcji AI.
Wszystkie logi będą zawierać te wspólne pola metadanych:
Nazwa pola | Opis |
---|---|
insertId | Unikalny identyfikator wpisu dziennika |
jsonPayload | kontener na informacje o zmiennych, które są unikalne dla każdego typu dziennika; |
etykiety | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | Czas otrzymania dziennika przez Cloud |
zasób | Informacje o źródle pliku dziennika, w tym region informacji o wdrożeniu i identyfikator projektu (projectId) |
wagi, | Zapisywany poziom logowania. Zapoznaj się z poważnymi logami w Google Cloud. |
spanId | Identyfikator zakresu, który utworzył ten dziennik |
sygnatura czasowa | Czas, w którym klient wysłał wiadomość |
ślad | Identyfikator ścieżki w formacie projects/<project-id>/traces/<trace-id> |
traceSampled | Wartość logiczna wskazująca, czy ślad został próbkowany. Logi nie są próbkowane. |
Każdy typ dziennika będzie miał inny ładunek JSON opisany w każdej sekcji.
Dane wejściowe
Ładunek JSON:
Nazwa pola | Opis |
---|---|
wiadomość | [genkit] Input[<path>, <featureName>] , w tym (message X of N) w przypadku wiadomości wieloczęściowych |
metadane | Dodatkowy kontekst, w tym wiadomość z danymi wejściowymi wysłana do działania |
Metadane:
Nazwa pola | Opis |
---|---|
treść | Treść wiadomości wejściowej wysłanej do tej akcji Genkit |
featureName | Nazwa procesu, działania, narzędzia, narzędzia pomocniczego lub pomocnika Genkit. |
messageIndex * | Indeks wskazujący kolejność wiadomości w przypadku danych wejściowych zawierających wiele wiadomości. W przypadku pojedynczych wiadomości wartość ta zawsze wynosi 0. |
model * | Nazwa modelu. |
ścieżka | Ścieżka wykonania, która wygenerowała ten dziennik w formacie step1 > step2 > step3 |
partIndex * | Indeks wskazujący kolejność części w wiadomościach wieloczęściowych. Jest to typowe, gdy łączysz tekst i obrazy w jednym wejściu. |
qualifiedPath | Ścieżka wykonania, która wygenerowała ten dziennik, w tym informacje o typie w formacie: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | Łączna liczba wiadomości dla tego wejścia. W przypadku pojedynczych wiadomości wartość ta zawsze wynosi 1. |
totalParts * | Łączna liczba części tego komunikatu. W przypadku wiadomości jednoczęściowych wartość ta zawsze wynosi 1. |
(*) Elementy oznaczone gwiazdką znajdują się tylko w dziennikach danych wejściowych w przypadku interakcji z modelem.
Wyniki
Ładunek JSON:
Nazwa pola | Opis |
---|---|
wiadomość | [genkit] Output[<path>, <featureName>] , w tym (message X of N) w przypadku wiadomości wieloczęściowych |
metadane | Dodatkowy kontekst, w tym wiadomość z danymi wejściowymi wysłana do działania |
Metadane:
Nazwa pola | Opis |
---|---|
candidateIndex * (wycofany) | Indeks wskazujący kolejność kandydatów w przypadku danych wyjściowych zawierających wielu kandydatów. W przypadku dzienników z jednym kandydatem wartość ta zawsze wynosi 0. |
treść | Komunikat wyjściowy wygenerowany przez działanie Genkit |
featureName | Nazwa procesu, działania, narzędzia, narzędzia pomocniczego lub pomocnika Genkit. |
messageIndex * | Indeks wskazujący kolejność wiadomości w przypadku danych wejściowych zawierających wiele wiadomości. W przypadku pojedynczych wiadomości wartość ta zawsze wynosi 0. |
model * | Nazwa modelu. |
ścieżka | Ścieżka wykonania, która wygenerowała ten plik dziennika w formacie „krok1 > krok2 > krok3 |
partIndex * | Indeks wskazujący kolejność części w wiadomościach wieloczęściowych. Jest to typowe, gdy łączysz tekst i obrazy w jednym wyjściu. |
qualifiedPath | Ścieżka wykonania, która wygenerowała ten dziennik, w tym informacje o typie w formacie: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (wycofane) | Łączna liczba kandydatów wygenerowanych jako dane wyjściowe. W przypadku wiadomości dotyczących jednego kandydata wartość ta zawsze wynosi 1. |
totalParts * | Łączna liczba części tego komunikatu. W przypadku wiadomości jednoczęściowych wartość ta zawsze wynosi 1. |
(*) Elementy oznaczone gwiazdką znajdują się tylko w dziennikach danych wyjściowych interakcji z modelem.
Konfiguracja
Ładunek JSON:
Nazwa pola | Opis |
---|---|
wiadomość | [genkit] Config[<path>, <featureName>] |
metadane | Dodatkowy kontekst, w tym wiadomość z danymi wejściowymi wysłana do działania |
Metadane:
Nazwa pola | Opis |
---|---|
featureName | Nazwa procesu, działania, narzędzia, narzędzia pomocniczego lub pomocnika Genkit. |
model | Nazwa modelu. |
ścieżka | Ścieżka wykonania, która wygenerowała ten plik dziennika w formacie „krok1 > krok2 > krok3 |
qualifiedPath | Ścieżka wykonania, która wygenerowała ten dziennik, w tym informacje o typie w formacie: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
źródło | Język biblioteki Genkit. Zawsze będzie ustawiona wartość „ts”, ponieważ jest to jedyny obsługiwany język. |
sourceVersion | Wersja biblioteki Genkit. |
temperatura | Używana temperatura modelu. |
Ścieżki
Ładunek JSON:
Nazwa pola | Opis |
---|---|
wiadomość | [genkit] Paths[<path>, <featureName>] |
metadane | Dodatkowy kontekst, w tym wiadomość z danymi wejściowymi wysłana do działania |
Metadane:
Nazwa pola | Opis |
---|---|
flowName | Nazwa procesu, działania, narzędzia, narzędzia pomocniczego lub pomocnika Genkit. |
ścieżki | Tablica zawierająca wszystkie ścieżki wykonania zebranych zakresów. |