PL
PHPRAY / EXPLORE

Zacznij od konkretu.

Poznaj produkt. Sprawdź dane. Wybierz zakres.

APACHE-2.0Lokalny rdzeń bez kontaCloud opcjonalnie
Przejdź do instalacji
PHPRAY / JAK TO DZIAŁA

Każde żądanie.
Kontekst do działania.

PHPRay to narzędzie do obserwacji i diagnozowania aplikacji PHP. Łączy czas wykonania, CPU, pamięć, SQL, wywołania HTTP i błędy z konkretnym żądaniem.

Zobacz, co spowalnia sklep lub API. Na profilowanej próbce sprawdź udział wtyczek i komponentów. Zacznij na własnym serwerze; Cloud dołącz wtedy, gdy potrzebujesz widoku całej floty.

Apache-2.0 Lokalny rdzeń bez konta Cloud opcjonalnie
Zbudowane przez IQgroup Adam Buhlmarka IQhost · OpoleOd kodu do danych
01

Wewnątrz PHP. Na Twoim serwerze.

Rozszerzenie zbiera zdarzenia. Collector buduje historię. Dashboard pozwala ją zbadać. Każda warstwa ma jedno konkretne zadanie.

phpray.so

Obserwuj wykonanie.

Hooki żądań oraz mysqli, PDO i cURL rejestrują to, co dzieje się w PHP. Oddzielna warstwa Observer API dostarcza próbkowane profile funkcji.

phpray-collector

Zachowaj kontekst.

Pojedynczy program w Go odczytuje bufor współdzielony lub pliki JSONL. Zapisuje SQLite, wylicza agregaty i zarządza retencją.

