فرض کنید یک فروشگاه شلوغ را مدیریت میکنید. نمیتوانید همزمان در همه بخشها حضور داشته باشید؛ بنابراین ممکن است مشتری ناراضی بدون گفتن چیزی فروشگاه را ترک کند و شما هیچوقت متوجه مشکل نشوید.
کاربران اپلیکیشن نیز ممکن است هنگام مواجهه با خطا، صفحه را ببندند و بدون ثبت گزارش از برنامه خارج شوند. سنتری (Sentry) مانند سامانه هشدار فروشگاه عمل میکند: مشکل را هنگام وقوع ثبت میکند و اطلاعات لازم برای بررسی آن را در اختیارتان قرار میدهد.
سنتری ابزاری برای مشاهدهپذیری، ردیابی خطا (Error Tracking) و پایش عملکرد (Performance Monitoring) اپلیکیشن است. با استفاده از آن میتوانید خطاها و گلوگاههای عملکردی برنامه را در محیط عملیاتی شناسایی و بررسی کنید.
سنتری چه مشکلی را حل میکند؟
بدون سنتری، اشکالزدایی در محیط عملیاتی معمولاً چنین فرایندی دارد:
- کاربر گزارش میدهد که برنامه بهدرستی کار نکرده است.
- تیم فنی لاگها را بررسی میکند.
- اطلاعات موجود برای تشخیص شرایط وقوع خطا کافی نیست.
- تیم تلاش میکند خطا را بازتولید کند؛ خطایی که گاهی بازتولیدشدنی نیست.
سنتری این فاصله اطلاعاتی را کاهش میدهد. هنگام وقوع خطا، یک رخداد (Event) ثبت میکند و اطلاعات مرتبط با آن را در قالب گزارشی ساختاریافته نمایش میدهد.
این گزارش، بسته به تنظیمات SDK و اطلاعاتی که اپلیکیشن ارسال میکند، میتواند شامل موارد زیر باشد:
- محل وقوع خطا در کد؛
- پشته فراخوانی (Stack Trace)؛
- رویدادهای منتهی به خطا؛
- اطلاعات کاربر یا نشست مرتبط؛
- مرورگر، سیستمعامل و دستگاه کاربر؛
- نسخه اپلیکیشن و محیط اجرا.
این اطلاعات به تیم فنی کمک میکنند منشأ مشکل را سریعتر پیدا کند و زمان کمتری را صرف جستوجو در لاگها یا بازتولید خطا کند. البته اطلاعات هر گزارش به نحوه پیکربندی SDK بستگی دارد و ممکن است برای همه خطاها یکسان نباشد.
سنتری فقط برای خطاها نیست
مشکلات اپلیکیشن همیشه به ازکارافتادن آن محدود نمیشوند. گاهی برنامه بدون نمایش خطا کار میکند، اما یک صفحه، درخواست یا API کند است. این کندی نیز میتواند تجربه کاربران را مختل کند.
سنتری در دو زمینه اصلی به شما کمک میکند:
ردیابی خطا
سنتری خطاها، استثناها (Exception) و درخواستهای ناموفق اپلیکیشن را ثبت میکند. خطاهایی که در بخشهای مشابه کد رخ دادهاند، در قالب Issue دستهبندی میشوند تا بررسی و مدیریت آنها سادهتر باشد.
در هر Issue میتوانید جزئیات فنی خطا، تعداد دفعات وقوع و اطلاعات مرتبط با کاربران تحتتأثیر را بررسی کنید. همچنین میتوانید خطاها را فیلتر، اولویتبندی یا برای پیگیری به یکی از اعضای تیم واگذار کنید.