Diagnostyka pozostaje u Ciebie.
Rozszerzenie, collector i dashboard działają lokalnie. Bez konta Cloud i telemetrii do producenta. O konfiguracji, dostępie do plików i danych na serwerze decydujesz Ty.
PHPRay zaczyna lokalnie: na Twoim serwerze, z historią w SQLite i własnym dashboardem. Cloud jest osobnym, świadomie włączanym połączeniem.
Sprawdź, co trafia do diagnostyki, co opuszcza serwer i jak ograniczyć zakres pomiaru. Konkretne reguły, parametry i odnośniki do dokumentacji.
Lokalna diagnostyka i eksport do Cloud mają różne granice. Reguły poniżej opisują przygotowanie danych po stronie agenta przed wysyłką do konsoli.
Rozszerzenie, collector i dashboard działają lokalnie. Bez konta Cloud i telemetrii do producenta. O konfiguracji, dostępie do plików i danych na serwerze decydujesz Ty.
Po skonfigurowaniu połączenia agent wysyła agregaty per serwis i wybrane szczegółowe ślady. Selekcja śladów oraz limity planu działają niezależnie od próbki profili funkcji.
Przesuń tabelę, aby zobaczyć wszystkie kolumny.
| Dane | Zakres i sposób przetwarzania | Zasada |
|---|---|---|
| SQL | Fingerprint zapytania Liczby i literały tekstowe są zamieniane na „?” (odcisk zapytania). Struktura zapytania pozostaje dostępna do analizy. | FINGERPRINT |
| URI | Ścieżka i nazwy parametrów Wartości parametrów query są zamieniane na „?”. Ścieżka nadal pozostaje widoczna; wykluczone ignore_uris nie są wysyłane. | WARTOŚCI MASKOWANE |
| Host / domena | Tożsamość serwisu Host służy do identyfikacji. Opcja privacy.mask_host zastępuje go identyfikatorem serwisu; domyślna wartość w konfiguracji collectora to false. | OPCJA KONFIGURACJI |
| Błędy i stos wywołań | Skrócony kontekst diagnostyczny Komunikat błędu jest przycinany. Ścieżki plików skracane od wp-content/ lub vendor/. Przycięcie nie usuwa wszystkich potencjalnych sekretów. | WYMAGA UWAGI |
| Treści i dane odwiedzających | Poza opisanym eksportem Bez treści żądań i odpowiedzi, cookies, IP odwiedzających oraz identyfikatorów użytkowników. Nagłówki są pomijane poza wyjątkiem tożsamości Host. | NIEWYSYŁANE |
Maskowanie wartości query nie usuwa danych ze ścieżki URL. Skracanie komunikatów błędów nie oznacza pełnej anonimizacji. Sprawdź nazewnictwo URL, komunikaty i wykluczenia przed włączeniem eksportu.
Dane ilustracyjne pokazują fingerprint SQL oraz zamaskowane wartości query. Przełącznik zmienia wyłącznie ten przykład; nie konfiguruje serwera.
{
"host": "store.example.com",
"uri": "/checkout/?order=?&source=?",
"queries": [
{
"sql": "SELECT meta_value FROM wp_postmeta WHERE post_id = ? AND meta_key = ?"
}
]
}Host pozostaje widoczny w przykładzie.
Lokalny dashboard, połączenie Cloud i ustawienia serwera mają osobne mechanizmy. Nie potrzebujesz otwartego dostępu z internetu do lokalnej konsoli.
Domyślne nasłuchiwanie na 127.0.0.1:9191, autoryzacja JWT. CLI korzysta z tej samej konfiguracji uwierzytelniania. Dostęp lokalny nie jest logowaniem do Cloud.
-addr / --listen · [auth]Dostęp do dashboarduProtokół Cloud używa klucza serwera w nagłówku Bearer. Klucz jest przypisany do jednego konta i jednego serwera; specyfikacja opisuje rotację z 24-godzinnym okresem przejściowym.
[cloud].server_keyTożsamość i protokółCollector inicjuje HTTPS do Cloud. Polecenia profilowania pobiera przez long polling. Cloud nie otwiera sesji SSH ani połączenia przychodzącego do Twojego serwera.
HTTPS · /v1/controlPołączenie z CloudUstaw własny sekret JWT, ogranicz uprawnienia do konfiguracji i plików ze śladami. Przy dostępie zdalnym zapewnij kontrolę dostępu i ochronę transportu; sama zmiana adresu nasłuchiwania (-addr) nie zapewnia tych zabezpieczeń.
Retencja lokalna i bufor eksportu to osobne ustawienia. Limity Cloud nie zastępują zasad przechowywania danych na Twoim serwerze.
Okno czasu i limit rozmiaru są niezależne. Najstarsze rekordy są usuwane, gdy zostanie osiągnięty którykolwiek z limitów. Wartości możesz zmienić w konfiguracji.
Cloud: 7 dni (Free), 30 dni (Solo, Studio), 60 dni (Agency), 90 dni (Fleet) — ślady i agregaty razem. Lokalnie: domyślnie 30 dni i twardy limit 4 GB, oba do zmiany w konfiguracji.
collector.tomlSekcja [retention] określa czas przechowywania śladów i agregatów oraz rozmiar lokalnej bazy. Poniżej wartości domyślne — kopiowanie fragmentu nie zmienia konfiguracji Twojego serwera.
[retention] days = 30 max_mb = 4096
Bufor wysyłki Cloud ma osobny limit: domyślnie 32 MB. Retencja SQLite nie opisuje polityki rotacji surowych plików JSONL ani Twoich kopii zapasowych — uwzględnij je w konfiguracji hosta.
Wpływ na aplikację jest częścią decyzji o wdrożeniu. Rozdzielamy lekką obserwację zdarzeń od dokładniejszego profilowania funkcji.
Always-on widzi zdarzenia żądania. Profilowanie funkcji sięga głębiej i jest domyślnie próbkowane.
Pozostałe 97% nie zbiera próbek funkcji. Szczegółowe ślady i eksport Cloud mają oddzielne reguły oraz limity.
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 →Aby zbadać pojedynczy problem, ogranicz profilowanie do URL lub krótkiego okna czasowego. Następnie porównaj wyniki przy tym samym obciążeniu i konfiguracji aplikacji.
Reguły próbkowania i profilowaniaStrona produktu działa w przeglądarce bez konta. Publiczne demo to prawdziwa konsola Cloud z danymi sklepu testowego, otwierana tokenem tylko do odczytu.
Strona zapisuje lokalnie tylko wybór języka i motywu. Bez konta, bez ciasteczek i bez formularzy z hasłem. Formularz kontaktowy otwiera Twój program pocztowy — treść wysyłasz sam.
Demo pod app.phpray.dev/demo to prawdziwa konsola Cloud otwarta tokenem tylko do odczytu. Widzisz dane sklepu testowego; nie da się w nim nic zmienić ani podłączyć własnego serwera.
Kod strony nie ładuje skryptów firm trzecich, zewnętrznych fontów ani bibliotek z CDN. Odwiedziny liczy nasza własna instancja Umami (stats.phpray.dev): bez ciasteczek, bez identyfikatora użytkownika, bez śledzenia między stronami, adres IP nie jest przechowywany. Serwer WWW zapisuje standardowe logi dostępu — opisane w polityce prywatności.
Dane witryny zapisane przez przeglądarkę usuniesz w jej ustawieniach. Pełne zasady dla strony, oprogramowania i Cloud opisuje polityka prywatności.
Polityka prywatnościPHPRay tworzy IQgroup Adam Buhl z Opola — firma stojąca za marką hostingową IQhost, która obsługuje 5 000 stron PHP. Produkt wdrażamy najpierw na własnych serwerach, a opis techniczny i dokumentacja są publiczne, żeby założenia dało się sprawdzić. To nie zastępuje niezależnego audytu ani certyfikatu bezpieczeństwa.
Obejrzyj przykładowe dane bez konta albo przejdź do instalacji na własnym serwerze.