پایش تجربهٔ کاربران واقعی (RUM)
Watchlog RUM تجربهٔ واقعی کاربران را اندازهگیری میکند: LCP/INP/CLS/TTFB، خطاهای جاوااسکریپت با Stacktrace، منابع کند و فعالیت سشنها — با فیلتر بر اساس محیط، مرورگر و دستگاه.
سناریوهای مصنوعی (Synthetic) عالیاند؛ اما RUM نشان میدهد کاربران واقعی دقیقاً چه میبینند و چه زمانی دچار افت تجربه میشوند — روی دستگاهها و شبکههای متفاوت.
ترافیک، خطا، وبوایتال و منابع — همه در یک نما.
از مسیرها به گروه خطا و سشن نمونه بپرید.
محیط، مرورگر و دستگاه را مستقل تحلیل کنید.
کنترل sampling و ماسککردن دادههای حساس.
پایش LCP/INP/CLS/TTFB به تفکیک مسیر و بازهٔ زمانی.
Fingerprint پایدار، پیام و آخرین Stacktrace.
فهرست سشنها + جزئیات رخدادها و دادههای سفارشی.
p95 مدت، اندازهٔ انتقال و نوع initiator.
تغییر سریع فیلترها و بازه برای تمرکز بهتر.
Endpoint عمومی برای نمودارها و گزارشها.
SDK را نصب کنید، Provider را اضافه کنید، تمام! (اختیاری: نصب web-vitals برای دقت بالاتر)
React + @watchlog/rum-react
npm i @watchlog/rum-react web-vitals
// src/main.tsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import { BrowserRouter, Route } from 'react-router-dom'
import { RumProvider, WatchlogRoutes } from '@watchlog/rum-react'
import App from './App'
import User from './UserPage'
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<RumProvider
config={{
app: 'test-rum-react',
apiKey: '<API-Key>',
environment: 'prod',
endpoint: 'https://api.watchlog.ir/rum',
sampleRate: 0.1,
networkSampleRate: 0.1,
enableWebVitals: true,
autoTrackInitialView: true,
captureLongTasks: true,
captureFetch: true,
captureXHR: true,
beforeSend: (ev) => {
// ماسککردن دادههای حساس در صورت نیاز
return ev
},
}}
>
<BrowserRouter>
<WatchlogRoutes>
<Route path="/" element={<App />} />
<Route path="/user/:id" element={<User />} />
</WatchlogRoutes>
</BrowserRouter>
</RumProvider>
</React.StrictMode>
)پایش LCP/INP/CLS پس از هر انتشار.
گروهبندی پیامها، مسیرهای پرتکرار و نرخ خطا.
مقایسهٔ prod/staging یا نسخهها با فیلترهای آماده.
اختیاری است؛ اما نصب آن دقت INP/CLS/LCP را افزایش میدهد.
page_view، web_vital، resource، error و رویدادهای سفارشی (در صورت ارسال شما).
نمونهبرداری، فیلترها و قلاب beforeSend برای ماسک/حذف دادهها.
بله — React (Provider + WatchlogRoutes)، Vue و Vanilla JS.
سؤال دیگری داری؟ تماس بگیر
حاضری ببینی کاربران واقعاً چه تجربهای دارند؟