/api/v1/* + dashboard

Przejdź do przyczyny.

Lokalny panel i REST API udostępniają ślady, SQL oraz komponenty. Dane z jednego żądania oglądasz razem, zamiast składać je z osobnych logów.

architecture / data-flowRozwiń węzły · zmień źródło danych
TWÓJ SERWER / GRANICA LOKALNA
Proces PHPRINIT / RSHUTDOWN · mysqli / PDO · cURL

phpray.so rejestruje zdarzenia żądania, SQL, HTTP, plików i błędów. Observer API obsługuje oddzielną, próbkowaną warstwę profili.

rekord żądania
RING BUFFER · /dev/shm/phprayi/lubJSONL · /var/lib/phpray/traces
phpray-collectorGo binary · systemd

Czyta strumień, zapisuje SQLite, stosuje retencję i lokalne alerty. Domyślnie: 30 dni historii i limit bazy 4 GB.

SQLiteŚlady · SQL · agregaty 1 min

Trwała lokalna historia. Okno retencji i limit rozmiaru działają niezależnie; najstarsze rekordy są usuwane po osiągnięciu któregokolwiek limitu.

REST API/api/v1/*

Lokalny interfejs collectora dla dashboardu i CLI. Nie jest tym samym API co protokół Cloud /v1/aggregates i /v1/traces.

Lokalny dashboard127.0.0.1:9191 · JWT

Widok serwisów, śladów i komponentów. Domyślnie loopback; kontrola dostępu przez JWT. Lokalny rdzeń nie wymaga konta Cloud.

PHPRay CloudOPCJONALNIE

Domyślnie odłączony. Dane pozostają lokalnie, dopóki nie skonfigurujesz połączenia.

Diagram architektury — przełącznik nie zmienia konfiguracji serwera.

Rozwiń dowolny węzeł, aby poznać jego zakres. Pełny protokół danych →

Dane pozostają na serwerze, dopóki nie skonfigurujesz Cloud. Lokalny dashboard domyślnie nasłuchuje na loopback i używa JWT.

Konfiguracja collectora
02

Wiesz, co widzisz. I z jaką dokładnością.

Podsumowanie żądania, szczegółowy ślad i profil funkcji to różne poziomy danych. Ich zakresu nie należy ze sobą utożsamiać.

NARZUT / BEZ NIEDOMÓWIEŃ

Dwie warstwy.
Dwa różne koszty.

Always-on widzi zdarzenia żądania. Profilowanie funkcji sięga głębiej i jest domyślnie próbkowane.

100%podsumowań obsługiwanych żądań
3%domyślna próbka profili funkcji

Pozostałe 97% nie zbiera próbek funkcji. Szczegółowe ślady i eksport Cloud mają oddzielne reguły oraz limity.

Co zmierzono i czego jeszcze nie wiemy

Warunki pomiaruWstępne pomiary: WooCommerce, Storefront, 22 wtyczki, PHP 8.3 i OPcache. Naprzemienne rundy z rozszerzeniem i bez niego, na laptopie. Always-on mieścił się w szumie pomiarowym. Profilowanie wszystkich żądań kosztowało mierzalnie więcej, lecz daleko poniżej klasycznego hooka execute_ex.

Granice wnioskówTo nie jest certyfikowany benchmark ani gwarancja narzutu na Twoim serwerze. Pełna metodologia i surowe dane z dedykowanego hosta są zapowiedziane przed 1.0. Profilowanie pojedynczego URL lub okna czasowego pozwala ograniczyć zakres diagnostyki.

Źródło i ograniczenia pomiaru →
01 / REQUEST

Podsumowania obsługiwanych żądań

Always-on obejmuje żądania włączone do obserwacji. Wykluczone URI i domyślnie wyłączone CLI pozostają poza tym zakresem.

02 / TRACE

Szczegółowe ślady

Tryb i progi czasu decydują o szczegółowości zapisu. Błędy mają własną regułę. Wysyłka do Cloud podlega oddzielnej selekcji i limitom planu.

03 / PROFILE

Profile funkcji i komponentów

Domyślnie próbka 3%. Możesz na czas diagnozy objąć profilowaniem konkretny URL. Większa szczegółowość oznacza dodatkowy koszt pomiaru.

03

Od „sklep jest wolny” do konkretnego śladu.

Przejdź tę ścieżkę na danych demonstracyjnych WooCommerce. Te same pytania prowadzą analizę aplikacji PHP i API.

  1. 01

    Znajdź żądanie.

    Zacznij od URL, statusu i czasu odpowiedzi. W przykładzie POST /checkout/ kończy się błędem 500 po 842 ms.

  2. 02

    Sprawdź, gdzie znika czas.

    Oś czasu rozdziela PHP, SQL i HTTP. W zakładce SQL obejrzyj fingerprinty, powtórzenia zapytań i wzorzec N+1. Następnie sprawdź kontekst komponentu.

  3. 03

    Zmień kod. Zweryfikuj efekt.

    Po zmianie porównaj tę samą metrykę i porównywalny ruch. Widok przed/po jest dostępny od planu Studio; w demo porównasz dwa okna czasu (p95 per URI, komponenty).

    Otwórz porównanie w demo
04

Jedna metoda. Różne środowiska.

Zachowaj ten sam kontekst diagnostyczny — niezależnie od tego, czy rozwijasz sklep, API, czy opiekujesz się serwisami klientów.

COMMERCE

WordPress & WooCommerce

Checkout, admin-ajax, zapytania o produkty. Sprawdź żądanie strony, fingerprinty SQL i wzorce N+1; na profilowanej próbce zbadaj czas wtyczek i motywu.

Bez dostępu do .so: wtyczka WordPress zbiera dane na poziomie aplikacji, bez wglądu do wnętrza PHP i rozszerzeń C.
Ścieżka WordPress
APPLICATIONS & API

Aplikacje i zespoły PHP

Połącz kontekst endpointu z błędami, czasem zapytań mysqli/PDO i zewnętrznymi wywołaniami cURL. Korzystaj z lokalnego REST API i CLI w swoim procesie diagnostycznym.

VPS, serwer lub kontener: dobierz build rozszerzenia do wersji PHP, ABI i architektury środowiska.
Diagnostyka żądań
FLEET OPERATIONS

Hosting i agencje

Od jednego klienta do całego portfolio. Jedna konsola dla sklepów, aplikacji i środowisk. Pokaż klientowi serwis, URL i komponent, który wymaga uwagi.

Cloud: jedna subskrypcja dla floty, porównania od Studio, raporty white-label i API — w planach (Agency). Osobno: własna konsola Host Edition.
05

Zacznij od swojego środowiska.

Najpierw uruchom lokalny rdzeń albo sprawdź produkt na danych demo. Konto i subskrypcja Cloud nie są potrzebne do pracy lokalnej.

LINUX / VPS / ROOTLOKALNY RDZEŃ · $0

Rozszerzenie, collector i dashboard.

Pobierz skrypt instalacyjny i sprawdź jego treść przed uruchomieniem. Dokumentacja prowadzi przez wymagania, instalację i weryfikację pierwszych danych.

01 / POBIERZphpray-install.sh
curl -fsSL https://phpray.dev/install.sh -o phpray-install.sh
SHARED HOSTING

Bez roota? Sprawdź dwie drogi.

Rozszerzenie .so instaluje dostawca hostingu. Gdy jest już dostępne, konfigurujesz je w .user.ini. Dla WordPressa alternatywą jest wtyczka działająca w warstwie aplikacji.

DOCKER / CUSTOM BUILD

Dopasuj instalację do aplikacji.

Własny obraz, niestandardowa wersja PHP lub ręczne wdrożenie? Użyj instrukcji instalacji ręcznej i konfiguracji rozszerzenia.

Linux / VPS: sprawdź skrypt i uruchom02 → 03
02 / SPRAWDŹ

Przeczytaj skrypt instalacyjny.

Otwórz pobrany plik. Klawisz Q zamyka podgląd.

less phpray-install.sh
03 / URUCHOM

Zainstaluj na swoim serwerze.

Po sprawdzeniu uruchom instalator na swoim serwerze.

sudo bash phpray-install.sh
KOLEJNY KROK / OPCJONALNIE

PHPRay Cloud DOSTĘPNY

Wiele site'ów, dłuższa historia i wspólny widok floty. Włączasz połączenie jawnie; collector wysyła dane przez wychodzący HTTPS. Zakres i retencja zależą od planu.

Teraz sprawdź to na żądaniu.

Otwórz demo bez konta lub dobierz Cloud do liczby site'ów, śladów dziennie i retencji.

Dobierz plan Cloud