CLI
phpray to alias polecenia phpray-collector, instalowany przez install.sh oraz pakiety .deb/.rpm. Czyta ten sam plik JSONL, bufor pierścieniowy i bazę SQLite co usługa collectora, więc działa z dashboardem lub bez niego.
Stan
phpray status
Jeden ekran: każdy znaleziony plik binarny PHP i to, czy ładuje phpray.so, konfiguracja collectora, bufor pierścieniowy, plik JSONL i baza danych, czy API dashboardu odpowiada na 127.0.0.1:9191 (-addr, aby zmienić) oraz stan połączenia z Cloud (wyłączone / oczekuje / połączone / klucz odrzucony).
Gdy [input] shm_path jest wzorcem (jeden ring na pulę PHP-FPM, zob. konfiguracja collectora), wypisuje znalezione pliki ringów, a przy działającej usłudze każdy ring otwarty przez collector wraz z licznikami rekordów i przepełnień. Sekcja Dashboard / API pokazuje też stan POST /api/v1/ingest (przyjęte partie i ślady, pominięte rekordy, odrzucone żądania oraz to, czy endpoint wymaga tokenu Bearer, czy wpuszcza tylko klientów lokalnych).
Collector
config /etc/phpray/collector.toml ok
ring buffers /run/phpray/ring-* 2 found
/run/phpray/ring-1001 ok
/run/phpray/ring-1002 ok
...
Dashboard / API
http://127.0.0.1:9191/ ok (HTTP 200, 48213 traces stored)
ring buffers open in the collector: 2
/run/phpray/ring-1001 v5 31207 records, 0 dropped, 3% full
/run/phpray/ring-1002 v5 17006 records, 0 dropped, 1% full
ingest http://127.0.0.1:9191/api/v1/ingest ok (120 batches, 4180 traces, 0 records dropped, 0 requests rejected; loopback clients only)
Widoki na żywo (JSONL, bez bazy danych)
phpray tail
Strumień śladów na żywo, jak tail -f z kolorami. -f <ścieżka> (domyślnie /tmp/phpray.jsonl), -d <domena>, aby filtrować jeden serwis.
phpray top
Automatycznie odświeżana lista najwolniejszych żądań, htop dla PHP. -n 20 wpisów, -r 2 sekundy odświeżania, -w 60 okno w sekundach, -d <domena>.
phpray stats
Statystyki zbiorcze z pliku JSONL: liczba żądań, percentyle opóźnień, udział DB/HTTP. -w 60 okno w minutach.
phpray trace
Szczegóły pojedynczego żądania z podziałem w formie kaskady (PHP, SQL, HTTP, pliki, Redis).
phpray trace -d shop.example.com -n 20 # last 20 requests of a site
phpray trace -d shop.example.com -level alert # only alert-level traces
phpray trace -d shop.example.com -n1 # only requests with an N+1 pattern
phpray trace -d shop.example.com -json # raw JSON lines for scripting
Widoki z bazy danych (SQLite)
phpray import
Import pliku JSONL do bazy SQLite: -f <jsonl> -s <db>.
phpray slow-queries
Najwolniejsze odciski zapytań SQL, zdeduplikowane i zagregowane: -s <db> -n 10.
phpray agg-query
Agregaty per minuta z bazy danych: -s <db> -w 60 [-d <domena>].
phpray report
Raport diagnostyczny dla jednego serwisu, markdown lub tekst, na stdout:
phpray report -domain shop.example.com -w 60 -format markdown > report.md
Z -share ustalenia zostają opublikowane jako strona, a polecenie wypisuje odnośnik, który można komuś wysłać:
phpray report -domain shop.example.com -w 60 -share
https://app.phpray.dev/r/dklns4bdbf74bdtetbxhbxtcey
Bez konta i bez karty: działa z kolektora na wolnej licencji. Serwer opuszczają dane ustaleń, nigdy gotowy dokument — stronę składa z nich nasz szablon. Nazwa strony jest wycinana z każdego pola tekstowego, także z dowodów, więc shop.example.com/checkout/ publikuje się jako /checkout/. Adres niesie 128 bitów losowości, wygasa po 30 dniach i nie trafia do wyszukiwarek.
Parametr -share-url kieruje publikację gdzie indziej, na przykład do własnej kopii konsoli.
Usługa
phpray serve -c /etc/phpray/collector.toml -addr 127.0.0.1:9191— collector, REST API i dashboard w jednym procesie (to uruchamia unit systemd).phpray daemon -c /etc/phpray/collector.toml— sam collector, bez API.phpray token -secret <klucz> -sub <użytkownik> -role admin|user [-domains "a.com,b.com"] [-exp 720h]— wystawia token logowania do dashboardu/API.phpray control list | set -docroot <katalog> [-prefix /p] [-rate 100] [-ttl 600s] | clear -docroot <katalog> | expire— tabela profilowania na żądanie odczytywana przez rozszerzenie (konsola Cloud zapisuje tę samą tabelę przez collector).phpray update— sprawdzaphpray.dev/dl/LATEST, pobiera wydanie dla tej architektury, weryfikuje je względemSHA256SUMSi podmienia plik w miejscu, zostawiając poprzedni obok. Rozszerzenie PHP aktualizuje się osobno, przezinstall.sh.phpray version.
docs-site/docs/usage/cli.md · PHPRay 0.14Wersja polska jest tłumaczeniem angielskiego oryginału; parametry i przykłady kodu pozostają w oryginalnej składni.