usage/wordpress-plugin
Wtyczka WordPress
Wtyczka PHPRay dla WordPressa daje warstwę aplikacyjną PHPRay na każdym hostingu — także współdzielonym — bez rozszerzenia PHP. Bieżąca wersja 0.1.9 jest do pobrania bezpośrednio: phpray-wordpress-0.1.9.zip (Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer). Adres /dl/phpray-wordpress.zip zawsze prowadzi do najnowszego wydania.
Zakres danych
- czas żądania w warstwie aplikacji, od uruchomienia do hooka shutdown; bez wglądu do wnętrza rozszerzeń C
- SQL przez log zapytań
$wpdb, wraz z grupowaniem N+1 - wychodzące HTTP przez filtry
http_api(WP_Http) - błędy, ostrzeżenia i notices PHP w czasie żądania
- komponenty: aktywne wtyczki, motyw i obszary rdzenia z czasem inclusive i self, pomagające wskazać kosztowny komponent checkoutu
- logika poziomów jak w rozszerzeniu: progi
smart; lokalny poziomalertnie jest próbkowany
Wtyczka produkuje ten sam rekord JSONL co rozszerzenie — zobacz format śladu. Collector, dashboard, CLI i Cloud przetwarzają oba źródła w tym samym formacie.
Ustawienia
Narzędzia → PHPRay:
- Włączone — zbieranie można wyłączyć bez dezaktywacji wtyczki
- Progi — normal/full/alert w ms, domyślnie 200/1000/3000
- Częstotliwość próbkowania — procent żądań z głęboką instrumentacją (wywołujący SQL, błędy, wywołania HTTP, podział per komponent; domyślnie 10%)
- Ignorowane URI — jeden prefiks w wierszu (np.
/wp-cron.php,/feed) - Pomiń zalogowanych administratorów — pomija żądania użytkowników z uprawnieniem
manage_options - Tryb wyjścia — zob. niżej. Endpoint i Klucz serwera dotyczą trybów
collectoricloud.
Tryby wyjścia
file— wtyczka dopisuje rekordy JSONL dowp-content/uploads/phpray/phpray.log(rotacja co 10 MB, 3 pliki). Collector na tej samej maszynie czyta ten plik ([input] jsonl_path = "<ścieżka do phpray.log>"wcollector.toml) i daje lokalny dashboard, CLI oraz wysyłkę do Cloud. Działa z każdą wersją wtyczki i collectora.cloud— działa od wtyczki 0.1.1. Wtyczka rozmawia z PHPRay Cloud bezpośrednio przez protokół ingest: partie rekordów śladów trafiają nahttps://app.phpray.dev/v1/traces(koperta zbatch_id,sent_at,agent: wp-plugin/0.1.1, każdy rekord zsite_idwyliczonym z hostahome_url()iABSPATH), a agregaty per minuta na/v1/aggregates— z nich budowany jest widok floty, wykresy i alerty. Wklej klucz serwera (prk_…) utworzony w konsoli. Jako ślady wysyłane są tylko rekordynormal/full/alert; żądaniasummarysą liczone w agregatach. Partie idą co najwyżej co 5 s (natychmiast dlaalert) po oddaniu odpowiedzi serwerowi WWW. Pole stanu w Narzędzia → PHPRay pokazuje ID serwisu, ostatnią przyjętą partię, odrzucony klucz (HTTP 401 wstrzymuje wysyłkę do zmiany klucza i zapisu), udział próbkowania zażądany przez konsolę przy przekroczeniu limitu oraz ostatni błąd.collector— działa od collectora 0.15 (wtyczka 0.1.1). Ta sama koperta jest wysyłana POST-em do lokalnego collectora nahttp://127.0.0.1:9191/api/v1/ingest(szczegóły endpointu). Rekordy idą dalej normalną ścieżką collectora: dashboard na żywo, SQLite, CLI i wysyłka do Cloud, gdy collector ma włączone[cloud]— zsite_idwtyczki, więc serwis jest ten sam, który wtyczka zarejestrowałaby w trybiecloud. Token w polu Server key wpisz tylko wtedy, gdy collector ma[auth] secret(wystaw go przezphpray token -role user); bez sekretu endpoint przyjmuje wyłącznie klientów lokalnych, a wtyczka na tej samej maszynie właśnie takim jest. Collector 0.14 nie ma endpointu ingest: z nim zostań przy trybiefile.
Granice instrumentacji
- Biblioteka userland nie widzi rdzenia PHP, rozszerzeń C ani czasu poza hookami cyklu życia aplikacji. Rozszerzenie ma szerszy zakres; wtyczka obserwuje aplikację.
- Jedna instalacja wtyczki śledzi jeden WordPress, a nie pozostałe serwisy konta lub VPS.
- Czas komponentów jest przypisywany na podstawie wywołujących SQL i HTTP (plik wtyczki lub motywu, który wywołał zapytanie lub połączenie); wtyczka nie ma profilera funkcji, więc w agregatach
self_msrówna sięincl_ms. - Rekordy są buforowane w opcji WordPressa (200 rekordów, 60 oczekujących minut) między partiami; na hostach bez
fastcgi_finish_request()/litespeed_finish_request()partia jest wysyłana po wyjściu strony, ale przed zakończeniem procesu PHP. - W trybie
smartprofilowana jest tylko wybrana próbka. Podsumowanie always-on działa dla wszystkich obsługiwanych żądań przy niewielkiej liczbie hooków; zobacz Narzut.
Źródło:
Wersja polska jest tłumaczeniem angielskiego oryginału; parametry i przykłady kodu pozostają w oryginalnej składni.
docs-site/docs/usage/wordpress-plugin.md · PHPRay 0.14Wersja polska jest tłumaczeniem angielskiego oryginału; parametry i przykłady kodu pozostają w oryginalnej składni.