# سلامت نسخه > https://docs.errora.org/products/release-health خطاها می‌گویند *چه چیزی* خراب شده. سلامت نسخه می‌گوید این خرابی به *چند نفر از کاربرانتان* خورده و آیا نسخه‌ای که تازه منتشر کرده‌اید از قبلی بهتر است یا بدتر. پایهٔ آن **نشست** است: SDK وقتی برنامه به پیش‌زمینه می‌آید (یا روی سرور، وقتی درخواستی شروع می‌شود) یک نشست باز می‌کند و آن را با یک وضعیت می‌بندد. ارورا نشست‌ها را به تفکیک نسخه در صفحهٔ **نسخه‌ها** تجمیع می‌کند. ## پیش‌نیازها 1. **`release` روی همهٔ رویدادها.** SDKهای موبایل خودشان آن را می‌گذارند — `@+` در [اندروید](/platforms/android) و `@+` در [iOS](/platforms/apple-ios). در بقیهٔ پلتفرم‌ها `release` را در مقداردهی SDK تعیین کنید. 2. **ردیابی نشست روشن باشد.** در SDKهای موبایل (`enableAutoSessionTracking`) و SDK مرورگر پیش‌فرض روشن است؛ خاموشش نکنید. نشست‌ها **هرگز نمونه‌برداری نمی‌شوند، به سقف جهش نمی‌خورند و هزینه‌ای ندارند**: کوچک‌اند، و نرخ بدون کرشی که روی نمونه حساب شود غلط است. ## وضعیت نشست | وضعیت | معنی | | --- | --- | | سالم | عادی تمام شده، بدون خطا | | خطادار | دست‌کم یک خطا در طول نشست ثبت شده، اما برنامه کرش نکرده | | کرش‌کرده | با یک کرش مدیریت‌نشده تمام شده | | غیرعادی | بدون اینکه SDK بتواند ببندَدش تمام شده — سیستم‌عامل برنامه را بسته، یا ANR در اندروید | ## معیارها | معیار | تعریف | | --- | --- | | نشست‌ها / کاربران | تعداد نشست‌های شروع‌شده و کاربران یکتا (شناسهٔ کاربر یا نصب در SDK) | | نشست‌های بدون کرش | `1 − نشست‌های کرش‌کرده / نشست‌ها` | | کاربران بدون کرش | `1 − کاربرانی که نشست کرش‌کرده داشته‌اند / کاربران` | | نرخ ANR | `کاربرانی که ANR داشته‌اند / کاربران` — نشست‌های اندرویدی که با `anr_foreground` یا `anr_background` به‌طور غیرعادی تمام شده‌اند | | میزان پذیرش (adoption) | سهم این نسخه از کل نشست‌ها در بازهٔ انتخاب‌شده | | میانگین مدت نشست | میانگین طول نشست‌هایی که مدتشان را گزارش کرده‌اند | | خطادار / کرش‌کرده / غیرعادی | تعداد نشست‌ها در هر وضعیت | ## صفحهٔ نسخه‌ها **نسخه‌ها** در نوار کناری، نسخه‌هایی را که نشست فرستاده‌اند فهرست می‌کند؛ هرکدام با میزان پذیرش، نشست‌ها و کاربران بدون کرش، تعداد نشست و کاربر، تعداد خطادار/کرش‌کرده/غیرعادی، نرخ ANR و میانگین مدت، به‌علاوهٔ نموداری از بازهٔ انتخاب‌شده در طول زمان. بر اساس **محیط** و **بازهٔ زمانی** فیلتر کنید — ۲۴ ساعت، ۷، ۱۴، ۳۰ یا ۹۰ روز. نسخهٔ تازه‌ای که نسبت به نسخهٔ قبل، کاربران بدون کرش کمتری دارد نشانهٔ آن است که باید سراغ خطاهایش بروید. ## دورریخته‌شده توسط SDK SDKها **گزارش کلاینت** (client report) هم می‌فرستند: شمار چیزهایی که *پیش از* رسیدن به ارورا دور ریخته‌اند، همراه با دلیل. صفحهٔ نسخه‌ها آن‌ها را زیر عنوان **دورریخته‌شده توسط SDK** نشان می‌دهد: | دلیل | علت رایج | | --- | --- | | سرریز صف | صف ارسال SDK پر بوده | | `before_send` | تابع `beforeSend` شما `null` برگردانده | | نرخ نمونه‌برداری | نمونه‌برداری سمت کلاینت (`sampleRate`، `tracesSampleRate`) | | محدودیت نرخ | به SDK گفته شده عقب بکشد (`429`) | | خطای شبکه | رویداد تحویل داده نشده | بالا رفتن خطای شبکه در موبایل روی اتصال‌های ضعیف طبیعی است؛ اما بالا رفتن `before_send` یا سرریز صف معمولاً یعنی پیکربندی جایی تغییر کرده. ## نشست‌های حالت سرور SDKهای سمت سرور (پایتون، Node.js و دیگران) برای هر درخواست یک نشست نمی‌فرستند. آن‌ها در **حالت درخواست** (request mode) **دسته‌های نشست** از پیش تجمیع‌شده می‌فرستند (آیتم پاکت `sessions`): در هر بازهٔ زمانی، چند درخواست سالم، خطادار یا کرش‌کرده تمام شده‌اند. ارورا آن‌ها را در همان جمع نشست‌ها و نرخ‌های بدون کرش حساب می‌کند. تجمیع‌ها مدت تک‌تک نشست‌ها را ندارند، پس فقط نشست‌های منفرد در میانگین مدت نشست اثر دارند. ## عیب‌یابی | نشانه | علت / راه‌حل | | --- | --- | | صفحهٔ نسخه‌ها خالی است | هیچ نشستی نمی‌رسد — ردیابی نشست خاموش است یا `release` تعیین نشده | | نرخ ANR در iOS همیشه صفر است | نرخ ANR فقط مخصوص اندروید است؛ هنگ‌های iOS به‌صورت خطای App Hang نشان داده می‌شوند | | یک بیلد با دو نسخه نمایش داده می‌شود | رشتهٔ نسخه میان پلتفرم‌ها یا بیلدها فرق دارد — آن را یکدست نگه دارید |