hosting

GET /v1/sites/{siteId}/apm

Ranked transactions, ranked hotspots and the hourly timeline for a site.

همه نقاط پایانی hosting

احراز هویت

یک کلید API را به عنوان یک توکن حامل ارسال کنید. این کلید باید دارای مجوز sites.view باشد؛ کلیدی که فاقد آن باشد با خطای 403 رد می‌شود، نه 404.

این نقطه پایانی هیچ شناسه سازمانی را دریافت نمی‌کند. کلید شما در حال حاضر سازمان مربوطه را مشخص می‌کند و پاسخ در همان محدوده ارائه می‌شود.

امتحان کنید

هر چیزی را که داخل براکت‌های زاویه‌دار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.

curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/apm \
  -H "Authorization: Bearer zdk_live_…"

وارد شده‌اید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر می‌کند و درخواست را روی API زنده اجرا می‌کند تا بتوانید پاسخ واقعی را ببینید. این نقطه پایانی را در کنسول API باز کنید

جزئیات

Stored, aggregated PHP profiling: which **pages** cost the most server time, which **plugin, PHP function or SQL query** is eating it, and how the site's PHP execution time has moved hour by hour. ⭐ Read from rows, not from the machine. The sibling `…/performance/slow-requests` surface opens an SSH session to the worker box on every call; this one is a database query, which is why it can be rendered on a customer-facing tab without a §2.16 problem. ⛔ **An empty payload is a `200` WITH A REASON.** `enrolment_state` says which of four things happened — `unknown` (not collected yet), `enrolled` (collected, and the site was genuinely quiet), `refused` (the server would not start tracing), `unsupported` (hosting that cannot trace). A surface that cannot tell a quiet site from a feature that is switched off was the live state of the fleet on 2026-09-03: one of two boxes had zero sites enrolled and every screen said "nothing traced yet". Requires `sites.view` and the `request_profiling` entitlement, which is included on every product line. No visitor IP addresses appear in the response — the field does not exist at any layer beneath this one.

پارامترها

نامنوعالزامیچیست
siteId (path)UuidبلهSite ID (UUIDv7).
hours (query)integerخیرHow far back to aggregate (1–2160, default 24). Clamped rather than refused: a junk value answers the question that was asked with the default period.
limit (query)integerخیرHow many ranked rows per table (1–50, default 10).

پاسخ

نامنوعالزامیچیست
tracingbooleanبلهWhether the server is currently profiling this site.
enrolment_statestring<unknown, enrolled, refused, unsupported>بلهWhy there may be no data. `unknown` — not collected yet. `enrolled` — collected, and the site was genuinely quiet. `refused` — the server would not start profiling. `unsupported…
enrolment_detailstringبلهThe server's own sentence when it refused; empty otherwise.
last_collected_atstringبلهWhen we last harvested this site, or null if never.
window_hoursintegerبلهThe period these aggregates cover.
p95_duration_msintegerبلهThe 95th percentile of PHP time across EVERY request traced for this site in the window, in milliseconds. ⚠️ This is the customer's OWN traffic. It is a different quantity from…
p95_sample_countintegerبلهHow many requests `p95_duration_ms` was computed over. Shipped WITH it, always: a p95 over 30 requests and one over 30,000 are indistinguishable on screen otherwise (§2.44).
transactionsSiteApmTransaction[]بلهPages ranked by total PHP time, heaviest first.
hotspotsSiteApmHotspot[]بلهPlugins, functions and queries ranked by total PHP time.
timelineSiteApmTimelinePoint[]بلهPHP execution time by hour, oldest first.

خطاهایی که این نقطه پایانی می‌تواند برگرداند

401 · 403 · 404 · 422 · 429