Na tej stronie
Na tej stronie
Diagnostics
Flagi diagnostyczne
Flagi diagnostyczne włączają dodatkowe rejestrowanie dla jednego podsystemu bez globalnego podnoszenia poziomu logging.level. Flaga nie ma żadnego efektu, jeśli podsystem jej nie sprawdza.
Jak to działa
- Flagi są ciągami znaków niewrażliwymi na wielkość liter, pobieranymi z
diagnostics.flagsw konfiguracji oraz z nadpisania przez zmienną środowiskowąOPENCLAW_DIAGNOSTICS; duplikaty są usuwane, a litery zamieniane na małe. name.*pasuje do samegonameoraz wszystkiego poniżejname.(na przykładtelegram.*pasuje dotelegram.http).*luballwłącza każdą flagę.- Po zmianie
diagnostics.flagsw konfiguracji uruchom Gateway ponownie; konfiguracja ta nie jest przeładowywana na gorąco.
Znane flagi
| Flaga | Włącza |
|---|---|
telegram.http |
Rejestrowanie błędów HTTP interfejsu Telegram Bot API |
brave.http |
Rejestrowanie żądań, odpowiedzi i pamięci podręcznej Brave Search |
profiler |
Profiler etapu odpowiedzi i profiler serwera aplikacji Codex (oba) |
reply.profiler |
Tylko profiler etapu odpowiedzi |
codex.profiler |
Tylko profiler serwera aplikacji Codex |
timeline |
Ustrukturyzowany artefakt osi czasu JSONL (patrz poniżej) |
Włączanie przez konfigurację
Wiele flag:
Nadpisanie zmienną środowiskową (jednorazowe)
Wartości są rozdzielane przecinkami lub białymi znakami. Wartości specjalne:
| Wartość | Efekt |
|---|---|
0, false, off, none |
Wyłącza wszystkie flagi, nadpisując również konfigurację |
1, true, all, * |
Włącza każdą flagę |
OPENCLAW_DIAGNOSTICS=0 wyłącza dla danego procesu flagi pochodzące zarówno ze zmiennej środowiskowej, jak i z konfiguracji. Jest to przydatne do tymczasowego wyciszenia flagi profilera pozostawionej włączonej w konfiguracji bez edytowania pliku.
Flagi profilera
Flagi profilera sterują lekkimi przedziałami pomiaru czasu; gdy są wyłączone, nie powodują żadnego narzutu.
Włącz wszystkie przedziały kontrolowane przez profiler na czas jednego uruchomienia Gateway:
Włącz tylko przedziały profilera wysyłania odpowiedzi:
Włącz tylko przedziały profilera uruchamiania, narzędzi i wątków serwera aplikacji Codex:
profiler włącza zarówno profiler odpowiedzi, jak i profiler Codex; użyj nazw flag o węższym zakresie, aby włączyć tylko jeden z nich.
Możesz też ustawić je w konfiguracji:
Po zmianie flag konfiguracji uruchom Gateway ponownie. Aby wyłączyć flagę profilera, usuń ją z diagnostics.flags i uruchom Gateway ponownie albo uruchom proces z OPENCLAW_DIAGNOSTICS=0, aby na czas tego uruchomienia nadpisać wszystkie flagi diagnostyczne.
Artefakty osi czasu
Flaga timeline (alias: diagnostics.timeline) zapisuje ustrukturyzowane zdarzenia pomiaru czasu uruchamiania i działania w formacie JSONL na potrzeby zewnętrznych zestawów testów kontroli jakości:
Możesz też włączyć ją w konfiguracji:
Ścieżka wyjściowa zawsze pochodzi z OPENCLAW_DIAGNOSTICS_TIMELINE_PATH, nawet gdy sama flaga jest ustawiona w konfiguracji; nie istnieje klucz konfiguracji określający tę ścieżkę. Gdy timeline jest włączona wyłącznie w konfiguracji, brakuje najwcześniejszych przedziałów ładowania konfiguracji, ponieważ OpenClaw nie odczytał jej jeszcze w tym momencie; kolejne przedziały uruchamiania są rejestrowane normalnie.
OPENCLAW_DIAGNOSTICS=1, =all i =* również włączają oś czasu, ponieważ włączają każdą flagę. Użyj flagi timeline o węższym zakresie, jeśli potrzebujesz wyłącznie artefaktu JSONL, bez wszystkich pozostałych flag diagnostycznych.
Próbki opóźnienia pętli zdarzeń na osi czasu wymagają dodatkowego jawnego włączenia poza timeline: oprócz włączenia osi czasu ustaw OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 (lub on/true/yes).
Rekordy osi czasu korzystają z otoczki openclaw.diagnostics.v1 i mogą zawierać identyfikatory procesów, nazwy faz, nazwy przedziałów, czasy trwania, identyfikatory pluginów, liczby zależności, próbki opóźnienia pętli zdarzeń, nazwy operacji dostawcy, stan zakończenia procesu potomnego oraz nazwy i komunikaty błędów uruchamiania. Traktuj pliki osi czasu jako lokalne artefakty diagnostyczne; przejrzyj je przed udostępnieniem poza swoim urządzeniem.
Miejsce zapisywania dzienników
Flagi zapisują komunikaty w standardowym pliku dziennika diagnostycznego. Domyślnie:
Jeśli ustawisz logging.file, zostanie użyta podana tam ścieżka. Dzienniki są w formacie JSONL (jeden obiekt JSON w każdym wierszu). Redagowanie nadal odbywa się zgodnie z ustawieniem logging.redactSensitive. Pełny opis rozpoznawania ścieżki dziennika, rotacji i modelu redagowania zawiera sekcja Rejestrowanie.
Wyodrębnianie dzienników
Wybierz najnowszy plik dziennika:
Odfiltruj diagnostykę HTTP Telegram:
Odfiltruj diagnostykę HTTP Brave Search:
Możesz też obserwować dziennik podczas odtwarzania problemu:
W przypadku zdalnych instancji Gateway użyj zamiast tego openclaw logs --follow (patrz /cli/logs).
Uwagi
- Jeśli
logging.levelma poziom wyższy niżwarn, komunikaty kontrolowane flagami mogą zostać pominięte. Domyślny poziominfojest odpowiedni. brave.httprejestruje adresy URL i parametry zapytań żądań Brave Search, stan i czas odpowiedzi oraz zdarzenia trafienia, chybienia i zapisu w pamięci podręcznej. Nie rejestruje klucza API (przesyłanego w nagłówku żądania) ani treści odpowiedzi, ale zapytania wyszukiwania mogą zawierać dane wrażliwe.- Pozostawienie flag włączonych jest bezpieczne; wpływają one tylko na liczbę wpisów dziennika dotyczących określonego podsystemu.
- Użyj sekcji /logging, aby zmienić miejsca docelowe dzienników, poziomy i redagowanie.