Format śladu
Ślady PHPRay używają JSONL: jeden obiekt JSON w wierszu. Rozszerzenie wytwarza format odczytywany przez collector, dashboard, CLI, Cloud i wtyczkę WordPress.
Zgodny format. Wtyczka WordPress emituje taki sam rekord — zobacz dokumentację wtyczki. Odbiorca śladów rozszerzenia może przetwarzać także dane wtyczki.
Rekord
{
"v": 1,
"ts": 1789737541123,
"host": "shop.example",
"docroot": "/home/shop/public_html",
"uri": "/checkout/",
"level": "full",
"mode": "smart",
"php": "8.3.33",
"request": {
"duration_ms": 3120.5,
"cpu_ms": 912.3,
"memory_peak_mb": 128.0,
"status": 500
},
"db": {
"queries": 184,
"ms": 1820.4,
"rows": 41200,
"n1": [
{"sql": "SELECT * FROM wp_posts WHERE ID IN (?)", "count": 47, "ms": 612.0}
]
},
"http": [
{"target": "api.stripe.com", "method": "POST", "status": 200, "ms": 210.0}
],
"errors": [
{"type": "Error", "msg": "Call to undefined method ...", "file": "wp-content/plugins/x/inc/order.php", "line": 118}
],
"components": [
{"name": "plugins/woocommerce", "incl_ms": 1201.5, "self_ms": 640.1, "calls": 18800},
{"name": "theme/storefront", "incl_ms": 210.0, "self_ms": 98.4, "calls": 310}
],
"backtrace": [
{"fn": "WC_Checkout::process_order", "file": "wp-content/plugins/woocommerce/includes/class-wc-checkout.php", "line": 1430, "self_ms": 640.1}
]
}
Pola
| Pole | Znaczenie |
|---|---|
v |
wersja formatu; obecnie 1 |
ts |
początek żądania, czas Unix w milisekundach |
host, docroot, uri |
tożsamość serwisu; przykład lokalnego URI zawiera ścieżkę. Protokół ingest, sekcja 5 dopuszcza nazwy parametrów zapytania z wartościami zamienionymi na *. |
level |
summary / normal / full / alert |
mode |
tryb generujący rekord: smart / all / manual |
php |
SAPI i wersja PHP |
request |
czas rzeczywisty, CPU, pamięć, status HTTP |
db |
sumy i fingerprinty zapytań n1 zgrupowanych jako N+1; SQL bez literałów |
http[] |
wychodzące wywołania: cel, metoda, status, czas |
errors[] |
błędy PHP w żądaniu; skrócone komunikaty i ścieżki |
components[] |
komponenty i wtyczki: incl/self w ms, liczba wywołań; tylko dla profilowanego żądania |
backtrace[] |
próbki funkcji; tylko w profilowanych żądaniach full/alert z włączonym próbkowaniem |
Prywatność
SQL jest fingerprintem z zastąpionymi liczbami i literałami. Ścieżki backtrace skracane są od wp-content/ lub vendor/, bez katalogu domowego. Bez IP odwiedzających i treści żądań / odpowiedzi. Te same zasady dotyczą eksportu do Cloud — protokół ingest, sekcja 5.
docs-site/docs/usage/trace-format.md · PHPRay 0.14Wersja polska jest tłumaczeniem angielskiego oryginału; parametry i przykłady kodu pozostają w oryginalnej składni.